History log of /seL4-l4v-master/l4v/isabelle/src/HOL/Tools/BNF/bnf_gfp_rec_sugar.ML
Revision Date Author Comments
# 026d96d6 02-Dec-2019 wenzelm <none@none>

proper spec_rule name via naming/binding/Morphism.binding;


# 44a31568 29-Nov-2019 wenzelm <none@none>

more informative spec rules: optional name;
clarified signature;
more thorough treatment of Thm.trim_context vs. Thm.transfer;


# 14c7fb8f 09-Aug-2019 wenzelm <none@none>

formal position for PThm nodes;


# b00a1738 27-Mar-2019 wenzelm <none@none>

more informative Spec_Rules.Equational: support corecursion;


# d948ca9f 26-Mar-2019 wenzelm <none@none>

more informative Spec_Rules.Equational, notably primrec argument types;


# ed7a971e 05-Jan-2019 wenzelm <none@none>

isabelle update -u control_cartouches;


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

isabelle update -u control_cartouches;


# 9322bd71 02-Jul-2017 haftmann <none@none>

proper concept of code declaration wrt. atomicity and Isar declarations

--HG--
extra : rebase_source : adb08da85e01b6c9c81d471a0d8e7ebb68d7e472


# 502ab55a 30-Dec-2016 blanchet <none@none>

more uniform errors in '(prim)(co)rec(ursive)' variants


# bb1d3a61 28-Dec-2016 blanchet <none@none>

print constants in 'primrec', 'primcorec(ursive)', 'corec(ursive)', like in 'definition' and 'fun(ction)'


# 659a2dbd 20-Dec-2016 blanchet <none@none>

generalized ML function (towards nonuniform datatypes)


# d945085c 12-Sep-2016 blanchet <none@none>

make (co)induct component of 'fp_sugar' optional, for the benefit of nonuniform (co)datatypes and other similar extensions


# 280971b2 30-Aug-2016 traytel <none@none>

generate proper goal when equation is entered programmatically


# 41f01a69 23-Aug-2016 traytel <none@none>

tuned signature


# bee57ad5 23-Jun-2016 wenzelm <none@none>

tuned signature;


# 46bb214d 11-Jun-2016 wenzelm <none@none>

clarified syntax;


# 2e392e73 06-Jun-2016 haftmann <none@none>

explicit tagging of code equations de-baroquifies interface

--HG--
extra : rebase_source : 1d83d31f669dc30b586df508a64fdc3a9e7b2655


# 237f0cff 02-Jun-2016 wenzelm <none@none>

eliminated pointless alias (no warning for duplicates);


# 86d79029 30-May-2016 wenzelm <none@none>

allow 'for' fixes for multi_specs;


# 68f9ecca 28-Apr-2016 wenzelm <none@none>

support 'assumes' in specifications, e.g. 'definition', 'inductive';
tuned signatures;


# fe42a4e9 22-Mar-2016 blanchet <none@none>

tuned whitespace


# 7674b664 22-Mar-2016 blanchet <none@none>

export ML function


# 35afd302 10-Mar-2016 blanchet <none@none>

don't throw an exception when trying to print an error message


# a2073db7 10-Mar-2016 blanchet <none@none>

eta-expansion done right in "primcorec"


# d5c534a3 02-Mar-2016 traytel <none@none>

respect qualification when noting theorems in prim(co)rec


# 03d6340d 14-Feb-2016 blanchet <none@none>

clearer error message


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

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


# 591a7bfe 01-Dec-2015 blanchet <none@none>

tuned whitespace


# 18551fee 13-Oct-2015 haftmann <none@none>

prod_case as canonical name for product type eliminator


# b22e4c0f 07-Oct-2015 blanchet <none@none>

disable generation of 'case_transfer' for 'nibble', due to quadratic proof -- to make 'HOL-Proofs' happier


# e5517855 05-Oct-2015 traytel <none@none>

collect the names from goals in favor of fragile exports


# 06b6c5f0 01-Oct-2015 blanchet <none@none>

export '_cmd' functions


# 2813b7ac 25-Sep-2015 traytel <none@none>

more canonical context threading


# 4930226f 06-Sep-2015 haftmann <none@none>

prefer "uncurry" as canonical name for case distinction on products in combinatorial view


# 66dfd9b7 16-Jul-2015 blanchet <none@none>

made code less loopy


# bc205fbf 16-Jul-2015 blanchet <none@none>

generalized generic translation function


# b1e5e464 13-Jul-2015 blanchet <none@none>

tuning


# 2c9e2e3e 09-Jul-2015 blanchet <none@none>

tuned ML signature (and rationalized code a bit)


