src/HOL/Induct/PropLog.ML
changeset 4831 dae4d63a1318
parent 4686 74a12e86b20b
child 5069 3ea049f7979d
equal deleted inserted replaced
4830:bd73675adbed 4831:dae4d63a1318
    99 by (rtac (premp RS weaken_left_insert) 1);
    99 by (rtac (premp RS weaken_left_insert) 1);
   100 qed "imp_false";
   100 qed "imp_false";
   101 
   101 
   102 (*This formulation is required for strong induction hypotheses*)
   102 (*This formulation is required for strong induction hypotheses*)
   103 goal PropLog.thy "hyps p tt |- (if tt[p] then p else p->false)";
   103 goal PropLog.thy "hyps p tt |- (if tt[p] then p else p->false)";
   104 by (rtac (expand_if RS iffD2) 1);
   104 by (rtac (split_if RS iffD2) 1);
   105 by (PropLog.pl.induct_tac "p" 1);
   105 by (PropLog.pl.induct_tac "p" 1);
   106 by (ALLGOALS (simp_tac (simpset() addsimps [thms_I, thms.H])));
   106 by (ALLGOALS (simp_tac (simpset() addsimps [thms_I, thms.H])));
   107 by (fast_tac (claset() addIs [weaken_left_Un1, weaken_left_Un2, 
   107 by (fast_tac (claset() addIs [weaken_left_Un1, weaken_left_Un2, 
   108 			      weaken_right, imp_false]
   108 			      weaken_right, imp_false]
   109                        addSEs [false_imp]) 1);
   109                        addSEs [false_imp]) 1);