History log of /seL4-l4v-master/isabelle/src/Provers/Arith/fast_lin_arith.ML
Revision Date Author Comments
# ba9cb2ae 18-Feb-2018 wenzelm <none@none>

tuned signature;


# 0c0e528e 08-Jun-2017 boehmes <none@none>

replace non-arithmetic terms by fresh variables before replaying linear-arithmetic proofs: avoid failed proof replays due to an overambitious simpset which may cause proof replay to diverge from the pre-computed proof trace


# b193b20b 04-Jun-2016 wenzelm <none@none>

Integer.lcm normalizes the sign as in HOL/GCD.thy;
tuned;


# 833e5446 01-Jun-2016 wenzelm <none@none>

tuned signature;


# 369e4785 13-Dec-2015 wenzelm <none@none>

more general types Proof.method / context_tactic;
proper context for Method.insert_tac;
tuned;


# 2759308d 25-Sep-2015 wenzelm <none@none>

moved remaining display.ML to more_thm.ML;


# e0a30cbb 09-Sep-2015 wenzelm <none@none>

simplified simproc programming interfaces;


# 0720ff94 02-Sep-2015 wenzelm <none@none>

trim context for persistent storage;


# 9a9cf694 05-Jul-2015 wenzelm <none@none>

simplified Thm.instantiate and derivatives: the LHS refers to non-certified variables -- this merely serves as index into already certified structures (or is ignored);


# 1fdf906f 01-Jun-2015 haftmann <none@none>

dropped dead code


# 34ef1352 10-Apr-2015 wenzelm <none@none>

tuned signature;


# 101397ac 09-Mar-2015 wenzelm <none@none>

eliminated dead code (cf. 5e5c36b051af);


# 65c57129 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;


# 5f318eee 04-Mar-2015 wenzelm <none@none>

clarified signature;


# 3ff7fdf2 04-Mar-2015 wenzelm <none@none>

tuned;


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

tuned signature -- prefer qualified names;


# b8d56fe6 10-Feb-2015 wenzelm <none@none>

proper context for resolve_tac, eresolve_tac, dresolve_tac, forward_tac etc.;
occasionally clarified use of context;


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

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


# 233ef912 30-Oct-2014 wenzelm <none@none>

eliminated aliases;


# d30d88ca 09-Feb-2014 nipkow <none@none>

disabled counterexample output for now; confusing because often incorrect


# e712bb09 24-May-2013 wenzelm <none@none>

tuned signature;


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

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


# 0928b2db 18-Apr-2013 wenzelm <none@none>

simplifier uses proper Proof.context instead of historic type simpset;


# 4394a396 15-Sep-2012 haftmann <none@none>

dropped some unused identifiers


# f3f5fefc 21-Mar-2012 wenzelm <none@none>

prefer explicitly qualified exception List.Empty;


# 52f44db1 27-Feb-2012 wenzelm <none@none>

clarified prems_lin_arith_tac, with subtle change of semantics: structured prems are inserted as well;


# c85f1fd4 02-Sep-2011 wenzelm <none@none>

proper config option linarith_trace;


# a9de3adb 29-Jun-2011 wenzelm <none@none>

tuned signature;


# aeb709e2 29-Jun-2011 boehmes <none@none>

linarith counterexamples now provide only valuations for variables (which should restrict the number of linarith trace messages);
control tracing of (potentially spurious) counterexamples by the configuration option "linarith_verbose" (to disable linarith traces entirely)


# 51c4b20c 27-Jun-2011 blanchet <none@none>

clarify warning message to avoid confusing beginners


# b6f9ad57 09-Jun-2011 wenzelm <none@none>

tuned signature: Name.invent and Name.invent_names;


# 6d2612c8 16-Apr-2011 wenzelm <none@none>

modernized structure Proof_Context;


# 3d5f7d6a 10-Jan-2011 wenzelm <none@none>

added merge_options convenience;


# 2125e1f2 03-Nov-2010 wenzelm <none@none>

replaced ancient sys_error by raise Fail, assuming that the latter is not handled specifically by the environment;


# 2c483e55 26-Aug-2010 wenzelm <none@none>

Fast_Lin_Arith.number_of: more conventional merge that prefers the left side -- note that former ordering wrt. serial numbers makes it depend on accidental load order;


# abc9643e 26-Aug-2010 wenzelm <none@none>

slightly more abstract data handling in Fast_Lin_Arith;