# 824aee18 07-Jul-2015 blanchet <none@none>

tuned ML signature


# f9ccd3fb 02-Jun-2015 wenzelm <none@none>

clarified context;


# 3f438084 10-Apr-2015 blanchet <none@none>

renamed ML funs


# 5ae28e01 10-Apr-2015 blanchet <none@none>

generalized code


# 1009b8d0 09-Apr-2015 blanchet <none@none>

tuned signature


# f64d293f 07-Apr-2015 blanchet <none@none>

generalized slightly


# 0b44f209 07-Apr-2015 blanchet <none@none>

generalized code


# a0b0cae3 07-Apr-2015 blanchet <none@none>

generalized code


# 017512d0 07-Apr-2015 blanchet <none@none>

export ML function


# 4aa541f4 06-Apr-2015 wenzelm <none@none>

@{command_spec} is superseded by @{command_keyword};


# 0e2b1250 01-Apr-2015 blanchet <none@none>

simplified code


# 03b64291 30-Mar-2015 wenzelm <none@none>

tuned signature;


# 28c21755 24-Mar-2015 wenzelm <none@none>

clarified role of Name.uu_, which happens to be the internal replacement of the first underscore under certain assumptions about the context;


# 9113f38b 24-Mar-2015 blanchet <none@none>

tuning


# 7f0e77af 10-Mar-2015 blanchet <none@none>

export more functions (for future 'corec')


# 2eeb52fe 10-Mar-2015 blanchet <none@none>

tuning


# 73047e78 10-Mar-2015 blanchet <none@none>

tuning


# af08be71 05-Mar-2015 blanchet <none@none>

avoid needless 'if ... undefined' in generated theorems


# 73c5a6d6 05-Mar-2015 blanchet <none@none>

deal better with corecursion through functions


# 09d35824 05-Mar-2015 blanchet <none@none>

removed too strict checks


# 5d8b316c 04-Mar-2015 blanchet <none@none>

message tuning


# b6a768f0 04-Mar-2015 blanchet <none@none>

tuning


# 52019a2c 05-Mar-2015 blanchet <none@none>

improved primcorec messages


# a9e6ce23 05-Mar-2015 blanchet <none@none>

improved primcorec messages


# a8812995 05-Mar-2015 blanchet <none@none>

better primcorec messages


# 085d0905 05-Mar-2015 blanchet <none@none>

more primcorec messages


# 44dea20f 05-Mar-2015 blanchet <none@none>

more precise primcorec messages


# ded52b22 05-Mar-2015 blanchet <none@none>

more precise primcorec messages


# 9c6a05fb 05-Mar-2015 blanchet <none@none>

better primcorec messages


# ea3f84a1 05-Mar-2015 blanchet <none@none>

more 'primcorec' error handling


# 94df6324 05-Mar-2015 blanchet <none@none>

helpful error message when 'auto' fails


# 7285eaed 05-Mar-2015 blanchet <none@none>

no quick_and_dirty for goals that may fail + tuned messages


# 8b456ccd 05-Mar-2015 blanchet <none@none>

tuned new primrec messages


# cd55212e 05-Mar-2015 blanchet <none@none>

reworked primcorec error messages


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

tuned signature -- prefer qualified names;


# d9c8335a 05-Jan-2015 blanchet <none@none>

generate [code] only with 'code' plugin enabled


# 1de6462a 05-Jan-2015 blanchet <none@none>

added plugins syntax to prim(co)rec


# ccc25809 05-Jan-2015 blanchet <none@none>

tuning


# ef71534e 04-Jan-2015 blanchet <none@none>

tuning


# 07a7056b 19-Dec-2014 desharna <none@none>

Add plugin to generate transfer theorem for primrec and primcorec


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

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


# 83205ee1 23-Nov-2014 blanchet <none@none>

tuned whitespace


# c9829f79 23-Nov-2014 blanchet <none@none>

keep all 'ctr' theorems


# 7aef1c44 23-Nov-2014 blanchet <none@none>

smoothly handle unit codatatypes in 'primcorec'


# c3de4772 23-Nov-2014 blanchet <none@none>

careful with de Bruijn indices


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

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


# 906e82c7 26-Sep-2014 desharna <none@none>

refactor fp_sugar move theorems


# 4434c5ed 26-Sep-2014 desharna <none@none>

refactor fp_sugar move theorems


# 9608121d 26-Sep-2014 desharna <none@none>

refactor fp_sugar move theorems


# a14f7fdb 26-Sep-2014 desharna <none@none>

refactor fp_sugar move theorems


# 05509858 19-Sep-2014 blanchet <none@none>

