src/HOL/Tools/BNF/bnf_def.ML
changeset 62093 bd73a2279fcd
parent 61841 4d3527b94f2a
child 62324 ae44f16dcea5
equal deleted inserted replaced
62092:9ace5f5bae69 62093:bd73a2279fcd
   117   val zip_axioms: 'a -> 'a -> 'a -> 'a list -> 'a -> 'a -> 'a list -> 'a -> 'a -> 'a list
   117   val zip_axioms: 'a -> 'a -> 'a -> 'a list -> 'a -> 'a -> 'a list -> 'a -> 'a -> 'a list
   118 
   118 
   119   datatype inline_policy = Dont_Inline | Hardly_Inline | Smart_Inline | Do_Inline
   119   datatype inline_policy = Dont_Inline | Hardly_Inline | Smart_Inline | Do_Inline
   120   datatype fact_policy = Dont_Note | Note_Some | Note_All
   120   datatype fact_policy = Dont_Note | Note_Some | Note_All
   121 
   121 
   122   val bnf_note_all: bool Config.T
   122   val bnf_internals: bool Config.T
   123   val bnf_timing: bool Config.T
   123   val bnf_timing: bool Config.T
   124   val user_policy: fact_policy -> Proof.context -> fact_policy
   124   val user_policy: fact_policy -> Proof.context -> fact_policy
   125   val note_bnf_thms: fact_policy -> (binding -> binding) -> binding -> bnf -> Proof.context ->
   125   val note_bnf_thms: fact_policy -> (binding -> binding) -> binding -> bnf -> Proof.context ->
   126     bnf * Proof.context
   126     bnf * Proof.context
   127 
   127 
   723 
   723 
   724 datatype inline_policy = Dont_Inline | Hardly_Inline | Smart_Inline | Do_Inline;
   724 datatype inline_policy = Dont_Inline | Hardly_Inline | Smart_Inline | Do_Inline;
   725 
   725 
   726 datatype fact_policy = Dont_Note | Note_Some | Note_All;
   726 datatype fact_policy = Dont_Note | Note_Some | Note_All;
   727 
   727 
   728 val bnf_note_all = Attrib.setup_config_bool @{binding bnf_note_all} (K false);
   728 val bnf_internals = Attrib.setup_config_bool @{binding bnf_internals} (K false);
   729 val bnf_timing = Attrib.setup_config_bool @{binding bnf_timing} (K false);
   729 val bnf_timing = Attrib.setup_config_bool @{binding bnf_timing} (K false);
   730 
   730 
   731 fun user_policy policy ctxt = if Config.get ctxt bnf_note_all then Note_All else policy;
   731 fun user_policy policy ctxt = if Config.get ctxt bnf_internals then Note_All else policy;
   732 
   732 
   733 val smart_max_inline_term_size = 25; (*FUDGE*)
   733 val smart_max_inline_term_size = 25; (*FUDGE*)
   734 
   734 
   735 fun note_bnf_thms fact_policy qualify0 bnf_b bnf lthy =
   735 fun note_bnf_thms fact_policy qualify0 bnf_b bnf lthy =
   736   let
   736   let