(* Proof of lem_fun_img_prop1                                              *)
intros; apply axs_extensionnalite; intros; unfold iff in |- *; split; intros.
unfold fun_img_directe in H0.
elim
(axs_comprehension
(fun x0 : E =>
In (fun_img_inverse f Af x) (parties (dom f)) ->
exists y : E, In y (fun_img_inverse f Af x) /\ x0 = App f Af y)
(Img f) v2); intros; generalize (H1 H0); clear H0 H1 H2;
intros.
elim H0; clear H0; intros.
generalize (H1 (lem_fun_img_inv_is_in_pdom f Af x H)); clear H1; intros.
elim H1; clear H1; intros.
elim H1; clear H1; intros.
unfold fun_img_inverse in H1.
elim
(axs_comprehension
(fun x1 : E => In x (parties (Img f)) -> In (App f Af x1) x)
(dom f) x0); intros; generalize (H3 H1); clear H1 H3 H4;
intros.
elim H1; clear H1; intros; generalize (H3 H); clear H3; intros.
rewrite H2; auto with zfc.
unfold fun_img_directe in |- *.
elim
(axs_comprehension
(fun x0 : E =>
In (fun_img_inverse f Af x) (parties (dom f)) ->
exists y : E, In y (fun_img_inverse f Af x) /\ x0 = App f Af y)
(Img f) v2); intros; apply H2; clear H1 H2; intros.
split; intros.
elim (axs_parties (Img f) x); intros; generalize (H1 H); clear H1 H2; intros;
auto with zfc.
elim (axs_parties (Img f) x); intros; generalize (H2 H); clear H2 H3; intros.
generalize (H2 v2 H0); clear H2; intros.
generalize (lem_App_rev f v2 Af H2); intros.
elim H3; clear H3; intros; elim H3; clear H3; intros.
exists x0; split.
unfold fun_img_inverse in |- *.
elim
(axs_comprehension
(fun x1 : E => In x (parties (Img f)) -> In (App f Af x1) x)
(dom f) x0); intros; apply H6; clear H5 H6; intros.
split; [ auto with zfc | intros; clear H5 ].
generalize (lem_eval_propertie f x0 v2 Af H4); intros.
rewrite <- H5; auto with zfc.
exact (lem_eval_propertie f x0 v2 Af H4).
Qed.
(* End of proof of lem_fun_img_prop1                                       *)

(* Specifications: *)
(***************************************************************************)
(* (fun_img_directe f Af x) est element de (parties (Img f))               *)
(***************************************************************************)
Lemma lem_fun_img_dir_is_in_pimg :
forall (f : E) (Af : fun_ f) (x : E),
In x (parties (dom f)) -> In (fun_img_directe f Af x) (parties (Img f)).