(* idem depprod *)

Inductive depprod' (A : Type) (P : A -> Type) : Type :=
    dep_i' : forall x : A, P x -> depprod' A P.(* idem depprod *)

Inductive depprod' (A : Type) (P : A -> Type) : Type :=
    dep_i' : forall x : A, P x -> depprod' A P.

(* Specifications: *)
Theorem Union_CIN : forall E E' : Ens, CIN E' (Union E) -> depprod' _ (fun E1 : Ens => prod_t (CIN E1 E) (CIN E' E1)).
Theorem Union_soundC : forall E E' : Ens, EQC E E' -> EQC (Union E) (Union E').
Theorem Union_monC : forall E E' : Ens, CINC E E' -> CINC (Union E) (Union E').
Theorem Union_CIN : forall E E' : Ens, CIN E' (Union E) -> depprod' _ (fun E1 : Ens => prod_t (CIN E1 E) (CIN E' E1)).
Theorem Union_soundC : forall E E' : Ens, EQC E E' -> EQC (Union E) (Union E').
Theorem Union_monC : forall E E' : Ens, CINC E E' -> CINC (Union E) (Union E').