src/ZF/Perm.ML
changeset 6 8ce8c4d13d4d
parent 0 a5a9c433f639
child 37 cebe01deba80
--- a/src/ZF/Perm.ML	Fri Sep 17 12:53:53 1993 +0200
+++ b/src/ZF/Perm.ML	Fri Sep 17 16:16:38 1993 +0200
@@ -52,6 +52,7 @@
 (* f: bij(A,B) ==> f: A->B *)
 val bij_is_fun = standard (bij_is_inj RS inj_is_fun);
 
+
 (** Identity function **)
 
 val [prem] = goalw Perm.thy [id_def] "a:A ==> <a,a> : id(A)";  
@@ -76,7 +77,7 @@
 
 goalw Perm.thy [inj_def,id_def] "id(A): inj(A,A)";
 by (REPEAT (ares_tac [CollectI,lam_type] 1));
-by (SIMP_TAC ZF_ss 1);
+by (simp_tac ZF_ss 1);
 val id_inj = result();
 
 goalw Perm.thy [id_def,surj_def] "id(A): surj(A,A)";
@@ -262,7 +263,7 @@
     "!!f g. [| (f O g): inj(A,C);  g: A->B;  f: B->C |] ==> g: inj(A,B)";
 by (safe_tac comp_cs);
 by (REPEAT (eresolve_tac [asm_rl, bspec RS bspec RS mp] 1));
-by (ASM_SIMP_TAC (ZF_ss addrews [comp_func_apply]) 1);
+by (asm_simp_tac (FOL_ss addsimps [comp_func_apply]) 1);
 val comp_mem_injD1 = result();
 
 goalw Perm.thy [inj_def,surj_def]
@@ -271,9 +272,10 @@
 by (res_inst_tac [("x1", "x")] (bspec RS bexE) 1);
 by (eres_inst_tac [("x1", "w")] (bspec RS bexE) 3);
 by (REPEAT (assume_tac 1));
-by (safe_tac (comp_cs addSIs ZF_congs));
+by (safe_tac comp_cs);
+by (res_inst_tac [("t", "op `(g)")] subst_context 1);
 by (REPEAT (eresolve_tac [asm_rl, bspec RS bspec RS mp] 1));
-by (ASM_SIMP_TAC (ZF_ss addrews [comp_func_apply]) 1);
+by (asm_simp_tac (FOL_ss addsimps [comp_func_apply]) 1);
 val comp_mem_injD2 = result();
 
 goalw Perm.thy [surj_def]
@@ -427,7 +429,9 @@
 by (etac fun_extend 1);
 by (REPEAT (ares_tac [ballI] 1));
 by (REPEAT_FIRST (eresolve_tac [consE,ssubst]));
-(*Assumption ALL w:A. ALL x:A. f`w = f`x --> w=x makes ASM_SIMP_TAC loop!*)
-by (ALLGOALS (SIMP_TAC (ZF_ss addrews [fun_extend_apply2,fun_extend_apply1])));
+(*Assumption ALL w:A. ALL x:A. f`w = f`x --> w=x would make asm_simp_tac loop
+  using ZF_ss!  But FOL_ss ignores the assumption...*)
+by (ALLGOALS (asm_simp_tac 
+	      (FOL_ss addsimps [fun_extend_apply2,fun_extend_apply1])));
 by (ALLGOALS (fast_tac (ZF_cs addIs [apply_type])));
 val inj_extend = result();