thus
C1 [*] C2 is subset-closed
C1 [*] C2 is binary_complete
let A be set ; COHSP_1:def 1 ( ( for a, b being set st a in A & b in A holds
a \/ b in C1 [*] C2 ) implies union A in C1 [*] C2 )
set A1 = { (proj1 a) where a is Element of C1 [*] C2 : a in A } ;
set A2 = { (proj2 a) where a is Element of C1 [*] C2 : a in A } ;
assume A2:
for a, b being set st a in A & b in A holds
a \/ b in C1 [*] C2
; union A in C1 [*] C2
then A7:
union { (proj2 a) where a is Element of C1 [*] C2 : a in A } in C2
by Def1;
A8:
union A c= [:(union { (proj1 a) where a is Element of C1 [*] C2 : a in A } ),(union { (proj2 a) where a is Element of C1 [*] C2 : a in A } ):]
proof
let x be
object ;
TARSKI:def 3 ( not x in union A or x in [:(union { (proj1 a) where a is Element of C1 [*] C2 : a in A } ),(union { (proj2 a) where a is Element of C1 [*] C2 : a in A } ):] )
assume
x in union A
;
x in [:(union { (proj1 a) where a is Element of C1 [*] C2 : a in A } ),(union { (proj2 a) where a is Element of C1 [*] C2 : a in A } ):]
then consider a being
set such that A9:
x in a
and A10:
a in A
by TARSKI:def 4;
A11:
a \/ a in C1 [*] C2
by A2, A10;
then
proj2 a in { (proj2 a) where a is Element of C1 [*] C2 : a in A }
by A10;
then A12:
proj2 a c= union { (proj2 a) where a is Element of C1 [*] C2 : a in A }
by ZFMISC_1:74;
a c= [:(proj1 a),(proj2 a):]
by A11, Th97;
then A13:
x in [:(proj1 a),(proj2 a):]
by A9;
proj1 a in { (proj1 a) where a is Element of C1 [*] C2 : a in A }
by A10, A11;
then
proj1 a c= union { (proj1 a) where a is Element of C1 [*] C2 : a in A }
by ZFMISC_1:74;
then
[:(proj1 a),(proj2 a):] c= [:(union { (proj1 a) where a is Element of C1 [*] C2 : a in A } ),(union { (proj2 a) where a is Element of C1 [*] C2 : a in A } ):]
by A12, ZFMISC_1:96;
hence
x in [:(union { (proj1 a) where a is Element of C1 [*] C2 : a in A } ),(union { (proj2 a) where a is Element of C1 [*] C2 : a in A } ):]
by A13;
verum
end;
then
union { (proj1 a) where a is Element of C1 [*] C2 : a in A } in C1
by Def1;
hence
union A in C1 [*] C2
by A7, A8, Th96; verum