History log of /seL4-l4v-master/HOL4/examples/l3-machine-code/common/Import.sml
Revision Date Author Comments
# d2b57f01 29-May-2020 Arve Gengelbach <arve.gengelbach@it.uu.se>

align numeric syntax: 'great' becomes 'greater' The earlier names are inconsistent with numSyntax and less descriptive.

The changes are:
intSyntax.great_tm -> intSyntax.greater_tm
intSyntax.dest_great -> intSyntax.dest_greater
intSyntax.mk_great -> intSyntax.mk_greater

int_arithTheory.add_to_great -> int_arithTheory.add_to_greater

realSyntax.great_tm -> realSyntax.greater_tm
realSyntax.dest_great -> realSyntax.dest_greater
realSyntax.mk_great -> realSyntax.mk_greater

github issue #629


# 382bceb2 19-Nov-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Complete purge of references to Datatype.big_record_size

Left over from 3383b4b950


# f3792510 05-Jan-2019 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

Tweaks (and some temp debug code)


# 8d2dfbce 18-Nov-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove Globals.priming.

Also remove references to it in code that isn't being tested in the
regression checking build-sequence, and so is probably bit-rotted.

Provide numvariant version of variant, which behaves like

with_flag(Globals.priming,SOME "") (variant avoids)

Document change/incompatibility in release notes.


# 3de6da44 27-Mar-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix examples/l3-machine-code


# 0d6b905d 03-Dec-2017 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update importer for latest version L3.


# 4888f523 15-Oct-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove eqtype declaration for term type


# e5fc0f36 11-Sep-2017 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Improving naming of bit-vector signed division constants.

This renaming introduces incompatibilities:

• words$word_sdiv -> words$word_quot (this is proved to be related to int_quot for a non-zero divisor).
• words$word_srem -> words$word_rem (this is proved to be related to int_rem for a non-zero divisor).
• integer_word$word_sdiv (this is a new constant defined directly in terms of int_div).
• words$word_smod -> integer_word$word_smod (this is now defined directly in terms of int_mod).


# 78579f78 24-Jul-2017 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Support more than one method of detecting floating-point underflow.

Also update the L3 importer, which can be configured for different underflow detection options.


# 037155db 12-Jul-2017 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update floating-point theory to specify exception flags for some operations.

• The flags are: DivideByZero, InvalidOp, Overflow, Precision and Underflow.
• The arithmetic operations now return a pair (flags and result).
• Native (oracle) evaluation has been overhauled. It now only applies to some 64-bit machine_ieeeTheory operations directly.
• The L3 Importer has been updated.


# 161d7acc 02-Jul-2017 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Floating-point update.

• isSignallingNan predicate is added to machine_ieeeTheory.
• The RISC-V model is simplified in places (for DIV and REM).
• The L3 import is extended to cover more operations.


# 086cbeb8 22-Jun-2017 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Minor changes within floating-point theory.

• The operations float_negate1985 and float_abs1985 have been removed.
• Added a predicate float_is_signalling and renamed float_some_nan to float_some_qnan.
• Fixed problem with EQ_tm and GT_tm being swapped in binary_ieeeSyntax.


# 3fcd2569 09-Mar-2017 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Add facility for avoiding big record in L3 theories.

This can be invoked in L3 by calling `HolExport.bigRecords false`.


# 66e1810d 12-May-2016 Ramana Kumar <ramana@member.fsf.org>

Avoid calling Theory.{new,export}_theory directly in L3 Import

By calling the versions in HolKernel instead, we enable automated
proof-recording for OpenTheory more easily.


# fe38cea7 25-Feb-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

L3 no longer makes use of bit-vector modify.


# 6ccca7af 16-Feb-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Make more of the floating-point library available to Moscow ML users.

Evaluation now works under Poly/ML. However, Poly/ML is needed for evaluation
using native floats (which is controlled through the "native ieee" trace).


# d7726677 15-Feb-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update L3 examples.

Most changes relate to Poly/ML moving to fixed-width integers.


