History log of /seL4-l4v-master/isabelle/src/HOL/Tools/BNF/bnf_def.ML
Revision Date Author Comments
# 14c7fb8f 09-Aug-2019 wenzelm <none@none>

formal position for PThm nodes;


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

isabelle update -u control_cartouches;


# bd03824d 17-Dec-2017 traytel <none@none>

made tactics more robust


# 43466b8c 11-Jul-2017 traytel <none@none>

store the unfolded definitions of the lifted bnf constants under "_def" name


# 1a195bfa 26-Jun-2017 blanchet <none@none>

more error checking


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

generalized ML function (towards nonuniform datatypes)


# c4d64ece 01-Nov-2016 traytel <none@none>

tuned signature


# 268559be 13-Sep-2016 blanchet <none@none>

union associates to the left


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

prove 'set' property backward


# 21083057 18-Aug-2016 traytel <none@none>

derive pred_mono property for BNFs


# 5339f05b 05-Jul-2016 wenzelm <none@none>

more antiquotations;


# 3dba35c1 27-May-2016 wenzelm <none@none>

tuned proofs, to allow unfold_abs_def;


# 8295d27d 18-Apr-2016 wenzelm <none@none>

tuned;


# 583b377f 01-Mar-2016 blanchet <none@none>

generalized ML function


# ffbc61c2 26-Feb-2016 blanchet <none@none>

generalized ML function


# 040047c7 17-Feb-2016 traytel <none@none>

derive transfer rule for predicator


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

allow predicator instead of map function in 'primrec'


# 6b18406f 16-Feb-2016 traytel <none@none>

make predicator a first-class bnf citizen


# 4216bc36 07-Jan-2016 wenzelm <none@none>

more uniform treatment of package internals;


# 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


# 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


# 9ec94e1d 23-Sep-2015 traytel <none@none>

congruence rules for the relator


# 954f1e42 23-Sep-2015 traytel <none@none>

conceal only the definitional theorems of map, set, rel (and not the actual constants)


# 3349054e 23-Sep-2015 traytel <none@none>

more useful properties of the relators


# 1ae750a8 04-Sep-2015 wenzelm <none@none>

close derivation *before* splitting conjuncts, like Goal.prove_common (see also 757cad5a3fe9) -- potential improvement of performance;


# 78d8b09f 03-Sep-2015 traytel <none@none>

use open/close_target rather than Local_Theory.restore to get polymorphic definitions;


# 02f6d501 16-Aug-2015 wenzelm <none@none>

prefer theory_id operations;
tuned signature;


# 1971a62a 13-Aug-2015 wenzelm <none@none>

tuned signature, in accordance to sortBy in Scala;


# 45936566 12-Aug-2015 traytel <none@none>

new command for lifting BNF structure over typedefs


# cb97119b 27-Jul-2015 wenzelm <none@none>

tuned signature;


# 839d9ae3 26-Jul-2015 wenzelm <none@none>

updated to infer_instantiate;


# 82d44073 17-Jul-2015 traytel <none@none>

forgotten selector


# dbbe37ca 15-Jul-2015 traytel <none@none>

{r,e,d,f}tac with proper context in BNF


# 11732dc8 28-Apr-2015 blanchet <none@none>

allow sorts on dead variables in BNFs


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

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


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

tuned signature;


# 5b8baa9f 30-Mar-2015 wenzelm <none@none>

support for strictly private name space entries;
tuned signature;


# 03a5f5ef 27-Mar-2015 blanchet <none@none>

sort BNFs in output


# 99c387f7 16-Mar-2015 traytel <none@none>

BNF relators preserve reflexivity


# 375b7cde 10-Mar-2015 blanchet <none@none>

split into subgoals


# 740a17d4 06-Mar-2015 wenzelm <none@none>

Thm.cterm_of and Thm.ctyp_of operate on local context;


# b7bf58e6 03-Mar-2015 traytel <none@none>

eliminated some clones of Proof_Context.cterm_of


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

added plugins syntax to prim(co)rec


# 2a77795d 11-Dec-2014 traytel <none@none>

note more facts (always)


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

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


# cd2e7a78 28-Apr-2015 blanchet <none@none>

allow sorts on dead variables in BNFs


# 7ee8e540 03-Nov-2014 wenzelm <none@none>

eliminated unused int_only flag (see also c12484a27367);
just proper commands;


# 5bc8503e 13-Oct-2014 wenzelm <none@none>

clarified load order;
tuned signature;


# bb4c3636 13-Oct-2014 wenzelm <none@none>

Local_Interpretation is superseded by Plugin with formal Plugin_Name management, avoiding undeclared strings;


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

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


# fcbc469d 24-Sep-2014 blanchet <none@none>

