src/HOL/Tools/SMT/smt_normalize.ML
Tue, 18 Apr 2023 22:24:48 +0200 wenzelm tuned;
Fri, 11 Mar 2022 09:22:13 +0100 desharna used more descriptive assert names in SMT-Lib output
Wed, 20 Oct 2021 18:13:17 +0200 wenzelm discontinued obsolete "val extend = I" for data slots;
Fri, 15 Oct 2021 19:25:31 +0200 wenzelm discontinued Term.dest_abs / Logic.dest_all, which are officially superseded by Variable.dest_abs etc., but there are also Term.dest_abs_global to recover existing tools easily;
Thu, 14 Oct 2021 16:03:20 +0200 wenzelm clarified signature;
Tue, 28 Sep 2021 22:14:02 +0200 wenzelm clarified antiquotations;
Fri, 10 Sep 2021 14:59:19 +0200 wenzelm clarified signature: more scalable operations;
Mon, 06 Sep 2021 12:23:06 +0200 wenzelm clarified modules;
Sat, 13 Apr 2019 22:06:40 +0200 wenzelm tuned signature;
Sat, 13 Apr 2019 16:26:19 +0200 wenzelm tuned signature -- more ctyp operations;
Fri, 04 Jan 2019 23:22:53 +0100 wenzelm isabelle update -u control_cartouches;
Wed, 11 Apr 2018 10:59:13 +0200 boehmes avoid adding unnecessary quantified lemmas when embedding natural number terms into integer terms: quantified lemmas can cause Z3 to produce complex proofs that are hard to replay in Isabelle
Fri, 23 Feb 2018 19:25:37 +0100 wenzelm added HOLogic.mk_obj_eq convenience and eliminated some clones;
Wed, 06 Dec 2017 20:43:09 +0100 wenzelm prefer control symbol antiquotations;
Fri, 28 Jul 2017 15:36:32 +0100 blanchet introduced option for nat-as-int in SMT
Fri, 25 Sep 2015 20:37:59 +0200 wenzelm moved remaining display.ML to more_thm.ML;
Thu, 27 Aug 2015 22:36:09 +0200 blanchet generate proper error instead of exception if goal cannot be atomized
Sun, 05 Jul 2015 15:02:30 +0200 wenzelm simplified Thm.instantiate and derivatives: the LHS refers to non-certified variables -- this merely serves as index into already certified structures (or is ignored);
Fri, 06 Mar 2015 23:44:57 +0100 wenzelm clarified context;
Fri, 06 Mar 2015 15:58:56 +0100 wenzelm Thm.cterm_of and Thm.ctyp_of operate on local context;
Wed, 26 Nov 2014 20:05:34 +0100 wenzelm renamed "pairself" to "apply2", in accordance to @{apply 2};
Mon, 01 Sep 2014 19:57:48 +0200 blanchet ported TFL to mixture of old and new datatypes
Mon, 01 Sep 2014 16:17:46 +0200 blanchet renamed modules defining old datatypes, as a step towards having 'datatype_new' take 'datatype's place
Thu, 28 Aug 2014 00:40:38 +0200 blanchet renamed new SMT module from 'SMT2' to 'SMT'
Tue, 19 Aug 2014 09:39:11 +0200 blanchet reduced dependency on 'Datatype' theory and ML module
Fri, 21 Mar 2014 20:33:56 +0100 wenzelm more qualified names;
Wed, 12 Feb 2014 08:35:57 +0100 blanchet renamed '{prod,sum,bool,unit}_case' to 'case_...'
Tue, 31 Dec 2013 14:29:16 +0100 wenzelm proper context for norm_hhf and derived operations;
Tue, 19 Nov 2013 10:05:53 +0100 haftmann eliminiated neg_numeral in favour of - (numeral _)
Sun, 10 Nov 2013 10:02:34 +0100 haftmann simplified: negative number is trivially smaller than 2, and SMT_Builtin.is_builtin_num implies that its argument is a number
Wed, 02 Oct 2013 22:54:42 +0200 blanchet make SMT integration slacker w.r.t. bad apples (facts)
Thu, 18 Apr 2013 17:07:01 +0200 wenzelm simplifier uses proper Proof.context instead of historic type simpset;
Thu, 28 Mar 2013 23:44:41 +0100 boehmes new, simpler implementation of monomorphization;
Fri, 21 Dec 2012 11:05:42 +0100 boehmes refined normalization of theorems before giving them to SMT solvers (due to recent changes in rewr_conv, the rewriting of natural-number constants might leave some of them untouched)
Fri, 30 Mar 2012 08:10:28 +0200 huffman move lemmas from Nat_Numeral to Int.thy and Num.thy
Tue, 27 Mar 2012 17:11:02 +0200 boehmes 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
Sun, 25 Mar 2012 20:15:39 +0200 huffman merged fork with new numeral representation (see NEWS)
Wed, 15 Feb 2012 23:19:30 +0100 wenzelm renamed Thm.capply to Thm.apply, and Thm.cabs to Thm.lambda in conformance with similar operations in structure Term and Logic;
Mon, 12 Sep 2011 07:55:43 +0200 nipkow new fastforce replacing fastsimp - less confusing name
Mon, 05 Sep 2011 11:34:54 +0200 boehmes tuned
Tue, 31 May 2011 19:21:20 +0200 boehmes use new monomorphizer for SMT;
Sat, 16 Apr 2011 16:15:37 +0200 wenzelm modernized structure Proof_Context;
Fri, 01 Apr 2011 11:54:51 +0200 boehmes make configuration of (SMT) full monomorphization more flexible: turn boolean argument into a configuration option
Thu, 31 Mar 2011 14:02:03 +0200 boehmes provide a flag controlling whether all provided facts should be instantiated, possibly inventing new types (which does not work well with Sledgehammer)
Mon, 20 Dec 2010 22:02:57 +0100 boehmes avoid ML structure aliases (especially single-letter abbreviations)
Mon, 20 Dec 2010 21:04:45 +0100 boehmes added an additional beta reduction: unfolding of special quantifiers might leave terms unnormalized wrt to beta reductions
Mon, 20 Dec 2010 08:17:23 +0100 boehmes perform monomorphization during normalization: schematic numerals might be monomorphized into built-in numerals and then numeral normalization is required
Sun, 19 Dec 2010 17:55:56 +0100 boehmes only linear occurrences of multiplication are treated as built-in (SMT solvers only support linear arithmetic in general);
Fri, 17 Dec 2010 13:12:58 +0100 wenzelm tuned;
Thu, 16 Dec 2010 12:19:00 +0000 paulson merged
Thu, 16 Dec 2010 12:05:00 +0000 paulson made sml/nj happy
Wed, 15 Dec 2010 18:18:56 +0100 boehmes fixed trigger inference: testing if a theorem already has a trigger was too strict;
Wed, 15 Dec 2010 16:32:45 +0100 boehmes fixed checking and translation of weights (previously, weights occurring in terms were rejected, and weight numbers were unintended translated into Vars)
Wed, 15 Dec 2010 08:39:24 +0100 boehmes re-ordered SMT normalization code (eta-normalization, lambda abstractions and partial functions will be dealt with on the term level);
Wed, 08 Dec 2010 08:33:02 +0100 boehmes be more flexible: store SMT built-in symbols in generic contexts (not in theory contexts)
Tue, 07 Dec 2010 14:53:12 +0100 boehmes centralized handling of built-in types and constants;
Wed, 24 Nov 2010 15:33:35 +0100 boehmes swap names for built-in tester functions (to better reflect the intuition of what they do);
Wed, 24 Nov 2010 13:31:12 +0100 boehmes instantiate elimination rules (reduces number of quantified variables, and makes such theorems better amenable for SMT solvers)
Wed, 24 Nov 2010 10:39:58 +0100 boehmes be more precise: only treat constant 'distinct' applied to an explicit list as built-in
Mon, 22 Nov 2010 15:45:43 +0100 boehmes share and use more utility functions;
less more (0) -60 tip