src/ZF/Nat.ML
changeset 13155 dcbf6cb95534
parent 12552 d2d2ab3f1f37
--- a/src/ZF/Nat.ML	Wed May 15 13:50:38 2002 +0200
+++ b/src/ZF/Nat.ML	Thu May 16 09:16:22 2002 +0200
@@ -170,12 +170,24 @@
 
 (** Induction principle analogous to trancl_induct **)
 
+val le_cs = claset() addSIs [leCI] addSEs [leE] addEs [lt_asym];
+
 Goal "m: nat ==> P(m,succ(m)) --> (ALL x: nat. P(m,x) --> P(m,succ(x))) --> \
 \                 (ALL n:nat. m<n --> P(m,n))";
 by (etac nat_induct 1);
-by (ALLGOALS   
-    (EVERY' [rtac (impI RS impI), rtac (nat_induct RS ballI), assume_tac,
-             blast_tac le_cs, blast_tac le_cs])); 
+by (rtac (impI RS impI) 1);
+by (rtac (nat_induct RS ballI) 1);
+by (assume_tac 1);
+by (Blast_tac 1);
+by (asm_simp_tac (simpset() addsimps [le_iff]) 1);
+by (Blast_tac 1);
+(*and again*)
+by (rtac (impI RS impI) 1);
+by (rtac (nat_induct RS ballI) 1);
+by (assume_tac 1);
+by (Blast_tac 1);
+by (asm_simp_tac (simpset() addsimps [le_iff]) 1);
+by (Blast_tac 1);
 qed "succ_lt_induct_lemma";
 
 val prems = Goal