# 4f1743d8 28-Jul-2010 haftmann <none@none>

dropped dead code


# dc514061 15-May-2010 wenzelm <none@none>

less pervasive names from structure Thm;


# 4549e8d1 05-May-2010 haftmann <none@none>

farewell to old-style mem infixes -- type inference in situations with mem_int and mem_string should provide enough information to resolve the type of (op =)


# afe184c2 22-Mar-2010 boehmes <none@none>

removed warning_count (known causes for warnings have been resolved)


# 0c7a7584 22-Mar-2010 boehmes <none@none>

removed e-mail address from error message


# 458a4961 13-Mar-2010 wenzelm <none@none>

removed old CVS Ids;
tuned headers;


# 5f561fc5 09-Mar-2010 hoelzl <none@none>

Use same order of neq-elimination as in proof search.


# 5a6b6e6a 19-Feb-2010 wenzelm <none@none>

Lin_Arith.pre_tac: inherit proper simplifier context, and get rid of posthoc renaming of bound variables;


# dfa769e1 08-Nov-2009 wenzelm <none@none>

adapted Generic_Data, Proof_Data;
tuned;


# d0106d17 29-Oct-2009 wenzelm <none@none>

standardized filter/filter_out;


# 7a2427f5 27-Oct-2009 wenzelm <none@none>

eliminated some old folds;


# 26a442f9 20-Oct-2009 haftmann <none@none>

curried union as canonical list operation


# 8de45ab6 21-Oct-2009 haftmann <none@none>

dropped redundant gen_ prefix


# 68478f6d 20-Oct-2009 haftmann <none@none>

replaced old_style infixes eq_set, subset, union, inter and variants by generic versions


# 53442d69 19-Oct-2009 wenzelm <none@none>

uniform use of Integer.add/mult/sum/prod;


# 75401f7b 15-Oct-2009 wenzelm <none@none>

replaced String.concat by implode;
replaced String.concatWith by space_implode;
replaced (Seq.flat o Seq.map) by Seq.maps;
replaced List.mapPartial by map_filter;
replaced List.concat by flat;
replaced (flat o map) by maps, which produces less garbage;


# 1e5beb93 29-Sep-2009 wenzelm <none@none>

explicit indication of Unsynchronized.ref;


# 894915ec 29-Jul-2009 wenzelm <none@none>

qualified Subgoal.FOCUS;


# 66a2b18a 26-Jul-2009 wenzelm <none@none>

replaced old METAHYPS by FOCUS;


# 886198b6 20-Jul-2009 wenzelm <none@none>

proper context for Display.pretty_thm etc. or old-style versions Display.pretty_thm_global, Display.pretty_thm_without_context etc.;


# 97037932 09-Jul-2009 haftmann <none@none>

dropped find_index_eq


# 80785034 15-Jun-2009 haftmann <none@none>

made SML/NJ happy


# 35d761ba 09-Jun-2009 boehmes <none@none>

tuned


# 9901e5e8 08-Jun-2009 boehmes <none@none>

fast_lin_arith uses proper multiplication instead of unfolding to additions


# 7b89f449 11-May-2009 haftmann <none@none>

mk_number replaces number_of


# ae75807a 23-Mar-2009 haftmann <none@none>

tuned error messages


# 3f7dd95e 10-Mar-2009 webertj <none@none>

Instead of giving up entirely, arith now ignores all inequalities when there are too many.


# 4fd15093 29-May-2008 wenzelm <none@none>

added warning_count for issued reconstruction failure messages (limit 10);
less nesting of let expressions;


# c0016309 18-May-2008 wenzelm <none@none>

renamed type decompT to decomp;
refute: proper context for trace_ex;
some attempts to improve readability;


# 602e1116 07-May-2008 berghofe <none@none>

Lookup and union operations on terms are now modulo eta conversion.


# d06d005b 08-Oct-2007 wenzelm <none@none>

generic Syntax.pretty/string_of operations;


# 2a4bde03 18-Sep-2007 wenzelm <none@none>

simplified type int (eliminated IntInf.int, integer);


# 38816afa 01-Aug-2007 wenzelm <none@none>

simplified internal Config interface;


# ed113335 30-Jul-2007 wenzelm <none@none>

arith method setup: proper context;
turned fast_arith_split/neq_limit into configuration options;
tuned signatures;
misc cleanup;


# 42601948 29-Jul-2007 wenzelm <none@none>

renamed Drule.add/del/merge_rules to Thm.add/del/merge_thms;


