(* End of proof of lem_fun_recip_involutive_under_bij                      *)

(***************************************************************************)
(***************************************************************************)
(* Exponantiation de a par b                                               *)
(***************************************************************************)
(***************************************************************************)

(***************************************************************************)
(* exp a b est l'ensemble des applications de b dans a                     *)
(***************************************************************************)
Definition exp (a b : E) :=
  subset
    (fun f : E =>
     forall x : E, In x b -> exUniq _ (fun y : E => In (couple x y) f))
    (parties (cartesien b a)).

Lemma lem_fun_elem_is_2tupple : forall (f : E) (Af : fun_ f) (c : E), In c f -> exists x : E, (exists y : E, In (couple x y) f /\ c = couple x y).