src/ZF/Perm.ML
changeset 6 8ce8c4d13d4d
parent 0 a5a9c433f639
child 37 cebe01deba80
     1.1 --- a/src/ZF/Perm.ML	Fri Sep 17 12:53:53 1993 +0200
     1.2 +++ b/src/ZF/Perm.ML	Fri Sep 17 16:16:38 1993 +0200
     1.3 @@ -52,6 +52,7 @@
     1.4  (* f: bij(A,B) ==> f: A->B *)
     1.5  val bij_is_fun = standard (bij_is_inj RS inj_is_fun);
     1.6  
     1.7 +
     1.8  (** Identity function **)
     1.9  
    1.10  val [prem] = goalw Perm.thy [id_def] "a:A ==> <a,a> : id(A)";  
    1.11 @@ -76,7 +77,7 @@
    1.12  
    1.13  goalw Perm.thy [inj_def,id_def] "id(A): inj(A,A)";
    1.14  by (REPEAT (ares_tac [CollectI,lam_type] 1));
    1.15 -by (SIMP_TAC ZF_ss 1);
    1.16 +by (simp_tac ZF_ss 1);
    1.17  val id_inj = result();
    1.18  
    1.19  goalw Perm.thy [id_def,surj_def] "id(A): surj(A,A)";
    1.20 @@ -262,7 +263,7 @@
    1.21      "!!f g. [| (f O g): inj(A,C);  g: A->B;  f: B->C |] ==> g: inj(A,B)";
    1.22  by (safe_tac comp_cs);
    1.23  by (REPEAT (eresolve_tac [asm_rl, bspec RS bspec RS mp] 1));
    1.24 -by (ASM_SIMP_TAC (ZF_ss addrews [comp_func_apply]) 1);
    1.25 +by (asm_simp_tac (FOL_ss addsimps [comp_func_apply]) 1);
    1.26  val comp_mem_injD1 = result();
    1.27  
    1.28  goalw Perm.thy [inj_def,surj_def]
    1.29 @@ -271,9 +272,10 @@
    1.30  by (res_inst_tac [("x1", "x")] (bspec RS bexE) 1);
    1.31  by (eres_inst_tac [("x1", "w")] (bspec RS bexE) 3);
    1.32  by (REPEAT (assume_tac 1));
    1.33 -by (safe_tac (comp_cs addSIs ZF_congs));
    1.34 +by (safe_tac comp_cs);
    1.35 +by (res_inst_tac [("t", "op `(g)")] subst_context 1);
    1.36  by (REPEAT (eresolve_tac [asm_rl, bspec RS bspec RS mp] 1));
    1.37 -by (ASM_SIMP_TAC (ZF_ss addrews [comp_func_apply]) 1);
    1.38 +by (asm_simp_tac (FOL_ss addsimps [comp_func_apply]) 1);
    1.39  val comp_mem_injD2 = result();
    1.40  
    1.41  goalw Perm.thy [surj_def]
    1.42 @@ -427,7 +429,9 @@
    1.43  by (etac fun_extend 1);
    1.44  by (REPEAT (ares_tac [ballI] 1));
    1.45  by (REPEAT_FIRST (eresolve_tac [consE,ssubst]));
    1.46 -(*Assumption ALL w:A. ALL x:A. f`w = f`x --> w=x makes ASM_SIMP_TAC loop!*)
    1.47 -by (ALLGOALS (SIMP_TAC (ZF_ss addrews [fun_extend_apply2,fun_extend_apply1])));
    1.48 +(*Assumption ALL w:A. ALL x:A. f`w = f`x --> w=x would make asm_simp_tac loop
    1.49 +  using ZF_ss!  But FOL_ss ignores the assumption...*)
    1.50 +by (ALLGOALS (asm_simp_tac 
    1.51 +	      (FOL_ss addsimps [fun_extend_apply2,fun_extend_apply1])));
    1.52  by (ALLGOALS (fast_tac (ZF_cs addIs [apply_type])));
    1.53  val inj_extend = result();