src/Pure/Isar/calculation.ML
changeset 8634 3f34637cb9c0
parent 8588 b7c3f264f8ac
child 8649 dc496bb0638f
equal deleted inserted replaced
8633:427ead639d8a 8634:3f34637cb9c0
    89 val trans_del_local = mk_att LocalCalculation.map (Library.apfst o NetRules.delete);
    89 val trans_del_local = mk_att LocalCalculation.map (Library.apfst o NetRules.delete);
    90 
    90 
    91 
    91 
    92 (* concrete syntax *)
    92 (* concrete syntax *)
    93 
    93 
    94 val transN = "trans";
       
    95 val addN = "add";
       
    96 val delN = "del";
       
    97 
       
    98 fun trans_att add del =
       
    99   Attrib.syntax (Scan.lift (Args.$$$ addN >> K add || Args.$$$ delN >> K del || Scan.succeed add));
       
   100 
       
   101 val trans_attr =
    94 val trans_attr =
   102   (trans_att trans_add_global trans_del_global, trans_att trans_add_local trans_del_local);
    95  (Attrib.add_del_args trans_add_global trans_del_global,
       
    96   Attrib.add_del_args trans_add_local trans_del_local);
   103 
    97 
   104 
    98 
   105 
    99 
   106 (** proof commands **)
   100 (** proof commands **)
   107 
   101 
   179 
   173 
   180 
   174 
   181 (** theory setup **)
   175 (** theory setup **)
   182 
   176 
   183 val setup = [GlobalCalculation.init, LocalCalculation.init,
   177 val setup = [GlobalCalculation.init, LocalCalculation.init,
   184   Attrib.add_attributes [(transN, trans_attr, "declare transitivity rule")]];
   178   Attrib.add_attributes [("trans", trans_attr, "declare transitivity rule")]];
   185 
   179 
   186 
   180 
   187 end;
   181 end;