src/HOL/simpdata.ML
changeset 4669 06f3c56dcba8
parent 4652 d24cca140eeb
child 4677 c4b07b8579fd
equal deleted inserted replaced
4668:131989b78417 4669:06f3c56dcba8
   335 
   335 
   336 val split_asm_tac = mk_case_split_asm_tac split_tac 
   336 val split_asm_tac = mk_case_split_asm_tac split_tac 
   337 			(disjE,conjE,exE,contrapos,contrapos2,notnotD);
   337 			(disjE,conjE,exE,contrapos,contrapos2,notnotD);
   338 
   338 
   339 infix 4 addsplits;
   339 infix 4 addsplits;
   340 fun ss addsplits splits = ss addloop (split_tac splits);
   340 fun ss addsplits splits =
   341 
   341   let fun addsplit(ss,split) =
       
   342         let val name = "split " ^ const_of_split_thm split
       
   343         in ss addloop (name,split_tac [split]) end
       
   344   in foldl addsplit (ss,splits) end;
   342 
   345 
   343 qed_goal "if_cancel" HOL.thy "(if c then x else x) = x"
   346 qed_goal "if_cancel" HOL.thy "(if c then x else x) = x"
   344   (K [split_tac [expand_if] 1, blast_tac HOL_cs 1]);
   347   (K [split_tac [expand_if] 1, blast_tac HOL_cs 1]);
   345 
   348 
   346 (** 'if' congruence rules: neither included by default! *)
   349 (** 'if' congruence rules: neither included by default! *)