(* Proof of lem_exp_elem_img                                               *)
generalize (lem_exp_elem_is_fun a b f H); intros.
unfold exp in H.
elim
(axs_comprehension
(fun f0 : E =>
forall x : E, In x b -> exUniq E (fun y : E => In (couple x y) f0))
(parties (cartesien b a)) f); intros; generalize (H2 H);
clear H H2 H3; intros.
elim H; clear H; intros.
elim (axs_parties (cartesien b a) f); intros; generalize (H3 H);
clear H H3 H4; intros.
generalize (lem_App_rev f v0 H1 H0); intros.
elim H3; clear H3; intros; elim H3; clear H3; intros.
generalize (H (couple x v0) H4); clear H H4; intros.
elim (lem_cartesian_propertie b a (couple x v0)); intros; generalize (H4 H);
clear H H4 H5; intros.
elim H; clear H; intros; elim H; clear H; intros; elim H; clear H; intros;
elim H4; clear H4; intros.
elim (lem_couple_propertie x x0 v0 x1); intros; generalize (H6 H5);
clear H5 H6 H7; intros.
elim H5; clear H5; intros.
rewrite H6; auto with zfc.
Qed.
(* End of proof of lem_exp_elem_img                                        *)

(* Specifications: *)
(***************************************************************************)
(* La conclusion: les elements de (exp a b) sont les applications de b     *)
(* dans a                                                                  *)
(***************************************************************************)
Lemma lem_exp_elem_prop : forall a b f : E, In f (exp a b) -> fun_sig f b a.
intros.