(*  The powerset and its axioms   *)

Definition Power (E : Ens) : Ens :=
  match E with
  | sup A f =>
      sup _
        (fun P : A -> Prop =>
         sup _
           (fun c : depprod A (fun a : A => P a) =>
            match c with
            | dep_i a p => f a
            end))
  end.

(* Specifications: *)
Theorem IN_Power_INC : forall E E' : Ens, IN E' (Power E) -> INC E' E.
Theorem INC_IN_Power : forall E E' : Ens, INC E' E -> IN E' (Power E).
Theorem Power_mon : forall E E' : Ens, INC E E' -> INC (Power E) (Power E').
Theorem Power_sound : forall E E' : Ens, EQ E E' -> EQ (Power E) (Power E').
Theorem not_EQ_Sing_Vide : forall E : Ens, EQ (Sing E) Vide -> F.
Theorem not_EQ_Vide_Sing : forall E : Ens, EQ Vide (Sing E) -> F.
Theorem IN_Power_INC : forall E E' : Ens, IN E' (Power E) -> INC E' E.
Theorem INC_IN_Power : forall E E' : Ens, INC E' E -> IN E' (Power E).
Theorem Power_mon : forall E E' : Ens, INC E E' -> INC (Power E) (Power E').
Theorem Power_sound : forall E E' : Ens, EQ E E' -> EQ (Power E) (Power E').
Theorem not_EQ_Sing_Vide : forall E : Ens, EQ (Sing E) Vide -> F.
Theorem not_EQ_Vide_Sing : forall E : Ens, EQ Vide (Sing E) -> F.