src/Provers/splitter.ML
changeset 30609 983e8b6e4e69
parent 30570 8fac7efcce0a
child 30722 623d4831c8cf
equal deleted inserted replaced
30608:d9805c5b5d2e 30609:983e8b6e4e69
    33   val split_tac       : thm list -> int -> tactic
    33   val split_tac       : thm list -> int -> tactic
    34   val split_inside_tac: thm list -> int -> tactic
    34   val split_inside_tac: thm list -> int -> tactic
    35   val split_asm_tac   : thm list -> int -> tactic
    35   val split_asm_tac   : thm list -> int -> tactic
    36   val addsplits       : simpset * thm list -> simpset
    36   val addsplits       : simpset * thm list -> simpset
    37   val delsplits       : simpset * thm list -> simpset
    37   val delsplits       : simpset * thm list -> simpset
    38   val Addsplits       : thm list -> unit
       
    39   val Delsplits       : thm list -> unit
       
    40   val split_add: attribute
    38   val split_add: attribute
    41   val split_del: attribute
    39   val split_del: attribute
    42   val split_modifiers : Method.modifier parser list
    40   val split_modifiers : Method.modifier parser list
    43   val setup: theory -> theory
    41   val setup: theory -> theory
    44 end;
    42 end;
   451   let fun delsplit(ss,split) =
   449   let fun delsplit(ss,split) =
   452         let val (name,asm) = split_thm_info split
   450         let val (name,asm) = split_thm_info split
   453         in Simplifier.delloop (ss, split_name name asm)
   451         in Simplifier.delloop (ss, split_name name asm)
   454   end in Library.foldl delsplit (ss,splits) end;
   452   end in Library.foldl delsplit (ss,splits) end;
   455 
   453 
   456 fun Addsplits splits = (change_simpset (fn ss => ss addsplits splits));
       
   457 fun Delsplits splits = (change_simpset (fn ss => ss delsplits splits));
       
   458 
       
   459 
   454 
   460 (* attributes *)
   455 (* attributes *)
   461 
   456 
   462 val splitN = "split";
   457 val splitN = "split";
   463 
   458