Fewer premises for restrict_image
authorpaulson
Mon, 18 Mar 2002 11:47:03 +0100
changeset 13061 75b2edff1af3
parent 13060 f6442b87b5f8
child 13062 4b1edf2f6bd2
Fewer premises for restrict_image
src/ZF/Perm.ML
--- a/src/ZF/Perm.ML	Thu Mar 14 17:35:47 2002 +0100
+++ b/src/ZF/Perm.ML	Mon Mar 18 11:47:03 2002 +0100
@@ -495,12 +495,10 @@
 by (fast_tac (claset() addIs rls) 1);
 qed "surj_image";
 
-Goal "[| f: Pi(C,B);  A<=C |] ==> restrict(f,A)``A = f``A";
-by (rtac equalityI 1);
-by (asm_full_simp_tac (simpset() addsimps [restrict_def]) 2); 
-by (blast_tac (claset() addIs [apply_Pair]) 2); 
-by (REPEAT (ares_tac [image_mono,restrict_subset,subset_refl] 1));
+Goal "restrict(f,A) `` B = f `` (A Int B)";
+by (auto_tac (claset(), simpset() addsimps [restrict_def])); 
 qed "restrict_image";
+Addsimps [restrict_image];
 
 Goalw [inj_def]
     "[| f: inj(A,B);  C<=A |] ==> restrict(f,C): inj(C,B)";
@@ -509,9 +507,9 @@
                           box_equals, restrict] 1));
 qed "restrict_inj";
 
-Goal "[| f: Pi(A,B);  C<=A |] ==> restrict(f,C): surj(C, f``C)";
-by (rtac (restrict_image RS subst) 1);
-by (rtac (restrict_type2 RS surj_image) 3);
+Goal "[| f: Pi(A,B);  C<=A |] ==> restrict(f,C): surj(C, f``C)"; 
+by (rtac (simplify (simpset() addsimps [restrict_image])
+          (restrict_type2 RS surj_image)) 1);
 by (REPEAT (assume_tac 1));
 qed "restrict_surj";