(* Proof of lem_fun_elem_is_2tupple                                        *)
intros.
elim Af; clear Af; intros.
elim H0; clear H0; intros; elim H0; clear H0; intros.
unfold inc in H0.
generalize (H0 c H); clear H0; intros.
elim (lem_cartesian_propertie x x0 c); intros; generalize (H2 H0);
clear H0 H2 H3; intros.
elim H0; clear H0; intros; elim H0; clear H0; intros; elim H0; clear H0;
intros.
elim H2; clear H2; intros.
exists x1; exists x2; rewrite <- H3; split;
[ auto with zfc | reflexivity ].
Qed.
(* End of proof of lem_fun_elem_is_2tupple                                 *)

(***************************************************************************)
(* La reciproque : Si f est une application de b dans a alors f est un     *)
(* element de (exp a b).                                                   *)
(***************************************************************************)
Lemma lem_exp_elem_prop_recip :
forall a b f : E, fun_sig f b a -> In f (exp a b).