cons_fun_eq: modified strange uses of classical reasoner
authorlcp
Thu, 24 Nov 1994 10:23:41 +0100
changeset 737 436019ca97d7
parent 736 a8d1758bb113
child 738 3054a10ed5b5
cons_fun_eq: modified strange uses of classical reasoner
src/ZF/func.ML
--- a/src/ZF/func.ML	Thu Nov 24 00:33:13 1994 +0100
+++ b/src/ZF/func.ML	Thu Nov 24 10:23:41 1994 +0100
@@ -380,12 +380,13 @@
 (*For Finite.ML.  Inclusion of right into left is easy*)
 goal ZF.thy
     "!!c. c ~: A ==> cons(c,A) -> B = (UN f: A->B. UN b:B. {cons(<c,b>, f)})";
-by (safe_tac (eq_cs addSEs [fun_extend3]));
+by (rtac equalityI 1);
+by (safe_tac (ZF_cs addSEs [fun_extend3]));
 (*Inclusion of left into right*)
 by (subgoal_tac "restrict(x, A) : A -> B" 1);
 by (fast_tac (ZF_cs addEs [restrict_type2]) 2);
 by (rtac UN_I 1 THEN assume_tac 1);
-by (rtac UN_I 1 THEN fast_tac (ZF_cs addEs [apply_type]) 1);
+by (rtac (apply_funtype RS UN_I) 1 THEN REPEAT (ares_tac [consI1] 1));
 by (simp_tac (FOL_ss addsimps cons_iff::mem_simps) 1);
 by (resolve_tac [fun_extension] 1 THEN REPEAT (ares_tac [fun_extend] 1));
 by (etac consE 1);