# 2cca6f01 04-Jul-2007 wenzelm <none@none>

avoid polymorphic equality;


# 99746ab7 29-Jun-2007 haftmann <none@none>

tuned arithmetic modules


# f4f56b73 08-Jun-2007 wenzelm <none@none>

simplified type integer;


# b8d20a4a 05-Jun-2007 haftmann <none@none>

tuned integers


# b9b91b06 01-Jun-2007 webertj <none@none>

cosmetic


# c48fe4fb 01-Jun-2007 webertj <none@none>

additional tracing information


# 9f06f9d0 01-Jun-2007 webertj <none@none>

fixed handling of meta-logic propositions


# a3c18bb0 21-May-2007 haftmann <none@none>

tuned


# 13cd6837 19-May-2007 haftmann <none@none>

dropped nonsense comment


# c2a01431 13-May-2007 haftmann <none@none>

tuned


# b62fe892 06-May-2007 wenzelm <none@none>

simplified DataFun interfaces;


# e7f94b57 04-Apr-2007 wenzelm <none@none>

rep_thm/cterm/ctyp: removed obsolete sign field;


# 7818c69c 03-Apr-2007 wenzelm <none@none>

removed obsolete sign_of/sign_of_thm;


# 2740f48c 31-Oct-2006 haftmann <none@none>

dropped nth_update


# 62315b9d 29-Aug-2006 webertj <none@none>

lin_arith_prover: splitting reverted because of performance loss


# 7fc3c9b4 01-Aug-2006 webertj <none@none>

type annotations fixed (IntInf.int, to make SML/NJ happy)


# 83ec30e6 01-Aug-2006 webertj <none@none>

possible disagreement between proof search and proof reconstruction when eliminating inequalities over different types fixed


# 047e870e 31-Jul-2006 webertj <none@none>

code reformatted


# 585ee83b 29-Jul-2006 webertj <none@none>

lin_arith_prover splits certain operators (e.g. min, max, abs)


# 745db1a3 26-Jul-2006 webertj <none@none>

linear arithmetic splits certain operators (e.g. min, max, abs)


# 5f099da1 11-May-2006 wenzelm <none@none>

tuned;


# 44d31bf2 29-Apr-2006 wenzelm <none@none>

tuned;


# cf09f0e2 27-Apr-2006 wenzelm <none@none>

tuned basic list operators (flat, maps, map_filter);


# 154e2b82 24-Mar-2006 berghofe <none@none>

Removed occurrences of makestring, which does not
exist in SML/NJ.


# 73f0cb12 22-Mar-2006 webertj <none@none>

comment fixed


# 3094bbd9 22-Mar-2006 webertj <none@none>

comment for conjI added


# 09bcfaad 15-Feb-2006 wenzelm <none@none>

counter example: avoid vacuous trace;


# 75fddbe8 19-Jan-2006 wenzelm <none@none>

setup: theory -> theory;


# 249af8c5 04-Jan-2006 nipkow <none@none>

removed pointless trace msg.


# c4391a83 02-Dec-2005 haftmann <none@none>

introduced new map2, fold


# 67bf68ad 28-Oct-2005 haftmann <none@none>

cleaned up nth, nth_update, nth_map and nth_string functions


# 045696ef 21-Oct-2005 haftmann <none@none>

introduced functions from Pure/General/rat.ML


# 25da66f0 18-Oct-2005 wenzelm <none@none>

Simplifier.theory_context;


# 46e4168a 17-Oct-2005 wenzelm <none@none>

Simplifier.inherit_context instead of Simplifier.inherit_bounds;


# 956c92b3 23-Sep-2005 wenzelm <none@none>

Simplifier.inherit_bounds;


# 1b9c63c8 20-Sep-2005 paulson <none@none>

fixed syntax for sml/nj


# 3d1b7c16 20-Sep-2005 wenzelm <none@none>

Simplifier.inherit_bounds;


# 347ce55a 20-Sep-2005 haftmann <none@none>

slight adaptions to library changes


# dcefbda4 12-Sep-2005 haftmann <none@none>

introduced new-style AList operations


# 0dc090d8 06-Aug-2005 nipkow <none@none>

moved some rat functions to library.ML


# 3e5e6869 06-Jul-2005 nipkow <none@none>

takes & in premises apart now.


# c01306d6 17-Jun-2005 wenzelm <none@none>

accomodate change of TheoryDataFun;
accomodate identification of type Sign.sg and theory;


