HOL.ML
changeset 40 ac7b7003f177
parent 0 7949f97df77a
child 48 21291189b51e
equal deleted inserted replaced
39:91614f0eb250 40:ac7b7003f177
    15   val all_dupE: thm
    15   val all_dupE: thm
    16   val allI: thm
    16   val allI: thm
    17   val arg_cong: thm
    17   val arg_cong: thm
    18   val fun_cong: thm
    18   val fun_cong: thm
    19   val box_equals: thm
    19   val box_equals: thm
       
    20   val case_tac: string -> int -> tactic
    20   val ccontr: thm
    21   val ccontr: thm
    21   val classical: thm
    22   val classical: thm
    22   val cong: thm
    23   val cong: thm
    23   val conjunct1: thm
    24   val conjunct1: thm
    24   val conjunct2: thm
    25   val conjunct2: thm
   320 (*Required by the "classical" module*)
   321 (*Required by the "classical" module*)
   321 val swap = prove_goal HOL.thy "~P ==> (~Q ==> P) ==> Q"
   322 val swap = prove_goal HOL.thy "~P ==> (~Q ==> P) ==> Q"
   322  (fn major::prems=>
   323  (fn major::prems=>
   323   [ rtac ccontr 1, rtac (major RS notE) 1, REPEAT (ares_tac prems 1)]);
   324   [ rtac ccontr 1, rtac (major RS notE) 1, REPEAT (ares_tac prems 1)]);
   324 
   325 
       
   326 (* case distinction *)
       
   327 
       
   328 val case_split_thm = prove_goal HOL.thy "[| P ==> Q; ~P ==> Q |] ==> Q"
       
   329   (fn [p1,p2] => [cut_facts_tac [excluded_middle] 1, etac disjE 1,
       
   330                   etac p2 1, etac p1 1]);
       
   331 
       
   332 fun case_tac a = res_inst_tac [("P",a)] case_split_thm;
       
   333 
   325 (** Standard abbreviations **)
   334 (** Standard abbreviations **)
   326 
   335 
   327 fun stac th = rtac(th RS ssubst);
   336 fun stac th = rtac(th RS ssubst);
   328 fun sstac ths = EVERY' (map stac ths);
   337 fun sstac ths = EVERY' (map stac ths);
   329 fun strip_tac i = REPEAT(resolve_tac [impI,allI] i); 
   338 fun strip_tac i = REPEAT(resolve_tac [impI,allI] i); 
   330 
   339 
   331 end;
   340 end;
   332 
   341 
   333 open HOL_Lemmas;
   342 open HOL_Lemmas;
   334