src/Provers/splitter.ML
changeset 18708 4b3dadb4fe33
parent 18688 abf0f018b5ec
child 18728 6790126ab5f6
equal deleted inserted replaced
18707:9d6154f76476 18708:4b3dadb4fe33
    33   val Addsplits       : thm list -> unit
    33   val Addsplits       : thm list -> unit
    34   val Delsplits       : thm list -> unit
    34   val Delsplits       : thm list -> unit
    35   val split_add: Context.generic attribute
    35   val split_add: Context.generic attribute
    36   val split_del: Context.generic attribute
    36   val split_del: Context.generic attribute
    37   val split_modifiers : (Args.T list -> (Method.modifier * Args.T list)) list
    37   val split_modifiers : (Args.T list -> (Method.modifier * Args.T list)) list
    38   val setup: (theory -> theory) list
    38   val setup: theory -> theory
    39 end;
    39 end;
    40 
    40 
    41 functor SplitterFun(Data: SPLITTER_DATA): SPLITTER =
    41 functor SplitterFun(Data: SPLITTER_DATA): SPLITTER =
    42 struct
    42 struct
    43 
    43 
   453 
   453 
   454 
   454 
   455 (* theory setup *)
   455 (* theory setup *)
   456 
   456 
   457 val setup =
   457 val setup =
   458  [Attrib.add_attributes
   458  (Attrib.add_attributes
   459   [(splitN, Attrib.common (Attrib.add_del_args split_add split_del),
   459   [(splitN, Attrib.common (Attrib.add_del_args split_add split_del),
   460     "declaration of case split rule")],
   460     "declaration of case split rule")] #>
   461   Method.add_methods [(splitN, split_meth, "apply case split rule")]];
   461   Method.add_methods [(splitN, split_meth, "apply case split rule")]);
   462 
   462 
   463 end;
   463 end;