more honest 'primcorec' -- don't parse a theorem name that is then ignored


# 28cf91d1 19-Sep-2014 blanchet <none@none>

tuning


# 78b45325 19-Sep-2014 blanchet <none@none>

tuning


# 6b777fb4 15-Sep-2014 blanchet <none@none>

generate 'code' attribute only if 'code' plugin is enabled


# f08fc76d 09-Sep-2014 blanchet <none@none>

compile


# 02b2c624 09-Sep-2014 blanchet <none@none>

preserve case names in '(co)induct' theorems generated by prim(co)rec'


# 97822f3a 08-Sep-2014 blanchet <none@none>

export useful functions for users of (co)recursors


# 75fd5395 08-Sep-2014 blanchet <none@none>

extended 'datatype_compat' to generate the expected, old-style recursor in the presence of recursion through functions


# d36b3fcf 04-Sep-2014 blanchet <none@none>

fixed infinite loops in 'register' functions + more uniform API


# a5355909 01-Sep-2014 blanchet <none@none>

drop hopeless feature -- unfolding of BNF datatype info without a prior 'datatype_compat'


# 12b0bc3d 01-Sep-2014 blanchet <none@none>

compile


# 9c861e3b 01-Sep-2014 blanchet <none@none>

more compatibility between old- and new-style datatypes


# 6fb4e52a 18-Aug-2014 blanchet <none@none>

reordered some (co)datatype property names for more consistency


# 4bbbfbf8 12-Aug-2014 blanchet <none@none>

less aggressive unfolding; removed debugging;


# 877dea0b 13-Jul-2014 panny <none@none>

fix typo


# ff38f8ec 13-Jul-2014 panny <none@none>

throw error for bad input


# 52e1ed24 07-Jul-2014 desharna <none@none>

add helper function map_prod


# c1bd04e5 27-Jun-2014 blanchet <none@none>

compile


# 6f5ea271 27-Jun-2014 blanchet <none@none>

tuned variable names


# 020ff44f 24-Jun-2014 desharna <none@none>

tune the implementation of 'rel_coinduct'


# 9bcd2c04 13-May-2014 blanchet <none@none>

tuning


# bfd5d2c4 05-May-2014 blanchet <none@none>

simplify selectors in code views


# 6fed8b0b 01-May-2014 panny <none@none>

use qualified name (was interpreted as a catch-all variable name)


# 3b9d5410 01-May-2014 panny <none@none>

add additional check to avoid selector formula right-hand side consisting of a nullary constructor getting interpreted as a discriminator formula


# 3c4f4261 22-Mar-2014 wenzelm <none@none>

more antiquotations;


# b1c07ea3 14-Mar-2014 panny <none@none>

add error messages for invalid inputs


# c4dc0538 07-Mar-2014 blanchet <none@none>

use balanced tuples in 'primcorec'


# d815b696 06-Mar-2014 blanchet <none@none>

balance tuples that represent curried functions


# 35d9dd12 02-Mar-2014 blanchet <none@none>

removed (co)iterators from documentation


# e3abe18d 02-Mar-2014 blanchet <none@none>

avoid duplicate 'disc_iff' theorems


# c39b02f9 02-Mar-2014 blanchet <none@none>

rationalized internals


# b29ffe0e 02-Mar-2014 blanchet <none@none>

rationalize internals


# 8bc18da0 02-Mar-2014 blanchet <none@none>

make 'diff_iff' a simp rule if available


# 60d22fd5 02-Mar-2014 blanchet <none@none>

less aggressive resolving


# ae64540a 27-Feb-2014 blanchet <none@none>

correct most general type for mutual recursion when several identical types are involved


# efebaf05 18-Feb-2014 blanchet <none@none>

prepare two-stage 'primrec' setup


# 8d680255 17-Feb-2014 blanchet <none@none>

simplified data structure by reducing the incidence of clumsy indices


# a4bafeb9 17-Feb-2014 blanchet <none@none>

tuning
* * *
moved 'primrec' up to displace the few remaining uses of 'old_primrec'


# 0837409d 17-Feb-2014 blanchet <none@none>

tuning: moved code where it belongs


# 79b9f515 17-Feb-2014 blanchet <none@none>

tuning


# 0ba161cf 14-Feb-2014 blanchet <none@none>

allow different functions to recurse on the same type, like in the old package


# 60177433 13-Feb-2014 blanchet <none@none>

added 'Spec_Rules' for 'primcorec'


# 63970edd 12-Feb-2014 blanchet <none@none>

renamed '{prod,sum,bool,unit}_case' to 'case_...'


# 4b092e5d 12-Feb-2014 blanchet <none@none>

