Section fonctions2.
Variable E : Ensf.
Variable F : Ensf.
Variable f : Elt -> Elt.
Hint Unfold application.
split.
auto.
intros.
cut (exists y : Elt, dans y E /\ x = f y :>Elt).
intro temp; elim temp; clear temp.
intro. intuition.
prolog [ ex_intro2 ] 4.
(*Intros y temp; Elim temp; Clear temp ; Intros dans_y egal_y. Exists y;Auto.*)
auto.
Qed.
Hint Resolve is_epi_f_over_image.
auto.
Qed.
Let invf := inv E F f.
Hint Unfold invf.
intros.
red in |- *.
intros x y dans_x dans_y egal_inv.
replace x with (f (inv E F f x)).
replace y with (f (inv E F f y)).
apply (f_equal (A:=Elt) (B:=Elt)); assumption.
auto.
auto.
Qed.

Lemma inv_is_epi : is_iso E F f -> is_epi F E invf.