History log of /seL4-l4v-master/l4v/isabelle/src/HOL/Tools/Sledgehammer/sledgehammer_util.ML
Revision Date Author Comments
# 5954cb84 11-Oct-2019 wenzelm <none@none>

clarified signature;


# 708d1f47 24-Jan-2018 wenzelm <none@none>

tuned: prefer list operations over Source.source;


# 51bb5ca6 06-Jun-2017 wenzelm <none@none>

discontinued obsolete print mode;


# bb08a577 16-Dec-2016 wenzelm <none@none>

tuned signature -- more abstract type thm_node;


# 5c93eeeb 22-Sep-2016 wenzelm <none@none>

discontinued raw symbols;
discontinued Symbol.source;
use initial Symbol.explode;


# 75c0bb14 13-Aug-2016 blanchet <none@none>

killed final stops in Sledgehammer and friends


# 5dc803d8 13-Apr-2016 wenzelm <none@none>

eliminated "xname" and variants;


# 185dcd47 02-Apr-2016 wenzelm <none@none>

prefer infix operations;


# 698410c6 14-Oct-2015 blanchet <none@none>

removed too aggressive underscorization


# a99a3743 05-Oct-2015 blanchet <none@none>

further improved fine point w.r.t. replaying in the presence of chained facts and a non-empty meta-quantifier prefix + avoid printing internal names in backquotes


# 34035ccd 04-Mar-2015 wenzelm <none@none>

tuned signature -- prefer qualified names;


# de3fa953 24-Jan-2015 wenzelm <none@none>

tuned signature;


# f7bae13b 24-Jan-2015 wenzelm <none@none>

tuned message;


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

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


# c12ca051 07-Nov-2014 wenzelm <none@none>

plain value Keywords.keywords, which might be used outside theory for bootstrap purposes;
plain value Outer_Syntax within theory: parsing requires current theory context;
clarified name of Keyword.is_literal according to its semantics;
eliminated pointless type Keyword.T;
simplified @{command_spec};
clarified bootstrap keywords and syntax: take it as basis instead of side-branch;


# 514ac706 06-Nov-2014 wenzelm <none@none>

prefer explicit Keyword.keywords;


# a08c7472 05-Nov-2014 wenzelm <none@none>

eliminated pointless dynamic keywords (TTY legacy);


# df4ccf3c 05-Nov-2014 wenzelm <none@none>

explicit type Keyword.keywords;
tuned signature;


# b5dd712b 01-Nov-2014 wenzelm <none@none>

recover via scanner;
tuned signature;


# 4b9210f6 01-Nov-2014 wenzelm <none@none>

simplified -- scanning is never interactive;


# cbfdc100 08-Oct-2014 wenzelm <none@none>

added parameterized ML antiquotations @{map N}, @{fold N}, @{fold_map N}, @{split_list N};


# 97ed7d8c 21-Aug-2014 wenzelm <none@none>

tuned signature -- define some elementary operations earlier;


# 9e032e98 01-Aug-2014 blanchet <none@none>

careful when calling 'Thm.proof_body_of' -- it can throw exceptions


# 8dd14e1e 01-Aug-2014 blanchet <none@none>

peek instead of joining -- is perhaps less risky


# 59521cea 01-Aug-2014 blanchet <none@none>

generate backquotes without markup, since this confuses preplay; bump up spying version identifier;


# 8b8ba743 24-Jun-2014 blanchet <none@none>

