(* Proof of lem_eval_propertie                                             *)
intros; apply axs_extensionnalite; intros.
unfold iff in |- *; split; intros; unfold App in |- *.
elim
(axs_comprehension (fun z : E => exists y : E, In (couple x y) f /\ In z y)
(reunion (Img f)) v2); intros; apply H2; clear H1 H2;
intros.
split; [ idtac | exists y; split; auto with zfc ].
elim (axs_reunion (Img f) v2); intros; apply H2; clear H1 H2; intros.
exists y; split; [ exact (lem_fun_and_img f x y Af H) | auto with zfc ].
unfold App in H0.
elim
(axs_comprehension (fun z : E => exists y : E, In (couple x y) f /\ In z y)
(reunion (Img f)) v2); intros; generalize (H1 H0);
clear H0 H1 H2; intros.
elim H0; clear H0; intros; elim H1; clear H1; intros; elim H1; clear H1;
intros.
elim Af; clear Af; intros; elim H3; clear H3; intros; elim H3; clear H3;
intros.
generalize (H4 x x0 y H1 H); clear H4; intros.
rewrite <- H4; auto with zfc.
Qed.
(* End of proof of lem_eval_propertie                                      *)

(* Specifications: *)
Lemma lem_eval_prop2 :
forall (f x : E) (Af : fun_ f), In x (dom f) -> In (couple x (App f Af x)) f.