History log of /seL4-l4v-master/isabelle/src/HOL/Tools/BNF/bnf_fp_n2m_sugar.ML
Revision Date Author Comments
# a4bab154 04-Jan-2019 wenzelm <none@none>

isabelle update -u control_cartouches;


# eeeee96a 22-Dec-2016 blanchet <none@none>

export ML functions (towards nonuniform codatatypes) + signature tuning


# 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


# 28ad8145 06-Sep-2016 blanchet <none@none>

generalized ML signature


# 25f52df5 06-Sep-2016 blanchet <none@none>

tuned ML signature


# 2d2d3564 26-Jul-2016 traytel <none@none>

honor sorts in (co)datatype declarations


# 689a332d 01-Apr-2016 blanchet <none@none>

reintroduced check that may guard some tactic failures


# c4b0715f 27-Mar-2016 blanchet <none@none>

generalized ML function


# 204828b6 27-Mar-2016 blanchet <none@none>

generalized ML interface


# e449dcd3 27-Mar-2016 blanchet <none@none>

tuning


# 630f63f0 22-Mar-2016 blanchet <none@none>

more general, reliable N2M


# 40b7f6c2 22-Mar-2016 blanchet <none@none>

added timers to N2M


# 830f4f54 22-Mar-2016 traytel <none@none>

document that n2m does not depend on most things in fp_sugar in its type


# 97b25dd9 17-Feb-2016 blanchet <none@none>

making 'pred_inject' a first-class BNF citizen


# d39b0ef7 17-Feb-2016 blanchet <none@none>

allow predicator instead of map function in 'primrec'


# 2514dd4c 15-Feb-2016 blanchet <none@none>

keep 'ctor_iff_dtor' theorem around in BNF FP database


# 78e3cdc9 02-Nov-2015 blanchet <none@none>

don't pollute local theory with needless names


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

prod_case as canonical name for product type eliminator


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

collect the names from goals in favor of fragile exports


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

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


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

tuning


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

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


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

improved message in 'co' case


# 3576c8c4 08-Nov-2014 wenzelm <none@none>

proper Envir.norm_type for result of Type.raw_unifys;


# 824744a2 21-Oct-2014 desharna <none@none>

generate 'map_o_corec' for (co)datatypes
* * *
document 'map_o_corec'


# 686351a9 21-Oct-2014 desharna <none@none>

move theorem 'rec_o_map'
* * *
move documentation of 'rec_o_map'


# f05f85f5 14-Oct-2014 desharna <none@none>

generate 'sel_transfer' for (co)datatypes


# 5ae17a36 14-Oct-2014 desharna <none@none>

add 'fp_bnf' to 'bnf_sugar'


# 9c060c90 14-Oct-2014 desharna <none@none>

preserve the structure of 'set_intros' theorem in ML


# def076b7 14-Oct-2014 desharna <none@none>

preserve the structure of 'map_sel' theorem in ML


# 2be8af88 14-Oct-2014 desharna <none@none>

preserve the structure of 'set_sel' theorem in ML


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

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


# e364b08b 06-Oct-2014 desharna <none@none>

add 'set_inducts' to 'fp_sugar'


# 2cedfc03 06-Oct-2014 desharna <none@none>

add 'common_set_inducts' to 'fp_sugar'


# 467db70c 06-Oct-2014 desharna <none@none>

add 'rel_co_inducts' to 'fp_sugar'


# cadb7741 06-Oct-2014 desharna <none@none>

add 'common_rel_co_induct' to 'fp_sugar'


# d76bbcfd 06-Oct-2014 desharna <none@none>

add 'co_rec_transfers' to 'fp_sugar'


# 6d76dc50 06-Oct-2014 desharna <none@none>

add 'co_rec_disc_iffs' to 'fp_sugar'


# 8b25f959 06-Oct-2014 desharna <none@none>

add 'disc_transfers' to 'fp_sugar'


# b0fae040 06-Oct-2014 desharna <none@none>

add 'case_transfers' to 'fp_sugar'


# 3fbae9a8 06-Oct-2014 desharna <none@none>

add 'ctr_transfers' to 'fp_sugar'


# f5c26cc0 06-Oct-2014 desharna <none@none>

add 'set_cases' to 'fp_sugar'


# 30cc7146 06-Oct-2014 desharna <none@none>

add 'set_intros' to 'fp_sugar'


# b5244d83 06-Oct-2014 desharna <none@none>

add 'set_sels' to 'fp_sugar'


# 2ef889ae 06-Oct-2014 desharna <none@none>

add 'set_thms' to 'fp_sugar'


# 3d17f9a3 06-Oct-2014 desharna <none@none>

add 'rel_cases' to 'fp_sugar'


# 58470965 06-Oct-2014 desharna <none@none>

add 'rel_intros' to 'fp_sugar'


# 24e3ec36 06-Oct-2014 desharna <none@none>

add 'rel_sels' to 'fp_sugar'


# 00bc7453 06-Oct-2014 desharna <none@none>

add 'map_sels' to 'fp_sugar'


# 4a7808d9 06-Oct-2014 desharna <none@none>

add 'map_disc_iffs' to 'fp_sugar'


# 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


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

refactor fp_sugar move theorems


# 50b15776 26-Sep-2014 desharna <none@none>

refactor fp_sugar with empty substructures


# 41af0ef0 14-Sep-2014 blanchet <none@none>

tuning


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

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


# 4264224c 11-Sep-2014 blanchet <none@none>

tuning terminology


# 5fc26177 11-Sep-2014 blanchet <none@none>

updated news


