src/Pure/Isar/proof_context.ML
changeset 42402 c7139609b67d
parent 42387 b1965c8992c8
child 42405 13ecdb3057d8
equal deleted inserted replaced
42401:9bfaf6819291 42402:c7139609b67d
   698   map (expand_abbrevs ctxt);
   698   map (expand_abbrevs ctxt);
   699 
   699 
   700 fun standard_term_uncheck ctxt =
   700 fun standard_term_uncheck ctxt =
   701   map (contract_abbrevs ctxt);
   701   map (contract_abbrevs ctxt);
   702 
   702 
   703 fun add eq what f = Context.>> (what (fn xs => fn ctxt =>
   703 in
   704   let val xs' = f ctxt xs in if eq_list eq (xs, xs') then NONE else SOME (xs', ctxt) end));
   704 
   705 
   705 val _ = Context.>>
   706 in
   706  (Syntax.add_typ_check 0 "standard" standard_typ_check #>
   707 
   707   Syntax.add_term_check 0 "standard" standard_term_check #>
   708 val _ = add (op =) (Syntax.add_typ_check 0 "standard") standard_typ_check;
   708   Syntax.add_term_check 100 "fixate" prepare_patterns #>
   709 val _ = add (op aconv) (Syntax.add_term_check 0 "standard") standard_term_check;
   709   Syntax.add_term_uncheck 0 "standard" standard_term_uncheck);
   710 val _ = add (op aconv) (Syntax.add_term_check 100 "fixate") prepare_patterns;
       
   711 
       
   712 val _ = add (op aconv) (Syntax.add_term_uncheck 0 "standard") standard_term_uncheck;
       
   713 
   710 
   714 end;
   711 end;
   715 
   712 
   716 
   713 
   717 
   714