# d17d1b96 17-Dec-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for latest version of L3.


# 6f3f50f2 27-Nov-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Further support for L3 floating-point.


# bd1997ff 26-Nov-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for latest version of L3.

Now supports floating-point square root and size conversions.


# 96edb9f3 20-Nov-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for the latest version of L3, which has additional floating-point support.

Cover IEEE754:1985 behaviour for "abs" and "neg". Also adds support for "compare", "toInt" and "fromInt" at the machine level.


# c8e51149 21-Oct-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Avoid "inventing new type variable" messages when loading Import.


# 34d6b745 19-Oct-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

When casting from a bool to a bit-vector use "v2w" instead of a conditional expression.


# abc1e3ff 06-Oct-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Minor changes to L3 importer.


# 6267d6df 26-Jun-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update L3 import.


# ddee8978 12-May-2015 Anthony Fox <anthony.fox@cl.cam.ac.uk>

L3 now supports the list update operation.


# 0c2c180e 07-Nov-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update the MIPS example.

The model should detect more instances of branches in the branch delay slot, which is categorised as being unpredictable.


# ae61d92a 23-Oct-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for compatibility with the latest version of L3.


# bbe4fa68 27-Jul-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for L3 examples.

Fixes a potential problem with the handling of word replicate.

Moves some shared code into stateLib (the register_combinations function).

Some other minor fixes.


# 5b742da2 27-Jun-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update L3 import.

Extra bit-string shifts are supported.


# 54c83795 23-Jun-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Add a bit-string rotate operation.


# 0bdca027 16-Apr-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

L3 now supports type conversions for char.


# 0861268d 12-Mar-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

The function Import.tDef now accepts a tactic (as well as a measure).

This allows L3 users to supply their own termination tactics.


# a1b20d50 04-Mar-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update L3 import.

Reverse can now operate over lists (and strings).


# 547a5cef 10-Jan-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Support for PAD_LEFT and PAD_RIGHT.


# e6eddd82 10-Dec-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Fix in the printing of BFC and BFI instructions.

Similar to the previous commit.


# eb32b366 15-Nov-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Minor update to Import code.


# 094974df 04-Oct-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Remove open_monad_syntax function.


# b3d73d40 22-Aug-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Support more ARM VFP instructions.

Adds VMOV, VCMP and VMRS.


# 982514c8 14-Aug-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update for L3 import (supporting more char/string operations).


# 92e39f49 06-Aug-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Update L3 import files.


# ab971d3f 15-May-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Automatically load monad syntax for monadic ARM (L3) model..


# 7a2254a5 14-May-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Move bitTheory into src/num/extra_theories and move evaluations theorems in wordsLib further up the build sequence.

Includes some tidying-up work.

This closes issue #120. Evaluation for "toNum" and "toString" can now be enabled by loading up stringLib (or, more precisely, ASCIInumbersLib), without the need to load up wordsLib.

This check-in can be viewed as finishing off the (many) loose ends left over from work on issue #70.


# 1b7b89d9 10-May-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Updates to l3-machine-code.

Includes a monadic version of the ARM model, which includes data aborts.


# e8bedb67 17-Apr-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Minor tweaks for l3-machine-code example.


# 89c7432e 15-Apr-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Add some ARM VFP instruction support (under l3-machine-code).


# be58d73a 15-Feb-2013 Thomas Tuerk <tt291@cl.cam.ac.uk>

execute several heuristics for pattern-matching and choose the best result
interface of pattern matching simplified


# dbcd64b5 11-Feb-2013 Thomas Tuerk <tt291@cl.cam.ac.uk>

adaption to changed interface of pattern-matching


# bb9064c1 09-Jan-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

New ARM and x86 instruction set models, with tool support for generating Hoare triples.

The new models are generated using a domain specific language; see ITP 2012 paper: "Directions in ISA Specification" (LNCS 7406).

The tools should be quite a bit faster than those found in examples/ARM/v7 and examples/machine-code. However, they are less extensive (this is work-in-progress).