improved 'bnf' parser


# 997718be 16-Sep-2014 blanchet <none@none>

register 'prod' and 'sum' as datatypes, to allow N2M through them


# 64feb303 15-Sep-2014 blanchet <none@none>

set 'mono' attribute on 'rel_mono'


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

added 'plugins' option to control which hooks are enabled


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

introduced mechanism to filter interpretations


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

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


# 625d35eb 04-Sep-2014 blanchet <none@none>

named interpretations


# 21ec0eae 04-Sep-2014 blanchet <none@none>

centralized and cleaned up naming handling


# 3a5bbb8e 03-Sep-2014 blanchet <none@none>

introduced local interpretation mechanism for BNFs, to solve issues with datatypes in locales


# 87a971e8 03-Sep-2014 blanchet <none@none>

tuned BNF database handling


# 812558c3 01-Sep-2014 blanchet <none@none>

added theory-based getters for convenience


# 08ba7622 01-Sep-2014 blanchet <none@none>

tuned whitespace


# 0641da82 01-Sep-2014 desharna <none@none>

generate 'set_transfer' for BNFs


# 439a0059 01-Sep-2014 desharna <none@none>

generate 'rel_transfer' for BNFs


# be1026e0 01-Sep-2014 desharna <none@none>

note 'map_transfer' more often


# dffb56b9 29-Aug-2014 desharna <none@none>

generate 'case_transfer' for (co)datatypes


# 0f738165 18-Aug-2014 desharna <none@none>

generate 'map_cong_simp' for BNFs


# bb88f7ec 18-Aug-2014 desharna <none@none>

generate 'inj_map_strong' for BNFs


# 68eaaef3 18-Aug-2014 desharna <none@none>

note 'inj_map' more often


# 7ef25a8b 18-Aug-2014 desharna <none@none>

generate property 'rel_mono_strong' for BNFs


# 6078680b 18-Aug-2014 desharna <none@none>

renamed 'rel_mono_strong' to 'rel_mono_strong0'


# 173fde0a 14-Aug-2014 desharna <none@none>

generate 'rel_map' theorem for BNFs


# 7b8e65c1 25-Jul-2014 blanchet <none@none>

tuning


# 7a2c8cdb 23-Jul-2014 blanchet <none@none>

use the noted theorems in 'BNF_Comp'


# 97fe0137 23-Jul-2014 blanchet <none@none>

use the noted theorem whenever possible, also in 'BNF_Def'


# efd75a1e 17-Jul-2014 desharna <none@none>

add mk_Trueprop_mem utility function


# 7830c6f8 09-Jul-2014 blanchet <none@none>

got rid of a pointer equality


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

compile


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

tune the implementation of 'rel_coinduct'


# a0ad2713 24-Jun-2014 desharna <none@none>

generate 'rel_coinduct0' theorem for codatatypes


# 990ffd96 07-May-2014 desharna <none@none>

note map_id0 more often


# e0e6fae1 08-May-2014 desharna <none@none>

generate 'map_ident' theorem for BNFs


# f5f7066b 27-Apr-2014 blanchet <none@none>

more reliable 'name_of_bnf'


# 7369466c 23-Apr-2014 blanchet <none@none>

made SML/NJ happier


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

localize new size function generation code


# 939a8149 23-Apr-2014 blanchet <none@none>

added 'inj_map' as auxiliary BNF theorem


# 88c45359 10-Apr-2014 kuncar <none@none>

revert idiomatic handling of namings from 5a93b8f928a2 because in combination with Named_Target.theory_init global names are sometimes created


# 6a76ebd9 10-Apr-2014 kuncar <none@none>

don't forget to init Interpretation and transfer theorems in the interpretation hook


# e0a8605f 03-Apr-2014 blanchet <none@none>

added same idiomatic handling of namings for Ctr_Sugar/BNF-related interpretation hooks as for typedef and (old-style) datatypes


# cb2fcf0f 01-Apr-2014 blanchet <none@none>

added BNF interpretation hook


# 0bd56fcf 10-Mar-2014 traytel <none@none>

unfold intermediate definitions after sealing the bnf


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

renamed 'fun_rel' to 'rel_fun'


# 85e54101 02-Mar-2014 blanchet <none@none>

make 'typedef' optional, depending on size of original type


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

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


# 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')


# 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


# d45839cf 07-Feb-2014 blanchet <none@none>

reverted a87e49f4336d -- overwriting of data entries yields to merge problems later


# 0333edae 06-Feb-2014 blanchet <none@none>

allow multiple registration of the same type, the last wins


# 376fc3bb 31-Jan-2014 traytel <none@none>

less hermetic tactics


# 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