optimized traversal of proof terms by skipping bad apples (e.g. full_exhaustive_int'.pinduct)


# 66fc1073 28-May-2014 blanchet <none@none>

more generous max number of suggestions, for more safety


# fbb77362 21-May-2014 blanchet <none@none>

reverted '|' features in MaSh -- these sounded like a good idea but never really worked


# 94e4af3c 03-Feb-2014 blanchet <none@none>

merged 'reconstructors' and 'proof methods'


# 348374bc 31-Jan-2014 blanchet <none@none>

generalized preplaying infrastructure to store various results for various methods


# fed5d9bd 31-Jan-2014 blanchet <none@none>

tuning


# d99f7dab 19-Dec-2013 blanchet <none@none>

tuning


# 70e2710a 19-Dec-2013 blanchet <none@none>

made timeouts in Sledgehammer not be 'option's -- simplified lots of code


# ac6f36d0 08-Dec-2013 blanchet <none@none>

generate problems with type classes


# b6b12af9 15-Oct-2013 blanchet <none@none>

made theorem extraction code not delve too far when looking at local fact, by relying on 'strip_thm' instead of (wrongly) reverse-engineering proof terms


# 1085271e 04-Oct-2013 blanchet <none@none>

more Sledgehammer spying -- record fact indices


# 5aada480 24-Sep-2013 blanchet <none@none>

encode goal digest in spying log (to detect duplicates)


# be10b5cc 23-Sep-2013 blanchet <none@none>

added "spy" option to Sledgehammer


# 95ef37ae 12-Jul-2013 smolkas <none@none>

removed |>! and #>!


# 11323ccf 12-Jul-2013 smolkas <none@none>

added |>! and #>! for convenient printing of timing information


# 142db0d1 09-Jul-2013 smolkas <none@none>

completely rewrote SH compress; added two parameters for experimentation/fine grained control


# e750bd28 11-May-2013 wenzelm <none@none>

prefer explicitly qualified exceptions, which is particular important for robust handlers;


# 65c30b8a 18-Feb-2013 blanchet <none@none>

implement (more) accurate computation of parents


# 34c4e0fa 31-Jan-2013 blanchet <none@none>

tuned data structure


# a0e0253d 31-Jan-2013 blanchet <none@none>

thread fact triple (MeSh, MePo, MaSh) to allow different filters in different slices


# 8bc46745 04-Jan-2013 blanchet <none@none>

refined class handling, to prevent cycles in fact graph


# d8ad6642 04-Jan-2013 blanchet <none@none>

learn from low-level, inside-class facts


# f4986e05 20-Dec-2012 blanchet <none@none>

better weight functions for MePo/MaSh etc.


# 74412286 15-Dec-2012 blanchet <none@none>

thread no timeout properly


# d69c4158 11-Dec-2012 blanchet <none@none>

merge aliased theorems in MaSh dependencies, modulo symmetry of equality


# 039cce34 27-Nov-2012 smolkas <none@none>

moved thms_of_name to Sledgehammer_Util and removed copies, updated references


# 559bb011 11-Nov-2012 blanchet <none@none>

avoid messing too much with output of "string_of_term", so that it doesn't break the yxml encoding for jEdit


# da40a1e3 12-Nov-2012 blanchet <none@none>

centralized term printing code


# 73875257 03-Aug-2012 blanchet <none@none>

cleaner temporary file cleanup for MaSh, based on tried-and-trusted code


# 4e48e0a3 20-Jul-2012 blanchet <none@none>

added "learn_from_atp" command to MaSh, for patient users


# 48ae61a7 20-Jul-2012 blanchet <none@none>

learn command in MaSh


# b8a94714 18-Jul-2012 blanchet <none@none>

more consolidation of MaSh code


# c63bc0a2 18-Jul-2012 blanchet <none@none>

drastic overhaul of MaSh data structures + fixed a few performance issues


# 928cadab 18-Jul-2012 blanchet <none@none>

more code rationalization in relevance filter


# 6e993fb8 11-Jul-2012 blanchet <none@none>

moved most of MaSh exporter code to Sledgehammer


# 4be312cd 16-Mar-2012 wenzelm <none@none>

clarified Keyword.is_keyword: union of minor and major;
misc tuning and simplification;


# 47a925bb 31-May-2011 blanchet <none@none>

first step in sharing more code between ATP and Metis translation

--HG--
rename : src/HOL/Tools/Sledgehammer/sledgehammer_atp_reconstruct.ML => src/HOL/Tools/ATP/atp_reconstruct.ML
rename : src/HOL/Tools/Sledgehammer/sledgehammer_atp_translate.ML => src/HOL/Tools/ATP/atp_translate.ML


# 68a2f159 29-May-2011 blanchet <none@none>

normalize indices in chained facts to make sure that backtick facts (which often result in different names) are recognized + changed definition of urgent messages


# d955103d 27-May-2011 blanchet <none@none>

try both "metis" and (on failure) "metisFT" in replay


# eabcf4d0 27-May-2011 blanchet <none@none>

show time taken for reconstruction


# b29f27e2 27-May-2011 blanchet <none@none>

use helpers and tweak Quickcheck's priority to it comes second (to give Solve Direct slightly more time before another prover runs)


# 9eff7436 27-May-2011 blanchet <none@none>

merge timeout messages from several ATPs into one message to avoid clutter


# a19de4ad 27-May-2011 blanchet <none@none>

fix soundness bug in Sledgehammer: distinguish params in goals from fixed variables in context


# 32cb3cf5 23-May-2011 blanchet <none@none>

eliminated more code duplication in Nitrox


# a6ca43c6 22-May-2011 blanchet <none@none>

improved Waldmeister support -- even run it by default on unit equational goals


# 5d8e243a 19-May-2011 blanchet <none@none>

improved "poly_preds_{bang,query}" by picking up good witnesses for the possible infinity of common type classes and ensuring that "?'a::type" doesn't ruin everything


# 41d25059 19-May-2011 blanchet <none@none>

reintroduced type encodings "poly_preds_{bang,query}", but this time being more liberal about type variables of known safe sorts


# c9552a40 12-May-2011 blanchet <none@none>

improve detection of quantifications over dangerous types by leveraging "is_type_surely_finite" predicate and added "prop" to the list of surely finite types


# 850ef34b 04-May-2011 blanchet <none@none>

query typedefs as well for monotonicity


# 01221ebf 04-May-2011 blanchet <none@none>

exploit inferred monotonicity


# c4f9ef65 08-Apr-2011 wenzelm <none@none>

discontinued special treatment of structure Lexicon;


# 0625979a 16-Dec-2010 blanchet <none@none>

no need to do a super-duper atomization if Metis fails afterwards anyway


# 10645e16 16-Dec-2010 blanchet <none@none>

instantiate induction rules automatically


# 14e6bac1 19-Nov-2010 wenzelm <none@none>

renamed raw "explode" function to "raw_explode" to emphasize its meaning;


# 020b02b6 03-Nov-2010 blanchet <none@none>

standardize on seconds for Nitpick and Sledgehammer timeouts


# c137d849 29-Sep-2010 blanchet <none@none>

finished renaming file and module


# b7577520 27-Sep-2010 blanchet <none@none>

rename "Clausifier" to "Meson_Clausifier" and merge with "Meson_Tactic"

--HG--
rename : src/HOL/Tools/Sledgehammer/clausifier.ML => src/HOL/Tools/Sledgehammer/meson_clausifier.ML


# 89378690 20-Sep-2010 wenzelm <none@none>

added XML.content_of convenience -- cover XML.body, which is the general situation;


# 303c5d6c 16-Sep-2010 blanchet <none@none>

move functions around


# 3e120b69 16-Sep-2010 blanchet <none@none>

avoid code duplication


# c8f33713 14-Sep-2010 blanchet <none@none>

speed up helper function


# 19ff77cf 11-Sep-2010 blanchet <none@none>

implemented Auto Sledgehammer


# f33285ae 26-Aug-2010 blanchet <none@none>

improve SPASS hack, when a clause comes from several facts


# 0737a633 26-Aug-2010 blanchet <none@none>

consider "locality" when assigning weights to facts


# 433b4150 24-Aug-2010 blanchet <none@none>

make sure that "undo_ascii_of" is the inverse of "ascii_of", also for non-printable characters -- and avoid those in ``-style facts


# be951c03 24-Aug-2010 blanchet <none@none>

clean handling of whether a fact is chained or not;
more elegant and reliable than encoding it in the name


# 1034e039 24-Aug-2010 blanchet <none@none>

quote facts whose names collide with a keyword or command name (cf. "subclass" in "Jinja/J/TypeSafe.thy")


# 035eec3c 23-Aug-2010 blanchet <none@none>

perform eta-expansion of quantifier bodies in Sledgehammer translation when needed + transform elim rules later;
it's a mistake to transform the elim rules too early because then we lose some info, e.g. "no_atp" attributes


# e2e5404e 20-Aug-2010 blanchet <none@none>

beta eta contract the Sledgehammer conjecture (and also the axioms, although this might not be needed), just like Metis does (implicitly);
another consequence of the transition to FOF


# 8cd67f76 04-Aug-2010 blanchet <none@none>

fix bug in Nitpick's "equationalize" function (the prems were ignored) + make it do some basic extensionalization


# 706bb890 28-Jul-2010 blanchet <none@none>

minor refactoring


# fb393796 27-Jul-2010 blanchet <none@none>

complete renaming of "Sledgehammer_TPTP_Format" to "ATP_Problem"


# 7bd7ffe5 26-Jul-2010 blanchet <none@none>

generate full first-order formulas (FOF) in Sledgehammer


# fa2d865b 23-Jul-2010 blanchet <none@none>

keep track of clause numbers for SPASS now that we generate FOF rather than CNF problems;
this is rather involved because the Flotter FOF-to-CNF translator is normally implicit.
We must make this an explicit step and parse the Flotter output to find out which clauses correspond to which formulas.


# d52384b5 25-Jun-2010 blanchet <none@none>

exploit "Name.desymbolize" to remove some dependencies


# 78449191 22-Jun-2010 blanchet <none@none>

removed Sledgehammer's support for the DFG syntax;
this removes 350 buggy lines from Sledgehammer. SPASS 3.5 and above support the TPTP syntax.


# 3deaeb24 14-Jun-2010 blanchet <none@none>

expect SPASS 3.7, and give a friendly warning if an older version is used


# d96c105d 02-Jun-2010 blanchet <none@none>

honor "xsymbols"


# 7a6b0131 17-May-2010 wenzelm <none@none>

prefer structure Keyword, Parse, Parse_Spec, Outer_Syntax;
eliminated old-style structure aliases K = Keyword, P = Parse;


# 2f0ed4df 28-Apr-2010 blanchet <none@none>

expand combinators in Isar proofs constructed by Sledgehammer;
this requires shuffling around a couple of functions previously defined in Refute


# 04196adc 28-Apr-2010 blanchet <none@none>

parentheses around nested cases


# 3a456f43 28-Apr-2010 blanchet <none@none>

unskolemize formulas in proof reconstruction + detect newer SPASS versions to avoid truncating identifiers if not necessary (truncating confuses proof reconstruction)


# 307d8535 27-Apr-2010 blanchet <none@none>

support Vampire definitions of constants as "let" constructs in Isar proofs


# 9ae87d8b 27-Apr-2010 blanchet <none@none>

fix types of "fix" variables to help proof reconstruction and aid readability


# 49faa59a 26-Apr-2010 blanchet <none@none>

introduced direct proof reconstruction code, eliminating the need for the "neg_clausify" method;
the code is still somewhat experimental but any exceptions it throws are catched, and Sledgehammer will still yield a one-line metis proof in case of proof reconstruction failure


# 9f19bd3c 23-Apr-2010 blanchet <none@none>

remove some bloat


# 6af6bd76 16-Apr-2010 blanchet <none@none>

Sledgehammer: the empty set of fact () should mean nothing, not unchanged


# 069b0357 16-Apr-2010 blanchet <none@none>

added original constant names to Sledgehammer internal terms + output short names if "debug" is set (for increased readability)


# bbb9d7bf 16-Apr-2010 blanchet <none@none>

store nonmangled names along with mangled type names in Sledgehammer for debugging purposes


# 2c77148c 14-Apr-2010 blanchet <none@none>

make Sledgehammer "minimize" output less confusing + round up (not down) time limits to nearest second


# 3afc9c82 29-Mar-2010 blanchet <none@none>

get rid of Polyhash, since it's no longer used


# ce60b8a2 23-Mar-2010 blanchet <none@none>

added options to Sledgehammer;
syntax: sledgehammer [options] goal_no, where "[options]" and "goal_no" are optional