(* Proof of lem_sing_eq_paire                                              *)
intros; unfold singleton in |- *; unfold iff in |- *; split; intros.
elim (lem_paire_propertie a a b c); intros.
elim H0; intros;
[ auto with zfc
| elim H2; intros; split; auto with zfc
| auto with zfc ].
elim H; intros; rewrite <- H0; rewrite <- H1; reflexivity.
Qed.
(* End of proof of lem_sing_eq_paire                                       *)

(***************************************************************************)
(* (a,b)=(c,d) <==> (a=c /\ b=d)                                           *)
(***************************************************************************)
Lemma lem_couple_propertie :
forall al ar bl br : E, couple al bl = couple ar br <-> al = ar /\ bl = br.