History log of /seL4-l4v-master/l4v/isabelle/src/HOL/Tools/SMT/smtlib_interface.ML
Revision Date Author Comments
# ed7a971e 05-Jan-2019 wenzelm <none@none>

isabelle update -u control_cartouches;


# a4bab154 04-Jan-2019 wenzelm <none@none>

isabelle update -u control_cartouches;


# 038835b6 11-Jan-2018 wenzelm <none@none>

uniform use of Standard ML op-infix -- eliminated warnings;


# a7ccdf43 10-Jan-2018 nipkow <none@none>

ran isabelle update_op on all sources


# f9beda92 29-Aug-2017 blanchet <none@none>

towards support for HO SMT-LIB


# ab86495e 20-Jun-2017 blanchet <none@none>

correctly unfold applied 'let's (e.g. '(let x = a in f) b') -- and removed dead code


# 13ddea91 26-Nov-2014 wenzelm <none@none>

renamed "pairself" to "apply2", in accordance to @{apply 2};


# 797b3cb2 20-Nov-2014 blanchet <none@none>

always generate patterns as lists of lists, to avoid confusing CVC4 (and stick to what SMT-LIB 2 actually says)


# 22da81d0 19-Nov-2014 blanchet <none@none>

parse CVC4 unsat cores


# 207a390e 29-Sep-2014 blanchet <none@none>

simplified and repaired veriT index handling code


# 80514171 24-Sep-2014 blanchet <none@none>

interleave (co)datatypes in the right order w.r.t. dependencies


# 0695b7e6 17-Sep-2014 blanchet <none@none>

added codatatype support for CVC4


# f4f8c25c 17-Sep-2014 blanchet <none@none>

added interface for CVC4 extensions


# ac75f5e7 27-Aug-2014 blanchet <none@none>

renamed new SMT module from 'SMT2' to 'SMT'

--HG--
rename : src/HOL/SMT2.thy => src/HOL/SMT.thy
rename : src/HOL/Tools/SMT2/smt2_builtin.ML => src/HOL/Tools/SMT/smt_builtin.ML
rename : src/HOL/Tools/SMT2/smt2_config.ML => src/HOL/Tools/SMT/smt_config.ML
rename : src/HOL/Tools/SMT2/smt2_datatypes.ML => src/HOL/Tools/SMT/smt_datatypes.ML
rename : src/HOL/Tools/SMT2/smt2_failure.ML => src/HOL/Tools/SMT/smt_failure.ML
rename : src/HOL/Tools/SMT2/smt2_normalize.ML => src/HOL/Tools/SMT/smt_normalize.ML
rename : src/HOL/Tools/SMT2/smt2_real.ML => src/HOL/Tools/SMT/smt_real.ML
rename : src/HOL/Tools/SMT2/smt2_solver.ML => src/HOL/Tools/SMT/smt_solver.ML
rename : src/HOL/Tools/SMT2/smt2_systems.ML => src/HOL/Tools/SMT/smt_systems.ML
rename : src/HOL/Tools/SMT2/smt2_translate.ML => src/HOL/Tools/SMT/smt_translate.ML
rename : src/HOL/Tools/SMT2/smt2_util.ML => src/HOL/Tools/SMT/smt_util.ML
rename : src/HOL/Tools/SMT2/smtlib2.ML => src/HOL/Tools/SMT/smtlib.ML
rename : src/HOL/Tools/SMT2/smtlib2_interface.ML => src/HOL/Tools/SMT/smtlib_interface.ML
rename : src/HOL/Tools/SMT2/smtlib2_isar.ML => src/HOL/Tools/SMT/smtlib_isar.ML
rename : src/HOL/Tools/SMT2/smtlib2_proof.ML => src/HOL/Tools/SMT/smtlib_proof.ML
rename : src/HOL/Tools/SMT2/verit_isar.ML => src/HOL/Tools/SMT/verit_isar.ML
rename : src/HOL/Tools/SMT2/verit_proof.ML => src/HOL/Tools/SMT/verit_proof.ML
rename : src/HOL/Tools/SMT2/verit_proof_parse.ML => src/HOL/Tools/SMT/verit_proof_parse.ML
rename : src/HOL/Tools/SMT2/z3_new_interface.ML => src/HOL/Tools/SMT/z3_interface.ML
rename : src/HOL/Tools/SMT2/z3_new_isar.ML => src/HOL/Tools/SMT/z3_isar.ML
rename : src/HOL/Tools/SMT2/z3_new_proof.ML => src/HOL/Tools/SMT/z3_proof.ML
rename : src/HOL/Tools/SMT2/z3_new_real.ML => src/HOL/Tools/SMT/z3_real.ML
rename : src/HOL/Tools/SMT2/z3_new_replay.ML => src/HOL/Tools/SMT/z3_replay.ML
rename : src/HOL/Tools/SMT2/z3_new_replay_literals.ML => src/HOL/Tools/SMT/z3_replay_literals.ML
rename : src/HOL/Tools/SMT2/z3_new_replay_methods.ML => src/HOL/Tools/SMT/z3_replay_methods.ML
rename : src/HOL/Tools/SMT2/z3_new_replay_rules.ML => src/HOL/Tools/SMT/z3_replay_rules.ML
rename : src/HOL/Tools/SMT2/z3_new_replay_util.ML => src/HOL/Tools/SMT/z3_replay_util.ML
rename : src/HOL/Tools/Sledgehammer/sledgehammer_prover_smt2.ML => src/HOL/Tools/Sledgehammer/sledgehammer_prover_smt.ML
rename : src/HOL/Word/Tools/smt2_word.ML => src/HOL/Word/Tools/smt_word.ML


