Definition unoin(U:Type)(C:Ensemble(Ensemble U)):=
fun x:U=>exists c,C c/\c x.(*-----------------------------------------------------------------------------
This and the following other two Definitions are the three parts of the
definition of what it means to be a sigma-algebra.
-----------------------------------------------------------------------------*)
Definition sigalg_0(U:Type)(F:Ensemble(Ensemble U)):=
Inhabited _ F.Definition sigalg_1(U:Type)(F:Ensemble(Ensemble U)):=
forall A:Ensemble U,F A->F(Complement _ A).Definition sigalg_2(U:Type)(F:Ensemble(Ensemble U)):=
forall C:Ensemble(Ensemble U),Included _ C F->cntabl _ C
->F(unoin _ C).

(* Specifications: *)
Lemma sigalg_P0: forall(U:Type)(F:Ensemble(Ensemble U))(F':sigalg_0 _ F)(F'':sigalg_1 _ F)(F''': sigalg_2 _ F), forall A B:Ensemble U,F A->F B->F(Union _ A B).
Lemma sigalg_P1: forall(U:Type)(F:Ensemble(Ensemble U))(F':sigalg_0 _ F)(F'':sigalg_1 _ F)(F''': sigalg_2 _ F), F(Empty_set _).
Lemma sigalg_P2: forall(U:Type)(F:Ensemble(Ensemble U))(F':sigalg_0 _ F)(F'':sigalg_1 _ F)(F''': sigalg_2 _ F), forall(A B:Ensemble U),F A->F B->F(Intersection _ A B).
Lemma sigalg_P3: forall(U:Type)(F:Ensemble(Ensemble U))(F':sigalg_0 _ F)(F'':sigalg_1 _ F)(F''': sigalg_2 _ F), F(Full_set U).