# HG changeset patch # User blanchet # Date 1383775544 -3600 # Node ID 578371ba74ccb4dec494ef81d4e17ebcb2c77e5d # Parent 0b53378080d94240799e945a5fccdb68f51dcc5b reverted 3e1d230f1c00 -- pervasiveness is useful, cf. Coinductive_Nat in the AFP diff -r 0b53378080d9 -r 578371ba74cc src/HOL/BNF/Tools/bnf_def.ML --- a/src/HOL/BNF/Tools/bnf_def.ML Wed Nov 06 22:50:12 2013 +0100 +++ b/src/HOL/BNF/Tools/bnf_def.ML Wed Nov 06 23:05:44 2013 +0100 @@ -1313,7 +1313,7 @@ end; fun register_bnf key (bnf, lthy) = - (bnf, Local_Theory.declaration {syntax = false, pervasive = false} + (bnf, Local_Theory.declaration {syntax = false, pervasive = true} (fn phi => Data.map (Symtab.default (key, morph_bnf phi bnf))) lthy); fun bnf_def const_policy fact_policy qualify tacs wit_tac Ds map_b rel_b set_bs = diff -r 0b53378080d9 -r 578371ba74cc src/HOL/BNF/Tools/bnf_fp_def_sugar.ML --- a/src/HOL/BNF/Tools/bnf_fp_def_sugar.ML Wed Nov 06 22:50:12 2013 +0100 +++ b/src/HOL/BNF/Tools/bnf_fp_def_sugar.ML Wed Nov 06 23:05:44 2013 +0100 @@ -179,7 +179,7 @@ (* TODO: register "sum" and "prod" as datatypes to enable N2M reduction for them *) fun register_fp_sugar key fp_sugar = - Local_Theory.declaration {syntax = false, pervasive = false} + Local_Theory.declaration {syntax = false, pervasive = true} (fn phi => Data.map (Symtab.default (key, morph_fp_sugar phi fp_sugar))); fun register_fp_sugars fp pre_bnfs nested_bnfs nesting_bnfs (fp_res as {Ts, ...}) ctr_defss diff -r 0b53378080d9 -r 578371ba74cc src/HOL/BNF/Tools/ctr_sugar.ML --- a/src/HOL/BNF/Tools/ctr_sugar.ML Wed Nov 06 22:50:12 2013 +0100 +++ b/src/HOL/BNF/Tools/ctr_sugar.ML Wed Nov 06 23:05:44 2013 +0100 @@ -139,7 +139,7 @@ Symtab.fold (cons o transfer_ctr_sugar ctxt o snd) (Data.get (Context.Proof ctxt)) []; fun register_ctr_sugar key ctr_sugar = - Local_Theory.declaration {syntax = false, pervasive = false} + Local_Theory.declaration {syntax = false, pervasive = true} (fn phi => Data.map (Symtab.default (key, morph_ctr_sugar phi ctr_sugar))); val rep_compat_prefix = "new"; @@ -918,7 +918,7 @@ (ctr_sugar, lthy |> not rep_compat ? - (Local_Theory.declaration {syntax = false, pervasive = false} + (Local_Theory.declaration {syntax = false, pervasive = true} (fn phi => Case_Translation.register (Morphism.term phi casex) (map (Morphism.term phi) ctrs))) |> Local_Theory.notes (anonymous_notes @ notes) |> snd