(* Useful types (actually top and bottom)   *)

Inductive Un : Set :=
    void : Un.(* Useful types (actually top and bottom)   *)

Inductive Un : Set :=
    void : Un.Inductive F : Set :=.(* The empty set  (vide = french for empty)   *)

Definition Vide : Ens := sup F (fun f : F => match f return Ens with
                                             end).

(* Specifications: *)
Theorem Vide_est_vide : forall E : Ens, IN E Vide -> F.
Theorem tout_vide_est_Vide : forall E : Ens, (forall E' : Ens, IN E' E -> F) -> EQ E Vide.
Theorem Vide_est_vide : forall E : Ens, IN E Vide -> F.
Theorem tout_vide_est_Vide : forall E : Ens, (forall E' : Ens, IN E' E -> F) -> EQ E Vide.