split; intros [].
Qed.

(* Specifications: *)
Lemma Intersection_spec: forall A (v: A) P Q, Intersection _ P Q v <-> P v /\ Q v.
Lemma Union_spec: forall A (v: A) P Q, Union _ P Q v <-> P v \/ Q v.
Lemma Disjoint_spec: forall A P Q, Disjoint A P Q <-> (forall x, P x -> Q x -> False).
Lemma Singleton_spec: forall U x y, (Singleton U x) y <-> x = y.
Lemma Included_Full_set: forall A P, Included A P (Full_set A).
Lemma Intersection_Complement: forall A (P Q: Ensemble A),
Same_set A
(Intersection A (Complement A P) (Complement A Q))
(Complement A (Union A P Q)).
Lemma Union_iff: forall U A B x, Ensembles.In U (Union U A B) x <-> Ensembles.In U A x \/ Ensembles.In U B x.
Lemma Empty_set_iff: forall U x, Ensembles.In U (Empty_set U) x <-> False.
Lemma Singleton_iff: forall U x y, Ensembles.In U (Singleton U x) y <-> x = y.
Arguments Included {U} B C.