# 46f78d44 09-Sep-2014 blanchet <none@none>

proper checks -- the calls data structure may contain spurious entries


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

more canonical (and correct) local theory threading


# eb0deb9d 08-Sep-2014 blanchet <none@none>

made N2M work with sort constraints (cf. TODO)


# dab46d6b 08-Sep-2014 blanchet <none@none>

honour sorts in N2M


# b6225897 08-Sep-2014 blanchet <none@none>

improved caching


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

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


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

moved code around


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

tuned size function generation


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

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


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

more compatibility between old- and new-style datatypes


# 978db45e 01-Sep-2014 blanchet <none@none>

made transfer functions slightly more general


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

renamed modules defining old datatypes, as a step towards having 'datatype_new' take 'datatype's place

--HG--
rename : src/HOL/Datatype.thy => src/HOL/Old_Datatype.thy
rename : src/HOL/Tools/Function/size.ML => src/HOL/Tools/Function/old_size.ML
rename : src/HOL/Tools/Datatype/datatype.ML => src/HOL/Tools/Old_Datatype/old_datatype.ML
rename : src/HOL/Tools/Datatype/datatype_aux.ML => src/HOL/Tools/Old_Datatype/old_datatype_aux.ML
rename : src/HOL/Tools/Datatype/datatype_codegen.ML => src/HOL/Tools/Old_Datatype/old_datatype_codegen.ML
rename : src/HOL/Tools/Datatype/datatype_data.ML => src/HOL/Tools/Old_Datatype/old_datatype_data.ML
rename : src/HOL/Tools/Datatype/datatype_prop.ML => src/HOL/Tools/Old_Datatype/old_datatype_prop.ML
rename : src/HOL/Tools/Datatype/datatype_realizer.ML => src/HOL/Tools/Old_Datatype/old_datatype_realizer.ML
rename : src/HOL/Tools/Datatype/primrec.ML => src/HOL/Tools/Old_Datatype/old_primrec.ML
rename : src/HOL/Tools/Datatype/rep_datatype.ML => src/HOL/Tools/Old_Datatype/old_rep_datatype.ML


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

reordered some (co)datatype property names for more consistency


# 8a5285ff 12-Aug-2014 blanchet <none@none>

improved unfolding of 'let's


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

less aggressive unfolding; removed debugging;


# 34b0a47c 02-Jul-2014 desharna <none@none>

generate 'corec_code' theorem for codatatypes


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

tuned variable names


# ebf08b80 23-Apr-2014 blanchet <none@none>

no need to make 'size' generation an interpretation -- overkill


# 173cad60 23-Apr-2014 blanchet <none@none>

manual merge + added 'rel_distincts' field to record for symmetry


# 90e83a10 23-Apr-2014 blanchet <none@none>

reverted rb458558cbcc2 -- better to keep 'case' and 'rec' distinct, otherwise we lose the connection between 'ctor_rec' (the low-level recursor) and 'rec'


# df15a7e7 23-Apr-2014 blanchet <none@none>

generate size instances for new-style datatypes


# 72132d2f 09-Apr-2014 blanchet <none@none>

generate cliques for 'prim(co)rec' N2M


# 6d54f022 09-Apr-2014 blanchet <none@none>

thread mutual cliques through


# 8d0ad389 10-Apr-2014 kuncar <none@none>

export theorems


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

balance tuples that represent curried functions


# 5f1d2990 02-Mar-2014 blanchet <none@none>

rationalized internals


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

rationalized internals


# 2e7739d0 02-Mar-2014 blanchet <none@none>

rationalized internals


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

rationalize internals


# 6c7be66c 02-Mar-2014 blanchet <none@none>

optimized simple non-recursive datatypes by reusing 'case' for 'rec' constant


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

got rid of automatically generated fold constant and theorems (to reduce overhead)


# dd1a06aa 25-Feb-2014 traytel <none@none>

joint work with blanchet: intermediate typedef for the input to fp-operations


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

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


# cab04828 23-Feb-2014 blanchet <none@none>

improved accounting for dead variables when naming set functions (refines d71c2737ee21)


# 2f1f0a53 23-Feb-2014 blanchet <none@none>

added explicit killing


# 04523a1c 19-Feb-2014 blanchet <none@none>

moved 'primrec' up (for real this time) and removed temporary 'old_primrec'


# 9fc0c5f0 18-Feb-2014 blanchet <none@none>

tuning


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

simplified data structure by reducing the incidence of clumsy indices


# 2f309df2 14-Feb-2014 blanchet <none@none>

generate proper 'DtRec' indices in 'datatype_new_compat' for the case where some types are duplicated


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

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


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

improved 'datatype_new_compat': generate more fixpoint equations for types like 'datatype_new x = C (x list) (x list)' (here, one equation for each x list instead of a single for both), for higher compatibility + code generation attributes on the recursor


# f8a77a2c 12-Feb-2014 blanchet <none@none>

iteration n in the 'default' vs. 'update_new' vs. 'update' saga -- 'update' makes sense now that we honor the canonical order on 'merge' (as opposed to raising 'DUP')


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

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


# fff4f229 12-Feb-2014 blanchet <none@none>

made 'ctr_sugar' more friendly to the 'datatype_realizer'
* * *
reverted changes to 'datatype_realizer.ML'


# 34f4cd23 12-Feb-2014 blanchet <none@none>

more liberal merging of BNFs and constructor sugar
* * *
make sure that the cache doesn't produce 'DUP's


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

expand 'split' in direct corecursion as well


# 943ccdac 05-Feb-2014 blanchet <none@none>

fixed handling of 'split'


# 6730191c 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