new result comp_surj
authorpaulson
Mon, 06 Aug 2001 12:40:39 +0200
changeset 11459 1b6258b288ba
parent 11458 09a6c44a48ea
child 11460 e5fb885bfe3a
new result comp_surj
src/HOL/Fun.ML
--- a/src/HOL/Fun.ML	Fri Aug 03 18:04:55 2001 +0200
+++ b/src/HOL/Fun.ML	Mon Aug 06 12:40:39 2001 +0200
@@ -129,8 +129,9 @@
 by (blast_tac (claset() addSDs [inj_onD]) 1);
 qed "inj_on_iff";
 
-Goalw [o_def] "[| inj_on f A;  inj_on g (f`A) |] ==> inj_on (g o f) A";
-by (fast_tac (claset() addIs [inj_onI] addEs [inj_onD]) 1);
+Goalw [o_def, inj_on_def]
+     "[| inj_on f A;  inj_on g (f`A) |] ==> inj_on (g o f) A";
+by (Blast_tac 1);
 qed "comp_inj_on";
 
 Goalw [inj_on_def] "[| inj_on f A;  ~x=y;  x:A;  y:A |] ==> ~ f(x)=f(y)";
@@ -161,6 +162,13 @@
 by (Blast_tac 1);
 qed "surjD";
 
+Goalw [o_def, surj_def] "[| surj f;  surj g |] ==> surj (g o f)";
+by (Clarify_tac 1); 
+by (dres_inst_tac [("x","y")] spec 1); 
+by (Clarify_tac 1); 
+by (dres_inst_tac [("x","x")] spec 1); 
+by (Blast_tac 1); 
+qed "comp_surj";
 
 
 (** Bijections **)