(*									*)
(*  UNION DISJOINTE 							*)
(*    L'union disjointe de A et B est definie comme l'ensemble des 	*)
(*    des couples (x,zero) pour x dans A et (x,un) pour x dans B	*)
(*    Pour cela on definit 2 fonctions injgauche : x->(x,zero) et	*)
(*    injdroite : x->(x,un) et on fait l'union de (map injgauche A)	*)
(*    et de (map injdroite B).						*)
(*									*)

Definition injgauche (e : Elt) : Elt := couple e zero.Definition injdroite (e : Elt) : Elt := couple e un.Definition union_disj (e f : Ensf) : Ensf :=
  union (map injgauche e) (map injdroite f).

Lemma pair_equal : forall (A B : Set) (x x' : A) (y y' : B), x = x' :>A -> y = y' :>B -> pair x y = pair x' y' :>A * B.