# 9b2025dc 27-Mar-2012 boehmes <none@none>

dropped support for List.distinct in binding to SMT solvers: only few applications benefited from this support, and in some cases the smt method fails due to its support for List.distinct


# 97693234 08-Jan-2011 wenzelm <none@none>

Ord_List.merge convenience;


# ead8ec93 03-Jan-2011 boehmes <none@none>

re-implemented support for datatypes (including records and typedefs);
added test cases for datatypes, records and typedefs


# 06e58f50 20-Dec-2010 boehmes <none@none>

avoid ML structure aliases (especially single-letter abbreviations)


# abf72b42 19-Dec-2010 boehmes <none@none>

removed odd decoration of built-in symbols as Vars (instead provide built-in desctructor functions along with their inverse functions);
removed odd retyping during folify (instead, keep all terms well-typed)


# 104b9a3d 19-Dec-2010 boehmes <none@none>

only linear occurrences of multiplication are treated as built-in (SMT solvers only support linear arithmetic in general);
hide internal constants z3div and z3mod;
rewrite div/mod to z3div/z3mod instead of adding extra rules characterizing div/mod in terms of z3div/z3mod


# 58e355b7 15-Dec-2010 boehmes <none@none>

re-implemented eta-expansion, lambda-lifting, and explicit application on terms (exploiting the control over the term structure);
abolished SMT interface concept in favor of solver classes (now also the translation configuration is stored in the context);
proof reconstruction is now expected to return a theorem stating False (and hence needs to discharge all hypothetical definitions);
built-in functions carry additionally their arity and their most general type;
slightly generalized the definition of fun_app


# d15f02bb 15-Dec-2010 boehmes <none@none>

re-ordered SMT normalization code (eta-normalization, lambda abstractions and partial functions will be dealt with on the term level);
added simple trigger inference mechanism;
added syntactic checks for triggers and quantifier weights;
factored out the normalization of special quantifiers (used to be in the eta-normalization part);
normalization now unfolds abs/min/max (not SMT-LIB-specific);
rules for pairs and function update are not anymore added automatically to the problem;
more aggressive rewriting of natural number operations into integer operations (minimizes the number of remaining nat-int coercions);
normalizations are now managed in a class-based manner (similar to built-in symbols)


# 4b0c0402 15-Dec-2010 boehmes <none@none>

moved SMT classes and dictionary functions to SMT_Utils


# 842af847 08-Dec-2010 boehmes <none@none>

be more flexible: store SMT built-in symbols in generic contexts (not in theory contexts)


# 1e323d7a 07-Dec-2010 boehmes <none@none>

centralized handling of built-in types and constants;
also store types and constants which are rewritten during preprocessing;
interfaces are identified by classes (supporting inheritance, at least on the level of built-in symbols);
removed term_eq in favor of type replacements: term-level occurrences of type bool are replaced by type term_bool (only for the translation)


# a7f3a07c 06-Dec-2010 boehmes <none@none>

tuned


# 86580571 24-Nov-2010 boehmes <none@none>

be more precise: only treat constant 'distinct' applied to an explicit list as built-in


# 6bf2d026 22-Nov-2010 boehmes <none@none>

added support for quantifier weight annotations


# f110f01e 29-Oct-2010 boehmes <none@none>

introduced SMT.distinct as a representation of the solvers' built-in predicate; check that SMT.distinct is always applied to an explicit list


# 393b826c 26-Oct-2010 boehmes <none@none>

joined setup of SMT solvers in one place; turned Z3-specific options into SMT options (renamed configuration options from z3_* to smt_*); more detailed SMT exception; improved SMT filter interface


# d3020384 26-Oct-2010 boehmes <none@none>

keep track of theorems initially given to SMT (even if they are rewritten); provide interface to filter theorems necessary for SMT proofs


# 86bc1118 24-Sep-2010 wenzelm <none@none>

modernized structure Ord_List;


# d03d84c6 12-Sep-2010 boehmes <none@none>

added preliminary support for SMT datatypes (for now restricted to tuples and lists); only the Z3 interface (in oracle mode) makes use of it, there is especially no Z3 proof reconstruction support for datatypes yet


# b11705e1 28-Aug-2010 haftmann <none@none>

formerly unnamed infix equality now named HOL.eq


# c91cbd4e 27-Aug-2010 haftmann <none@none>

formerly unnamed infix conjunction and disjunction now named HOL.conj and HOL.disj


# 5f258a36 26-Aug-2010 haftmann <none@none>

formerly unnamed infix impliciation now named HOL.implies


# faf264d2 12-Jul-2010 boehmes <none@none>

fixed handling of Ball/Bex: turn equalities into meta-equalities for the rewriting conversions;
added tests for Ball/Bex


# 53a0b22e 01-Jul-2010 haftmann <none@none>

"prod" and "sum" replace "*" and "+" respectively


# 961ed555 27-May-2010 boehmes <none@none>

sort signature in SMT-LIB output (improves sharing of SMT certificates: goals of the same logical structure are translated into equal SMT-LIB benchmarks)


# 4d41603e 15-May-2010 wenzelm <none@none>

incorporated further conversions and conversionals, after some minor tuning;


# 5d3ecda1 12-May-2010 boehmes <none@none>

layered SMT setup, adapted SMT clients, added further tests, made Z3 proof abstraction configurable


# 8cfb9a3f 12-May-2010 boehmes <none@none>

integrated SMT into the HOL image