src/Pure/Isar/proof_context.ML
changeset 33519 e31a85f92ce9
parent 33387 acea2f336721
child 33537 06c87d2c5b5a
equal deleted inserted replaced
33518:24563731b9b2 33519:e31a85f92ce9
   175   Ctxt {mode = mode, naming = naming, syntax = syntax,
   175   Ctxt {mode = mode, naming = naming, syntax = syntax,
   176     consts = consts, facts = facts, cases = cases};
   176     consts = consts, facts = facts, cases = cases};
   177 
   177 
   178 val local_naming = Name_Space.default_naming |> Name_Space.add_path "local";
   178 val local_naming = Name_Space.default_naming |> Name_Space.add_path "local";
   179 
   179 
   180 structure ContextData = ProofDataFun
   180 structure ContextData = Proof_Data
   181 (
   181 (
   182   type T = ctxt;
   182   type T = ctxt;
   183   fun init thy =
   183   fun init thy =
   184     make_ctxt (mode_default, local_naming, Local_Syntax.init thy,
   184     make_ctxt (mode_default, local_naming, Local_Syntax.init thy,
   185       (Sign.consts_of thy, Sign.consts_of thy), Facts.empty, []);
   185       (Sign.consts_of thy, Sign.consts_of thy), Facts.empty, []);
   513   in T end;
   513   in T end;
   514 
   514 
   515 
   515 
   516 local
   516 local
   517 
   517 
   518 structure Allow_Dummies = ProofDataFun(type T = bool fun init _ = false);
   518 structure Allow_Dummies = Proof_Data(type T = bool fun init _ = false);
   519 
   519 
   520 fun check_dummies ctxt t =
   520 fun check_dummies ctxt t =
   521   if Allow_Dummies.get ctxt then t
   521   if Allow_Dummies.get ctxt then t
   522   else Term.no_dummy_patterns t handle TERM _ => error "Illegal dummy pattern(s) in term";
   522   else Term.no_dummy_patterns t handle TERM _ => error "Illegal dummy pattern(s) in term";
   523 
   523