Definition Class_succ (E : Ens) := Union (Paire E (Sing E)).(*
Inductive Ord : Ens -> Prop :=
  Oo : (Ord Vide)
| So : (E:Ens)(Ord E)->(Ord (Class_succ E))
| Lo : (E:Ens)((e:Ens)(IN e E)->(Ord e))->(Ord (Union E))
| Eo : (E,E':Ens)(Ord E)->(EQ E E')->(Ord E').

Hints Resolve Oo So Lo : zfc.
*)


Definition Nat : nat -> Ens.(*
Theorem Nat_Ord : (n:nat)(Ord (Nat n)).
Induction n; Simpl; Auto with zfc.
Save.
*)

Definition Omega : Ens := sup nat Nat.

(* Specifications: *)
Theorem IN_Class_succ : forall E : Ens, IN E (Class_succ E).
Theorem INC_Class_succ : forall E : Ens, INC E (Class_succ E).
Theorem IN_Class_succ_or : forall E E' : Ens, IN E' (Class_succ E) -> EQ E E' \/ IN E' E.
Theorem E_not_IN_E : forall E : Ens, IN E E -> F.
Theorem Nat_IN_Omega : forall n : nat, IN (Nat n) Omega.
Theorem IN_Omega_EXType : forall E : Ens, IN E Omega -> EXType _ (fun n : nat => EQ (Nat n) E).
Theorem IN_Nat_EXType : forall (n : nat) (E : Ens), IN E (Nat n) -> EXType _ (fun p : nat => EQ E (Nat p)).
Theorem Omega_EQ_Union : EQ Omega (Union Omega).