(* 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_exp_elem_is_fun : forall a b f : E, In f (exp a b) -> fun_ f.