(********* replacement axioms *********)
Axiom
REPLACEMENT_pr1 :
forall (P : Ens -> Prop) (b : Bounded P) (X : Ens),
P X -> IN X (REPLACEMENT P).
Axiom
REPLACEMENT_pr2 :
forall (P : Ens -> Prop) (b : Bounded P) (X : Ens),
IN X (REPLACEMENT P) -> P X.
(*********** for the natural numbers ***********)
Definition Zero := EmptySet.
Definition Next (X : Ens) : Ens := union X (Singleton X).
Record Contains_NN (X : Ens) : Prop :=
{Contains_NN_zero : IN Zero X;
Contains_NN_nexts : forall (A : Ens) (h : IN A X), IN (Next A) X}.

(* Specifications: *)
Axiom Infinity_exists : EXISTS Contains_NN.
Section EXISTS_th1_proof.