#
21fef7de |
|
07-Jun-2019 |
blanchet <none@none> |
handle timeouts gracefully in 'smt' proof method (patch due to Mathias Fleury)
|
#
0c47a543 |
|
27-May-2019 |
wenzelm <none@none> |
more direct invocation of Windows exe: avoid extra bash, cygpath, exec;
|
#
ac21784c |
|
24-May-2019 |
wenzelm <none@none> |
avoid extra subprocess -- potentially more robust on Cygwin;
|
#
a4bab154 |
|
04-Jan-2019 |
wenzelm <none@none> |
isabelle update -u control_cartouches;
|
#
7110473f |
|
30-Oct-2018 |
fleury <Mathias.Fleury@mpi-inf.mpg.de> |
add reconstruction by veriT in method smt
|
#
ea4853ba |
|
28-Jan-2018 |
wenzelm <none@none> |
clarified take/drop/chop prefix/suffix;
|
#
766d11c5 |
|
22-Sep-2017 |
blanchet <none@none> |
real oracle
|
#
61f649e7 |
|
18-Oct-2016 |
wenzelm <none@none> |
clarified modules;
|
#
af6f1e98 |
|
19-May-2016 |
fleury <Mathias.Fleury@mpi-inf.mpg.de> |
better handling of veriT's 'unknown' status
|
#
64ed947a |
|
07-Mar-2016 |
wenzelm <none@none> |
File.bash_string operations in ML as in Scala -- exclusively for GNU bash, not perl and not user output; clarified treatment of whitespace in some bash scripts;
|
#
2759308d |
|
25-Sep-2015 |
wenzelm <none@none> |
moved remaining display.ML to more_thm.ML;
|
#
3e156fd9 |
|
27-Aug-2015 |
blanchet <none@none> |
generate proper error instead of exception if goal cannot be atomized
|
#
62ae9c62 |
|
18-Jul-2015 |
wenzelm <none@none> |
prefer tactics with explicit context;
|
#
a64ec6cd |
|
08-Jul-2015 |
wenzelm <none@none> |
clarified context;
|
#
99c7a9c0 |
|
08-Jul-2015 |
wenzelm <none@none> |
Variable.focus etc.: optional bindings provided by user; Subgoal.focus command: more careful treatment of user-provided bindings;
|
#
904e2f2f |
|
06-Mar-2015 |
wenzelm <none@none> |
clarified context;
|
#
740a17d4 |
|
06-Mar-2015 |
wenzelm <none@none> |
Thm.cterm_of and Thm.ctyp_of operate on local context;
|
#
f6662567 |
|
25-Apr-2015 |
blanchet <none@none> |
made CVC4 support work also without unsat cores
|
#
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
|
#
9bc2d09b |
|
02-Oct-2013 |
blanchet <none@none> |
make SMT integration slacker w.r.t. bad apples (facts)
|
#
1d64bfe5 |
|
27-Jul-2013 |
wenzelm <none@none> |
standardized aliases;
|
#
900d2734 |
|
11-Dec-2012 |
blanchet <none@none> |
made MaSh evaluation driver work with SMT solvers
|
#
fe427b22 |
|
23-Aug-2012 |
wenzelm <none@none> |
prefer classic take_prefix/take_suffix over chop_while (cf. 0659e84bdc5f);
|
#
99ba7c52 |
|
26-Jul-2012 |
blanchet <none@none> |
Z3 prints so many warnings that the very informative abnormal termination exception hardly ever gets raised -- better be more aggressive here
|
#
0534011e |
|
26-Jul-2012 |
blanchet <none@none> |
Sledgehammer already has its own ways of reporting and recovering from crashes in external provers -- no need to additionally print scores of warnings (cf. 4b0daca2bf88)
|
#
3abd2838 |
|
30-May-2012 |
boehmes <none@none> |
introduced option "z3_with_extensions" to control whether Z3's support for nonlinear arithmetic and datatypes should be enabled (including potential proof reconstruction failures)
|
#
429ef7fe |
|
23-Apr-2012 |
wenzelm <none@none> |
more standard method setup;
|
#
b24a20db |
|
27-Mar-2012 |
blanchet <none@none> |
renamed "smt_fixed" to "smt_read_only_certificates"
|
#
accf0d7e |
|
01-Mar-2012 |
boehmes <none@none> |
fine-tune intended failure of smt method when the chosen SMT solver is not installed: restrict failures to true invocations of the SMT solver and don't fail for runs based on certificates
|
#
b173aaef |
|
29-Feb-2012 |
boehmes <none@none> |
SMT fails if the chosen SMT solver is not installed
|
#
0d27b506 |
|
15-Feb-2012 |
wenzelm <none@none> |
renamed Thm.capply to Thm.apply, and Thm.cabs to Thm.lambda in conformance with similar operations in structure Term and Logic;
|
#
3fede354 |
|
14-Feb-2012 |
wenzelm <none@none> |
normalized aliases;
|
#
247df2ed |
|
02-May-2011 |
wenzelm <none@none> |
added Attrib.setup_config_XXX conveniences, with implicit setup of the background theory; proper name bindings;
|
#
eda9baa8 |
|
08-Apr-2011 |
boehmes <none@none> |
check if negating the goal is possible (avoids CTERM exception for Pure propositions)
|
#
436f6b2f |
|
14-Feb-2011 |
boehmes <none@none> |
more explicit errors to inform users about problems related to SMT solvers; fall back to remote SMT solver (if local version does not exist); extend the Z3 proof parser to accommodate for slight changes introduced by Z3 2.18
|
#
560edaea |
|
17-Jan-2011 |
boehmes <none@none> |
made Z3 the default SMT solver again
|
#
21aeb7a0 |
|
10-Jan-2011 |
boehmes <none@none> |
dropped superfluous error message
|
#
ef2d6500 |
|
08-Jan-2011 |
wenzelm <none@none> |
misc tuning and comments based on review of Theory_Data, Proof_Data, Generic_Data usage;
|
#
5dd62dd8 |
|
06-Jan-2011 |
boehmes <none@none> |
differentiate between local and remote SMT solvers (e.g., "z3" vs. "remote_z3"); turned individual SMT solvers into components; made CVC3 the default SMT solver (Z3 is licensed as "non-commercial only"); tuned smt_filter interface
|
#
06e58f50 |
|
20-Dec-2010 |
boehmes <none@none> |
avoid ML structure aliases (especially single-letter abbreviations)
|
#
9e36898a |
|
20-Dec-2010 |
boehmes <none@none> |
perform monomorphization during normalization: schematic numerals might be monomorphized into built-in numerals and then numeral normalization is required
|
#
95a93c76 |
|
17-Dec-2010 |
blanchet <none@none> |
run the SMT relevance filter only once, then run the normalization/monomorphization code once _per class_ of SMT solvers
|
#
f14d037c |
|
16-Dec-2010 |
blanchet <none@none> |
make timeout part of the SMT filter's tail
|
#
6ee04e96 |
|
16-Dec-2010 |
blanchet <none@none> |
split "smt_filter" into head and tail
|
#
5030af88 |
|
15-Dec-2010 |
boehmes <none@none> |
fixed proof reconstruction for lambda-lifted problems (which broke when the lambda-lifting code was changed to operate on terms instead of on theorems)
|
#
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
|
#
681fd023 |
|
15-Dec-2010 |
boehmes <none@none> |
added option to modify the random seed of SMT solvers
|
#
72356766 |
|
07-Dec-2010 |
boehmes <none@none> |
tuned
|
#
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)
|
#
6c627839 |
|
07-Dec-2010 |
blanchet <none@none> |
make SML/NJ happy
|
#
47bae790 |
|
06-Dec-2010 |
blanchet <none@none> |
have SMT solvers report the number of facts that they should have by default in Sledgehammer -- the information might not seem to belong there but it also belongs nowhere else, for how is Sledgehammer to know how different solvers deal with hundreds of facts?
|
#
1ff61e6a |
|
06-Dec-2010 |
blanchet <none@none> |
return all facts for CVC3 and Yices, since there is no proof parsing / unsat core extraction
|
#
49749efb |
|
03-Dec-2010 |
blanchet <none@none> |
export more information about available SMT solvers
|
#
2f10c56a |
|
30-Nov-2010 |
boehmes <none@none> |
split up Z3 models into constraints on free variables and constant definitions; reduce Z3 models by replacing unknowns with free variables and constants from the goal; remove occurrences of the hidden constant fun_app from Z3 models
|
#
2c3aca6a |
|
23-Nov-2010 |
blanchet <none@none> |
try Metis to reconstruct SMT proofs, to increase success rate and reduce dependency on (often remote) SMT solvers or certificates
|
#
c982ee42 |
|
17-Nov-2010 |
boehmes <none@none> |
use the const antiquotation for constants (this checks that the constant is declared, whereas the more general term antiquotation treats undeclared names as free variable)
|
#
981e2ce7 |
|
17-Nov-2010 |
boehmes <none@none> |
keep input and output files used to communicate with the SMT solver (for debugging purposes mainly)
|
#
f46b6402 |
|
15-Nov-2010 |
boehmes <none@none> |
renamed SMT failure: Abnormal_Termination is indeed more appropriate than Solver_Crashed
|
#
de8826a0 |
|
15-Nov-2010 |
boehmes <none@none> |
honour timeouts which are not rounded to full seconds
|
#
6072a744 |
|
15-Nov-2010 |
boehmes <none@none> |
trace more solver output before raising an exception due to a non-zero return code (avoids truncating potential counterexamples produced by Z3)
|
#
d171fbc9 |
|
12-Nov-2010 |
boehmes <none@none> |
check the return code of the SMT solver and raise an exception if the prover failed
|
#
4a31de38 |
|
12-Nov-2010 |
boehmes <none@none> |
turned SMT counterexamples into verbose messages (they had been swallowed before, following the state of smt_trace -- which is off by default), because they might be useful for the user
|
#
05ce0736 |
|
07-Nov-2010 |
boehmes <none@none> |
return the process return code along with the process outputs
|
#
b1d1d667 |
|
07-Nov-2010 |
boehmes <none@none> |
better modularization: moved SMT configuration options and diagnostics as well as SMT failure and exception into separate structures (both of which are loaded first and consequently are available to other SMT structures)
|
#
b2be3b27 |
|
04-Nov-2010 |
boehmes <none@none> |
simulate more closely the behaviour of the tactic
|
#
bd2d290c |
|
03-Nov-2010 |
boehmes <none@none> |
standardize timeout value based on reals
|
#
dc6b08bb |
|
29-Oct-2010 |
boehmes <none@none> |
optionally drop assumptions which cannot be preprocessed
|
#
6b4e2e42 |
|
29-Oct-2010 |
boehmes <none@none> |
clarified error message
|
#
2f8f8f15 |
|
26-Oct-2010 |
boehmes <none@none> |
use proper context
|
#
352dcecd |
|
26-Oct-2010 |
boehmes <none@none> |
trace assumptions before giving them to the SMT solver
|
#
fbc7a0f9 |
|
26-Oct-2010 |
boehmes <none@none> |
capture out-of-memory warnings of Z3 and turn them into proper exceptions; be more precise about SMT solver run-time: return NONE instead of ~1
|
#
1d364224 |
|
26-Oct-2010 |
boehmes <none@none> |
honor choice of either local or remote SMT solver only for smt_filter and keep default behaviour for the SMT tactic; omit messages when running smt_filter
|
#
d9477cce |
|
26-Oct-2010 |
boehmes <none@none> |
optionally force the remote version of an SMT solver to be executed
|
#
75c333b3 |
|
26-Oct-2010 |
boehmes <none@none> |
tuned
|
#
f40a829e |
|
26-Oct-2010 |
boehmes <none@none> |
added a mode to only filter assumptions used in a Z3 proof (in which no proof reconstruction is performed)
|
#
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
|
#
ba1e1620 |
|
01-Oct-2010 |
haftmann <none@none> |
chop_while replace drop_while and take_while
|
#
3e1f51b9 |
|
30-Sep-2010 |
haftmann <none@none> |
take_while, drop_while
|
#
191468cb |
|
17-Sep-2010 |
boehmes <none@none> |
add full support for datatypes to the SMT interface (only used by Z3 in oracle mode so far); added store to keep track of datatype selector functions
|
#
fcf767bf |
|
27-Aug-2010 |
wenzelm <none@none> |
more antiquotations;
|
#
7a6b0131 |
|
17-May-2010 |
wenzelm <none@none> |
prefer structure Keyword, Parse, Parse_Spec, Outer_Syntax; eliminated old-style structure aliases K = Keyword, P = Parse;
|
#
24f3e0b8 |
|
15-May-2010 |
blanchet <none@none> |
make SML/NJ happy
|
#
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
|