tuning


# 4bb4d1f9 05-Feb-2014 blanchet <none@none>

don't waste time with old-style 'case's that don't have the required theorems


# 4fd2a4ce 05-Feb-2014 blanchet <none@none>

expand 'split' in direct corecursion as well


# c0de7553 05-Feb-2014 blanchet <none@none>

tuning


# fd5d98a4 05-Feb-2014 blanchet <none@none>

adapted tactic to correctly handle 'if ... then ...' and 'case ...' under lambdas


# e47f2f4b 05-Feb-2014 blanchet <none@none>

properly massage 'if's / 'case's etc. under lambdas


# b92f9a76 21-Jan-2014 blanchet <none@none>

made SML/NJ happier


# e8e169dd 20-Jan-2014 blanchet <none@none>

adjusted comments


# a0868967 20-Jan-2014 blanchet <none@none>

avoid nested 'Tools' directories

--HG--
rename : src/HOL/Tools/BNF/Tools/bnf_comp.ML => src/HOL/Tools/BNF/bnf_comp.ML
rename : src/HOL/Tools/BNF/Tools/bnf_comp_tactics.ML => src/HOL/Tools/BNF/bnf_comp_tactics.ML
rename : src/HOL/Tools/BNF/Tools/bnf_def.ML => src/HOL/Tools/BNF/bnf_def.ML
rename : src/HOL/Tools/BNF/Tools/bnf_def_tactics.ML => src/HOL/Tools/BNF/bnf_def_tactics.ML
rename : src/HOL/Tools/BNF/Tools/bnf_fp_def_sugar.ML => src/HOL/Tools/BNF/bnf_fp_def_sugar.ML
rename : src/HOL/Tools/BNF/Tools/bnf_fp_def_sugar_tactics.ML => src/HOL/Tools/BNF/bnf_fp_def_sugar_tactics.ML
rename : src/HOL/Tools/BNF/Tools/bnf_fp_n2m.ML => src/HOL/Tools/BNF/bnf_fp_n2m.ML
rename : src/HOL/Tools/BNF/Tools/bnf_fp_n2m_sugar.ML => src/HOL/Tools/BNF/bnf_fp_n2m_sugar.ML
rename : src/HOL/Tools/BNF/Tools/bnf_fp_n2m_tactics.ML => src/HOL/Tools/BNF/bnf_fp_n2m_tactics.ML
rename : src/HOL/Tools/BNF/Tools/bnf_fp_rec_sugar_util.ML => src/HOL/Tools/BNF/bnf_fp_rec_sugar_util.ML
rename : src/HOL/Tools/BNF/Tools/bnf_fp_util.ML => src/HOL/Tools/BNF/bnf_fp_util.ML
rename : src/HOL/Tools/BNF/Tools/bnf_gfp.ML => src/HOL/Tools/BNF/bnf_gfp.ML
rename : src/HOL/Tools/BNF/Tools/bnf_gfp_rec_sugar.ML => src/HOL/Tools/BNF/bnf_gfp_rec_sugar.ML
rename : src/HOL/Tools/BNF/Tools/bnf_gfp_rec_sugar_tactics.ML => src/HOL/Tools/BNF/bnf_gfp_rec_sugar_tactics.ML
rename : src/HOL/Tools/BNF/Tools/bnf_gfp_tactics.ML => src/HOL/Tools/BNF/bnf_gfp_tactics.ML
rename : src/HOL/Tools/BNF/Tools/bnf_gfp_util.ML => src/HOL/Tools/BNF/bnf_gfp_util.ML
rename : src/HOL/Tools/BNF/Tools/bnf_lfp.ML => src/HOL/Tools/BNF/bnf_lfp.ML
rename : src/HOL/Tools/BNF/Tools/bnf_lfp_compat.ML => src/HOL/Tools/BNF/bnf_lfp_compat.ML
rename : src/HOL/Tools/BNF/Tools/bnf_lfp_rec_sugar.ML => src/HOL/Tools/BNF/bnf_lfp_rec_sugar.ML
rename : src/HOL/Tools/BNF/Tools/bnf_lfp_tactics.ML => src/HOL/Tools/BNF/bnf_lfp_tactics.ML
rename : src/HOL/Tools/BNF/Tools/bnf_lfp_util.ML => src/HOL/Tools/BNF/bnf_lfp_util.ML
rename : src/HOL/Tools/BNF/Tools/bnf_tactics.ML => src/HOL/Tools/BNF/bnf_tactics.ML
rename : src/HOL/Tools/BNF/Tools/bnf_util.ML => src/HOL/Tools/BNF/bnf_util.ML