History log of /seL4-l4v-10.1.1/HOL4/src/HolSmt/selftest.sml
Revision Date Author Comments
# 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).


# 8e4f09fb 12-Aug-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Prettify SmtLib's selftest; fix bug

The now-deleted word example was perhaps being proved by earlier
versions of Z3, but Z3 4.4.0 and HOL both reckon the example is
false. (Depends on definition of signed modulus and -INT_MIN.)


# 2b406ecd 06-Dec-2012 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix HolSmt’s selftest’s to cope with case-const arg-flip.

This is progress with github issue #97.


# e9ea153d 27-Aug-2012 Tjark Weber <tw333@cl.cam.ac.uk>

HOL4_{YICES,Z3}_EXECUTABLE evaluated at run-time (as opposed to compile time). Minor refactoring.


# 99a5ceb8 24-Aug-2012 Tjark Weber <tw333@cl.cam.ac.uk>

Made location of Yices and Z3 executables configurable. This allows to work
around issue #87.


# a2328149 23-Sep-2011 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Adopt ML-style syntax for case expressions and use freed up "||" for bitwise-or. See issue #24.


# 2f80fbad 02-Jun-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added SMT-LIB support for w ' i, by rewriting to (i >< i) w = 1w:word1.


# 31b01ef2 01-Jun-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added SMT-LIB support for w2w (mapped to zero_extend) and sw2sw (mapped to
sign_extend).


# 3ca0175f 01-Jun-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added warning messages to the Yices and SMT-LIB translations when type
operators or constants are treated as uninterpreted.


# 51da4e01 01-Jun-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

word_smod and bvsmod are mapped to each other again.


# 93a05dbd 28-May-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

A few more tests about word_{div,mod} etc.


# f2e12d0f 27-May-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added SMT-LIB support for word_{div,mod} and corresponding test cases.


# 34081ccb 28-Apr-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Fixed a bug where nested let clauses defining the same variable were not
translated to SMT-LIB correctly. Corresponding self-test added. Thanks to
Bernard Blackham for reporting this issue.


# 39f3a607 18-Apr-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

The SMT-LIB translation now treats operations on polymorphic word types as
uninterpreted functions.


# 522a851b 18-Apr-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Fixed abstraction of higher-order goals into first-order formulas.


# 3849d125 12-Apr-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Minor cleanup.


# f03bdfce 11-Apr-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added Yices support for LSR_BV (via simplification to LSR).


# a11279a7 11-Apr-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added SMT-LIB translation support for bit-vector rotations.


# 13815f59 11-Apr-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added SmtLib support for word shift by number (via simplification).


# 666c624a 10-Apr-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added (partial) support for shift operations that take two word arguments.


# cc40d569 08-Apr-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added word_lsl_bv (<<~) to the Yices translation. Added corresponding self-tests.
Disabled word simplification for now, and added tracing output for the
simplified goal.


# bea1ea5f 26-Feb-2011 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Major update, adding a translation from HOL to SMT-LIB 2 and enabling Z3 proof
checking again. (The latter still has some quirks, because Z3's proof
syntax is not fully SMT-LIB 2 compliant.)


# 1b26488f 26-Oct-2010 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added Yices support for bit-vector extraction with bounds larger than the word
size. Thanks to Behzad for reporting this.


# 8f132552 20-Sep-2010 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Major update, adding support for Z3 2.11 proofs (SMT-LIB 2 format).

Note that this breaks Z3 proof checking from HOL4 (for now), as no translation
from HOL4 into SMT-LIB 2 has been implemented yet.


# 49cd5cb0 03-Feb-2010 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Fixed the Yices translation of word_extract to adjust the size of the resulting
bit vector if necessary.

Added Yices support for sw2sw, typically mapping it to bv-sign-extend.

Added a test case (supplied by Yogesh Mahajan) that requires these features.


# 06c3bf84 29-Jan-2010 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Better support for sets as predicates in HolSmtLib, replacing {x | P x} by P.


# 98288e52 28-Jan-2010 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Towards support for sets as predicates.


# f679e49d 06-Jan-2010 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added Yices support for record types (field selection and update).


# 5e729573 05-Jan-2010 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Added Yices support for data types (constructors and case constants).


# 3ac7a27a 21-Oct-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Fixed a bug where def_axiom would fail on a provable term; added a self-test.


# 8cf47a52 29-Sep-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

HolSmtLib now supports the Z3 2.0 proof format.


# 793f26f5 22-Sep-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Simplified the interface to provide tactics only (use Tactical.TAC_PROOF or
similar to derive functions of type goal -> thm). Also simplified the
discharging of definitions in theorems derived by Z3.


# 27cdcd96 19-Sep-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Changed the interface to take a goal (i.e., a pair of assumption list and
conclusion) instead of a single term.

The same interface is provided by the SMT-LIB standard, which distinguishes
between assumptions and query formulas, and claims that "many SMT solvers can
process assumptions more efficiently if they are explicitly identified as
such." I don't know if that's true, but in any case, identifying them
explicitly is what we do now.


# 5cca8611 15-Sep-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

This is a major update, adding proof reconstruction for Z3 (and several smaller
improvements).


# 096ad018 02-Apr-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Fixed the Yices translation for signed vs. unsigned comparison operators on words.


# f136e612 31-Mar-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Further operations on bit vectors added to the Yices translation.


# 32ba557b 31-Mar-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Function w2w added to the Yices translation.


# 13e0f351 30-Mar-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Further operations on bit vectors added to the Yices translation.


# 3de9fd46 30-Mar-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Word types and some word functions added to the Yices translation.


# 2c9068f4 26-Mar-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Support for solver CVC3 (via SMT-LIB input syntax) added.


# 773ce019 24-Mar-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Translation to SMT-LIB format (logic AUFLIA) implemented, solver YicesSMTOracle added. A few other (minor) changes.


# e7fdf898 17-Mar-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Yices is now applied to beta-normal eta-long terms.


# 8eee44b8 15-Feb-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Support for tuple types, FST and SND added.


# 9c3eb60f 14-Feb-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Major overhaul: the translation to Yices now uses a simple dictionary for most constants. Support for binders (quantifiers, lambda abstraction) added.


# fc14888a 12-Feb-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Yices support for div and mod added; minor other changes.


# 542fa0a4 05-Feb-2009 Tjark Weber <Tjark.Weber@cl.cam.ac.uk>

Unit tests added.