intros E F f n H' H'0 H'1; try assumption.
generalize (cardinal_image_injective H' H'1).
intros H'2; try assumption.
apply image_full_surjective; auto with *.
unfold image_map in |- *.
apply cardinal_equal_included_equal with n; auto with *.
Qed.
Parameter
surjective_image_full :
forall (E F : Setoid) (f : MAP E F),
surjective f -> Equal (image_map f) (full F).
Hint Resolve surjective_image_full: algebra.

(* Specifications: *)
Lemma finite_surjective_injective :
forall (E F : Setoid) (f : MAP E F) (n : nat),
cardinal (full E) n -> cardinal (full F) n -> surjective f -> injective f.