# 6c4c459e 10-Jun-2005 nipkow <none@none>

IntInf change


# f2340401 16-May-2005 paulson <none@none>

Use of IntInf.int instead of int in most numeric simprocs; avoids
integer overflow in SML/NJ


# cbe4de09 04-May-2005 nipkow <none@none>

neqE applies even if the type is not one which partakes in linear arithmetic.
This lead to confusion. Now there are multiple type specific neqE.


# e36d9b19 07-Apr-2005 wenzelm <none@none>

handle Option instead of OPTION;


# eee46a1e 02-Mar-2005 skalberg <none@none>

Move towards standard functions.


# 3dffd254 13-Feb-2005 skalberg <none@none>

Deleted Library.option type.


# d7ba3d66 06-Sep-2004 nipkow <none@none>

made mult_mono_thms generic.


# 69fd4979 08-Jul-2004 wenzelm <none@none>

adapted type of simprocs;


# 2a85fb9d 29-May-2004 wenzelm <none@none>

avoid 'handle _' -- would cover Interrupt as well!!!


# 4633ea1d 02-Apr-2004 nipkow <none@none>

introduced fast_arith_neq_limit


# ae7227ea 13-Feb-2004 nipkow <none@none>

Removed dangling exception handler


# 27a673bd 03-Feb-2004 nipkow <none@none>

Finally fixed the counterexample finder. Can now deal with < on real.


# 0210d9eb 24-Jan-2004 nipkow <none@none>

Added an exception handler and error msg.


# 98b18673 09-Sep-2002 nipkow <none@none>

bug in counter example finder


# 2c74bbb3 22-Aug-2002 nipkow <none@none>

for cancelling div + mod.


# 8933ce33 13-Aug-2002 nipkow <none@none>

Added counter example generation.


# 75b5d99b 06-Aug-2002 nipkow <none@none>

Fixed two bugs


# fd158054 30-May-2002 nipkow <none@none>

Big update. Allows case splitting on ~= now (trying both < and >).


# e227d768 07-May-2002 wenzelm <none@none>

use eq_thm_prop instead of slightly inadequate eq_thm;


# 01ed86f3 25-Feb-2002 nipkow <none@none>

updated debugging output


# cadfdab8 27-Nov-2001 wenzelm <none@none>

theory data: removed obsolete finish method;


# 16ee9cd2 24-Nov-2001 wenzelm <none@none>

gen_merge_lists';


# 4e645f36 20-Nov-2001 wenzelm <none@none>

use tracing function for trace output;


# 51c46754 08-Nov-2001 wenzelm <none@none>

theory data: finish method;


# 9e7ae3a3 21-Dec-2000 nipkow <none@none>

rational arithemtic


# 12212b44 18-Dec-2000 nipkow <none@none>

towards rtional arithmetic


# 336c5f7d 01-Dec-2000 nipkow <none@none>

Now adjusted to mixed terms involving coercions.


# 4d0a379b 24-Jul-2000 wenzelm <none@none>

avoid global references;


# 936aae73 16-Jun-2000 paulson <none@none>

tracing flag for arith_tac


# d5b29aa5 19-Feb-2000 nipkow <none@none>

Commenst.


# 950c504e 23-Sep-1999 nipkow <none@none>

Restructured lin.arith.package.


# 3115c3d5 21-Sep-1999 nipkow <none@none>

Mod because of new solver interface.


# 6d4f1ffa 21-Sep-1999 nipkow <none@none>

Added comments.


# 7011ecda 21-Sep-1999 nipkow <none@none>

Now distinguishes discrete from non-distrete types.


# 05ffbd93 14-Jan-1999 nipkow <none@none>

More arith refinements.


# ce4ebd6b 13-Jan-1999 nipkow <none@none>

Simplified interface.


# 0ee7d3d4 12-Jan-1999 nipkow <none@none>

Split argument structure.


# a9dcdc15 11-Jan-1999 nipkow <none@none>

More arith simplifications.


# a9146b55 09-Jan-1999 nipkow <none@none>

Added simproc.


# bf5210e9 05-Jan-1999 nipkow <none@none>

Small mods.


# 0dbd05cd 04-Jan-1999 nipkow <none@none>

Version 1 of linear arithmetic for nat.


# 0b7352f8 27-Nov-1998 nipkow <none@none>

Replaced the puny nat_transitive.ML by the general fast_lin_arith.ML.