:: SETWISEO semantic presentation

theorem Th1: :: SETWISEO:1
canceled;

theorem Th2: :: SETWISEO:2
canceled;

theorem Th3: :: SETWISEO:3
for b1, b2, b3 being set holds {b1} c= {b1,b2,b3}
proof end;

theorem Th4: :: SETWISEO:4
for b1, b2, b3 being set holds {b1,b2} c= {b1,b2,b3}
proof end;

theorem Th5: :: SETWISEO:5
for b1, b2, b3 being set holds
( not b1 c= b2 \/ {b3} or b3 in b1 or b1 c= b2 )
proof end;

theorem Th6: :: SETWISEO:6
for b1, b2, b3 being set holds
( b1 in b2 \/ {b3} iff ( b1 in b2 or b1 = b3 ) )
proof end;

theorem Th7: :: SETWISEO:7
canceled;

theorem Th8: :: SETWISEO:8
for b1, b2, b3 being set holds
( b1 \/ {b2} c= b3 iff ( b2 in b3 & b1 c= b3 ) )
proof end;

theorem Th9: :: SETWISEO:9
canceled;

theorem Th10: :: SETWISEO:10
canceled;

theorem Th11: :: SETWISEO:11
for b1, b2 being set
for b3 being Function holds b3 .: (b2 \ (b3 " b1)) = (b3 .: b2) \ b1
proof end;

theorem Th12: :: SETWISEO:12
for b1, b2 being non empty set
for b3 being Function of b2,b1
for b4 being Element of b2 holds b4 in b3 " {(b3 . b4)}
proof end;

theorem Th13: :: SETWISEO:13
for b1, b2 being non empty set
for b3 being Function of b2,b1
for b4 being Element of b2 holds b3 .: {b4} = {(b3 . b4)}
proof end;

theorem Th14: :: SETWISEO:14
for b1 being non empty set
for b2 being Element of Fin b1
for b3 being set st b3 in b2 holds
b3 is Element of b1
proof end;

theorem Th15: :: SETWISEO:15
for b1, b2 being non empty set
for b3 being Element of Fin b1
for b4 being set
for b5 being Function of b1,b2 st ( for b6 being Element of b1 st b6 in b3 holds
b5 . b6 in b4 ) holds
b5 .: b3 c= b4
proof end;

theorem Th16: :: SETWISEO:16
for b1 being set
for b2 being Element of Fin b1
for b3 being set st b3 c= b2 holds
b3 is Element of Fin b1
proof end;

Lemma11: for b1, b2 being non empty set
for b3 being Function of b1,b2
for b4 being Element of Fin b1 holds b3 .: b4 is Element of Fin b2
by FINSUB_1:def 5;

theorem Th17: :: SETWISEO:17
canceled;

theorem Th18: :: SETWISEO:18
for b1 being non empty set
for b2 being Element of Fin b1 st b2 <> {} holds
ex b3 being Element of b1 st b3 in b2
proof end;

theorem Th19: :: SETWISEO:19
for b1, b2 being non empty set
for b3 being Function of b2,b1
for b4 being Element of Fin b2 st b3 .: b4 = {} holds
b4 = {}
proof end;

registration
let c1 be set ;
cluster empty Element of Fin a1;
existence
ex b1 being Element of Fin c1 st b1 is empty
proof end;
end;

definition
let c1 be set ;
func {}. c1 -> empty Element of Fin a1 equals :: SETWISEO:def 1
{} ;
coherence
{} is empty Element of Fin c1
by FINSUB_1:18;
end;

:: deftheorem Def1 defines {}. SETWISEO:def 1 :
for b1 being set holds {}. b1 = {} ;

scheme :: SETWISEO:sch 1
s1{ F1() -> non empty set , F2() -> Element of Fin F1(), P1[ set , set ] } :
ex b1 being Function of F1(), Fin F1() st
for b2, b3 being Element of F1() holds
( b3 in b1 . b2 iff ( b3 in F2() & P1[b3,b2] ) )
proof end;

definition
let c1 be non empty set ;
let c2 be BinOp of c1;
attr a2 is having_a_unity means :Def2: :: SETWISEO:def 2
ex b1 being Element of a1 st b1 is_a_unity_wrt a2;
end;

:: deftheorem Def2 defines having_a_unity SETWISEO:def 2 :
for b1 being non empty set
for b2 being BinOp of b1 holds
( b2 is having_a_unity iff ex b3 being Element of b1 st b3 is_a_unity_wrt b2 );

notation
let c1 be non empty set ;
let c2 be BinOp of c1;
synonym c2 has_a_unity for having_a_unity c2;
end;

theorem Th20: :: SETWISEO:20
canceled;

theorem Th21: :: SETWISEO:21
canceled;

theorem Th22: :: SETWISEO:22
for b1 being non empty set
for b2 being BinOp of b1 holds
( b2 has_a_unity iff the_unity_wrt b2 is_a_unity_wrt b2 )
proof end;

theorem Th23: :: SETWISEO:23
for b1 being non empty set
for b2 being BinOp of b1 st b2 has_a_unity holds
for b3 being Element of b1 holds
( b2 . (the_unity_wrt b2),b3 = b3 & b2 . b3,(the_unity_wrt b2) = b3 )
proof end;

registration
let c1 be non empty set ;
cluster non empty Element of Fin a1;
existence
not for b1 being Element of Fin c1 holds b1 is empty
proof end;
end;

definition
let c1 be non empty set ;
let c2 be Element of c1;
redefine func { as {c2} -> Element of Fin a1;
coherence
{c2} is Element of Fin c1
proof end;
let c3 be Element of c1;
redefine func { as {c2,c3} -> Element of Fin a1;
coherence
{c2,c3} is Element of Fin c1
proof end;
let c4 be Element of c1;
redefine func { as {c2,c3,c4} -> Element of Fin a1;
coherence
{c2,c3,c4} is Element of Fin c1
proof end;
end;

definition
let c1 be set ;
let c2, c3 be Element of Fin c1;
redefine func \/ as c2 \/ c3 -> Element of Fin a1;
coherence
c2 \/ c3 is Element of Fin c1
by FINSUB_1:10;
end;

definition
let c1 be set ;
let c2, c3 be Element of Fin c1;
redefine func \ as c2 \ c3 -> Element of Fin a1;
coherence
c2 \ c3 is Element of Fin c1
by FINSUB_1:10;
end;

scheme :: SETWISEO:sch 2
s2{ F1() -> non empty set , P1[ set ] } :
for b1 being Element of Fin F1() holds P1[b1]
provided
E17: P1[ {}. F1()] and
E18: for b1 being Element of Fin F1()
for b2 being Element of F1() st P1[b1] & not b2 in b1 holds
P1[b1 \/ {b2}]
proof end;

scheme :: SETWISEO:sch 3
s3{ F1() -> non empty set , P1[ Element of Fin F1()] } :
for b1 being Element of Fin F1() st b1 <> {} holds
P1[b1]
provided
E17: for b1 being Element of F1() holds P1[{b1}] and
E18: for b1, b2 being Element of Fin F1() st b1 <> {} & b2 <> {} & P1[b1] & P1[b2] holds
P1[b1 \/ b2]
proof end;

scheme :: SETWISEO:sch 4
s4{ F1() -> non empty set , P1[ set ] } :
for b1 being Element of Fin F1() holds P1[b1]
provided
E17: P1[ {}. F1()] and
E18: for b1 being Element of Fin F1()
for b2 being Element of F1() st P1[b1] holds
P1[b1 \/ {b2}]
proof end;

definition
let c1, c2 be non empty set ;
let c3 be BinOp of c2;
let c4 be Element of Fin c1;
let c5 be Function of c1,c2;
assume that
E17: ( c4 <> {} or c3 has_a_unity ) and
E18: c3 is commutative and
E19: c3 is associative ;
func c3 $$ c4,c5 -> Element of a2 means :Def3: :: SETWISEO:def 3
ex b1 being Function of Fin a1,a2 st
( a6 = b1 . a4 & ( for b2 being Element of a2 st b2 is_a_unity_wrt a3 holds
b1 . {} = b2 ) & ( for b2 being Element of a1 holds b1 . {b2} = a5 . b2 ) & ( for b2 being Element of Fin a1 st b2 c= a4 & b2 <> {} holds
for b3 being Element of a1 st b3 in a4 \ b2 holds
b1 . (b2 \/ {b3}) = a3 . (b1 . b2),(a5 . b3) ) );
existence
ex b1 being Element of c2ex b2 being Function of Fin c1,c2 st
( b1 = b2 . c4 & ( for b3 being Element of c2 st b3 is_a_unity_wrt c3 holds
b2 . {} = b3 ) & ( for b3 being Element of c1 holds b2 . {b3} = c5 . b3 ) & ( for b3 being Element of Fin c1 st b3 c= c4 & b3 <> {} holds
for b4 being Element of c1 st b4 in c4 \ b3 holds
b2 . (b3 \/ {b4}) = c3 . (b2 . b3),(c5 . b4) ) )
proof end;
uniqueness
for b1, b2 being Element of c2 st ex b3 being Function of Fin c1,c2 st
( b1 = b3 . c4 & ( for b4 being Element of c2 st b4 is_a_unity_wrt c3 holds
b3 . {} = b4 ) & ( for b4 being Element of c1 holds b3 . {b4} = c5 . b4 ) & ( for b4 being Element of Fin c1 st b4 c= c4 & b4 <> {} holds
for b5 being Element of c1 st b5 in c4 \ b4 holds
b3 . (b4 \/ {b5}) = c3 . (b3 . b4),(c5 . b5) ) ) & ex b3 being Function of Fin c1,c2 st
( b2 = b3 . c4 & ( for b4 being Element of c2 st b4 is_a_unity_wrt c3 holds
b3 . {} = b4 ) & ( for b4 being Element of c1 holds b3 . {b4} = c5 . b4 ) & ( for b4 being Element of Fin c1 st b4 c= c4 & b4 <> {} holds
for b5 being Element of c1 st b5 in c4 \ b4 holds
b3 . (b4 \/ {b5}) = c3 . (b3 . b4),(c5 . b5) ) ) holds
b1 = b2
proof end;
end;

:: deftheorem Def3 defines $$ SETWISEO:def 3 :
for b1, b2 being non empty set
for b3 being BinOp of b2
for b4 being Element of Fin b1
for b5 being Function of b1,b2 st ( b4 <> {} or b3 has_a_unity ) & b3 is commutative & b3 is associative holds
for b6 being Element of b2 holds
( b6 = b3 $$ b4,b5 iff ex b7 being Function of Fin b1,b2 st
( b6 = b7 . b4 & ( for b8 being Element of b2 st b8 is_a_unity_wrt b3 holds
b7 . {} = b8 ) & ( for b8 being Element of b1 holds b7 . {b8} = b5 . b8 ) & ( for b8 being Element of Fin b1 st b8 c= b4 & b8 <> {} holds
for b9 being Element of b1 st b9 in b4 \ b8 holds
b7 . (b8 \/ {b9}) = b3 . (b7 . b8),(b5 . b9) ) ) );

theorem Th24: :: SETWISEO:24
canceled;

theorem Th25: :: SETWISEO:25
for b1, b2 being non empty set
for b3 being BinOp of b2
for b4 being Element of Fin b1
for b5 being Function of b1,b2 st ( b4 <> {} or b3 has_a_unity ) & b3 is idempotent & b3 is commutative & b3 is associative holds
for b6 being Element of b2 holds
( b6 = b3 $$ b4,b5 iff ex b7 being Function of Fin b1,b2 st
( b6 = b7 . b4 & ( for b8 being Element of b2 st b8 is_a_unity_wrt b3 holds
b7 . {} = b8 ) & ( for b8 being Element of b1 holds b7 . {b8} = b5 . b8 ) & ( for b8 being Element of Fin b1 st b8 c= b4 & b8 <> {} holds
for b9 being Element of b1 st b9 in b4 holds
b7 . (b8 \/ {b9}) = b3 . (b7 . b8),(b5 . b9) ) ) )
proof end;

theorem Th26: :: SETWISEO:26
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Function of b2,b1 st b3 is commutative & b3 is associative holds
for b5 being Element of b2 holds b3 $$ {b5},b4 = b4 . b5
proof end;

theorem Th27: :: SETWISEO:27
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Function of b2,b1 st b3 is idempotent & b3 is commutative & b3 is associative holds
for b5, b6 being Element of b2 holds b3 $$ {b5,b6},b4 = b3 . (b4 . b5),(b4 . b6)
proof end;

theorem Th28: :: SETWISEO:28
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Function of b2,b1 st b3 is idempotent & b3 is commutative & b3 is associative holds
for b5, b6, b7 being Element of b2 holds b3 $$ {b5,b6,b7},b4 = b3 . (b3 . (b4 . b5),(b4 . b6)),(b4 . b7)
proof end;

theorem Th29: :: SETWISEO:29
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Element of Fin b2
for b5 being Function of b2,b1 st b3 is idempotent & b3 is commutative & b3 is associative & b4 <> {} holds
for b6 being Element of b2 holds b3 $$ (b4 \/ {b6}),b5 = b3 . (b3 $$ b4,b5),(b5 . b6)
proof end;

theorem Th30: :: SETWISEO:30
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Function of b2,b1 st b3 is idempotent & b3 is commutative & b3 is associative holds
for b5, b6 being Element of Fin b2 st b5 <> {} & b6 <> {} holds
b3 $$ (b5 \/ b6),b4 = b3 . (b3 $$ b5,b4),(b3 $$ b6,b4)
proof end;

theorem Th31: :: SETWISEO:31
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Element of Fin b2
for b5 being Function of b2,b1 st b3 is commutative & b3 is associative & b3 is idempotent holds
for b6 being Element of b2 st b6 in b4 holds
b3 . (b5 . b6),(b3 $$ b4,b5) = b3 $$ b4,b5
proof end;

theorem Th32: :: SETWISEO:32
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Function of b2,b1 st b3 is commutative & b3 is associative & b3 is idempotent holds
for b5, b6 being Element of Fin b2 st b5 <> {} & b5 c= b6 holds
b3 . (b3 $$ b5,b4),(b3 $$ b6,b4) = b3 $$ b6,b4
proof end;

theorem Th33: :: SETWISEO:33
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Element of Fin b2
for b5 being Function of b2,b1 st b4 <> {} & b3 is commutative & b3 is associative & b3 is idempotent holds
for b6 being Element of b1 st ( for b7 being Element of b2 st b7 in b4 holds
b5 . b7 = b6 ) holds
b3 $$ b4,b5 = b6
proof end;

theorem Th34: :: SETWISEO:34
for b1, b2 being non empty set
for b3 being BinOp of b2
for b4 being Element of Fin b1
for b5 being Function of b1,b2 st b3 is commutative & b3 is associative & b3 is idempotent holds
for b6 being Element of b2 st b5 .: b4 = {b6} holds
b3 $$ b4,b5 = b6
proof end;

theorem Th35: :: SETWISEO:35
for b1, b2 being non empty set
for b3 being BinOp of b2 st b3 is commutative & b3 is associative & b3 is idempotent holds
for b4, b5 being Function of b1,b2
for b6, b7 being Element of Fin b1 st b6 <> {} & b4 .: b6 = b5 .: b7 holds
b3 $$ b6,b4 = b3 $$ b7,b5
proof end;

theorem Th36: :: SETWISEO:36
for b1, b2 being non empty set
for b3, b4 being BinOp of b1 st b3 is idempotent & b3 is commutative & b3 is associative & b4 is_distributive_wrt b3 holds
for b5 being Element of Fin b2 st b5 <> {} holds
for b6 being Function of b2,b1
for b7 being Element of b1 holds b4 . b7,(b3 $$ b5,b6) = b3 $$ b5,(b4 [;] b7,b6)
proof end;

theorem Th37: :: SETWISEO:37
for b1, b2 being non empty set
for b3, b4 being BinOp of b1 st b3 is idempotent & b3 is commutative & b3 is associative & b4 is_distributive_wrt b3 holds
for b5 being Element of Fin b2 st b5 <> {} holds
for b6 being Function of b2,b1
for b7 being Element of b1 holds b4 . (b3 $$ b5,b6),b7 = b3 $$ b5,(b4 [:] b6,b7)
proof end;

definition
let c1, c2 be non empty set ;
let c3 be Function of c1,c2;
let c4 be Element of Fin c1;
redefine func .: as c3 .: c4 -> Element of Fin a2;
coherence
c3 .: c4 is Element of Fin c2
by Lemma11;
end;

theorem Th38: :: SETWISEO:38
for b1, b2, b3 being non empty set
for b4 being BinOp of b1 st b4 is idempotent & b4 is commutative & b4 is associative holds
for b5 being Element of Fin b2 st b5 <> {} holds
for b6 being Function of b2,b3
for b7 being Function of b3,b1 holds b4 $$ (b6 .: b5),b7 = b4 $$ b5,(b7 * b6)
proof end;

theorem Th39: :: SETWISEO:39
for b1, b2 being non empty set
for b3 being BinOp of b2 st b3 is commutative & b3 is associative & b3 is idempotent holds
for b4 being non empty set
for b5 being BinOp of b4 st b5 is commutative & b5 is associative & b5 is idempotent holds
for b6 being Function of b1,b2
for b7 being Function of b2,b4 st ( for b8, b9 being Element of b2 holds b7 . (b3 . b8,b9) = b5 . (b7 . b8),(b7 . b9) ) holds
for b8 being Element of Fin b1 st b8 <> {} holds
b7 . (b3 $$ b8,b6) = b5 $$ b8,(b7 * b6)
proof end;

theorem Th40: :: SETWISEO:40
for b1, b2 being non empty set
for b3 being BinOp of b1 st b3 is commutative & b3 is associative & b3 has_a_unity holds
for b4 being Function of b2,b1 holds b3 $$ ({}. b2),b4 = the_unity_wrt b3
proof end;

theorem Th41: :: SETWISEO:41
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Element of Fin b2
for b5 being Function of b2,b1 st b3 is idempotent & b3 is commutative & b3 is associative & b3 has_a_unity holds
for b6 being Element of b2 holds b3 $$ (b4 \/ {b6}),b5 = b3 . (b3 $$ b4,b5),(b5 . b6)
proof end;

theorem Th42: :: SETWISEO:42
for b1, b2 being non empty set
for b3 being BinOp of b1
for b4 being Function of b2,b1 st b3 is idempotent & b3 is commutative & b3 is associative & b3 has_a_unity holds
for b5, b6 being Element of Fin b2 holds b3 $$ (b5 \/ b6),b4 = b3 . (b3 $$ b5,b4),(b3 $$ b6,b4)
proof end;

theorem Th43: :: SETWISEO:43
for b1, b2 being non empty set
for b3 being BinOp of b2 st b3 is commutative & b3 is associative & b3 is idempotent & b3 has_a_unity holds
for b4, b5 being Function of b1,b2
for b6, b7 being Element of Fin b1 st b4 .: b6 = b5 .: b7 holds
b3 $$ b6,b4 = b3 $$ b7,b5
proof end;

theorem Th44: :: SETWISEO:44
for b1, b2, b3 being non empty set
for b4 being BinOp of b1 st b4 is idempotent & b4 is commutative & b4 is associative & b4 has_a_unity holds
for b5 being Element of Fin b2
for b6 being Function of b2,b3
for b7 being Function of b3,b1 holds b4 $$ (b6 .: b5),b7 = b4 $$ b5,(b7 * b6)
proof end;

theorem Th45: :: SETWISEO:45
for b1, b2 being non empty set
for b3 being BinOp of b2 st b3 is commutative & b3 is associative & b3 is idempotent & b3 has_a_unity holds
for b4 being non empty set
for b5 being BinOp of b4 st b5 is commutative & b5 is associative & b5 is idempotent & b5 has_a_unity holds
for b6 being Function of b1,b2
for b7 being Function of b2,b4 st b7 . (the_unity_wrt b3) = the_unity_wrt b5 & ( for b8, b9 being Element of b2 holds b7 . (b3 . b8,b9) = b5 . (b7 . b8),(b7 . b9) ) holds
for b8 being Element of Fin b1 holds b7 . (b3 $$ b8,b6) = b5 $$ b8,(b7 * b6)
proof end;

definition
let c1 be set ;
func FinUnion c1 -> BinOp of Fin a1 means :Def4: :: SETWISEO:def 4
for b1, b2 being Element of Fin a1 holds a2 . b1,b2 = b1 \/ b2;
existence
ex b1 being BinOp of Fin c1 st
for b2, b3 being Element of Fin c1 holds b1 . b2,b3 = b2 \/ b3
proof end;
uniqueness
for b1, b2 being BinOp of Fin c1 st ( for b3, b4 being Element of Fin c1 holds b1 . b3,b4 = b3 \/ b4 ) & ( for b3, b4 being Element of Fin c1 holds b2 . b3,b4 = b3 \/ b4 ) holds
b1 = b2
proof end;
end;

:: deftheorem Def4 defines FinUnion SETWISEO:def 4 :
for b1 being set
for b2 being BinOp of Fin b1 holds
( b2 = FinUnion b1 iff for b3, b4 being Element of Fin b1 holds b2 . b3,b4 = b3 \/ b4 );

theorem Th46: :: SETWISEO:46
canceled;

theorem Th47: :: SETWISEO:47
canceled;

theorem Th48: :: SETWISEO:48
canceled;

theorem Th49: :: SETWISEO:49
for b1 being set holds FinUnion b1 is idempotent
proof end;

theorem Th50: :: SETWISEO:50
for b1 being set holds FinUnion b1 is commutative
proof end;

theorem Th51: :: SETWISEO:51
for b1 being set holds FinUnion b1 is associative
proof end;

theorem Th52: :: SETWISEO:52
for b1 being set holds {}. b1 is_a_unity_wrt FinUnion b1
proof end;

theorem Th53: :: SETWISEO:53
for b1 being set holds FinUnion b1 has_a_unity
proof end;

theorem Th54: :: SETWISEO:54
for b1 being set holds the_unity_wrt (FinUnion b1) is_a_unity_wrt FinUnion b1
proof end;

theorem Th55: :: SETWISEO:55
for b1 being set holds the_unity_wrt (FinUnion b1) = {}
proof end;

definition
let c1 be non empty set ;
let c2 be set ;
let c3 be Element of Fin c1;
let c4 be Function of c1, Fin c2;
func FinUnion c3,c4 -> Element of Fin a2 equals :: SETWISEO:def 5
(FinUnion a2) $$ a3,a4;
coherence
(FinUnion c2) $$ c3,c4 is Element of Fin c2
;
end;

:: deftheorem Def5 defines FinUnion SETWISEO:def 5 :
for b1 being non empty set
for b2 being set
for b3 being Element of Fin b1
for b4 being Function of b1, Fin b2 holds FinUnion b3,b4 = (FinUnion b2) $$ b3,b4;

theorem Th56: :: SETWISEO:56
for b1 being non empty set
for b2 being set
for b3 being Function of b1, Fin b2
for b4 being Element of b1 holds FinUnion {b4},b3 = b3 . b4
proof end;

theorem Th57: :: SETWISEO:57
for b1 being non empty set
for b2 being set
for b3 being Function of b1, Fin b2
for b4, b5 being Element of b1 holds FinUnion {b4,b5},b3 = (b3 . b4) \/ (b3 . b5)
proof end;

theorem Th58: :: SETWISEO:58
for b1 being non empty set
for b2 being set
for b3 being Function of b1, Fin b2
for b4, b5, b6 being Element of b1 holds FinUnion {b4,b5,b6},b3 = ((b3 . b4) \/ (b3 . b5)) \/ (b3 . b6)
proof end;

theorem Th59: :: SETWISEO:59
for b1 being non empty set
for b2 being set
for b3 being Function of b1, Fin b2 holds FinUnion ({}. b1),b3 = {}
proof end;

theorem Th60: :: SETWISEO:60
for b1 being non empty set
for b2 being set
for b3 being Function of b1, Fin b2
for b4 being Element of b1
for b5 being Element of Fin b1 holds FinUnion (b5 \/ {b4}),b3 = (FinUnion b5,b3) \/ (b3 . b4)
proof end;

theorem Th61: :: SETWISEO:61
for b1 being non empty set
for b2 being set
for b3 being Function of b1, Fin b2
for b4 being Element of Fin b1 holds FinUnion b4,b3 = union (b3 .: b4)
proof end;

theorem Th62: :: SETWISEO:62
for b1 being non empty set
for b2 being set
for b3 being Function of b1, Fin b2
for b4, b5 being Element of Fin b1 holds FinUnion (b4 \/ b5),b3 = (FinUnion b4,b3) \/ (FinUnion b5,b3)
proof end;

theorem Th63: :: SETWISEO:63
for b1, b2 being non empty set
for b3 being set
for b4 being Element of Fin b1
for b5 being Function of b1,b2
for b6 being Function of b2, Fin b3 holds FinUnion (b5 .: b4),b6 = FinUnion b4,(b6 * b5)
proof end;

theorem Th64: :: SETWISEO:64
for b1, b2 being non empty set
for b3 being set
for b4 being BinOp of b1 st b4 is commutative & b4 is associative & b4 is idempotent holds
for b5 being Element of Fin b2 st b5 <> {} holds
for b6 being Function of b2, Fin b3
for b7 being Function of Fin b3,b1 st ( for b8, b9 being Element of Fin b3 holds b7 . (b8 \/ b9) = b4 . (b7 . b8),(b7 . b9) ) holds
b7 . (FinUnion b5,b6) = b4 $$ b5,(b7 * b6)
proof end;

theorem Th65: :: SETWISEO:65
for b1, b2 being non empty set
for b3 being set
for b4 being BinOp of b2 st b4 is commutative & b4 is associative & b4 is idempotent & b4 has_a_unity holds
for b5 being Function of b1, Fin b3
for b6 being Function of Fin b3,b2 st b6 . ({}. b3) = the_unity_wrt b4 & ( for b7, b8 being Element of Fin b3 holds b6 . (b7 \/ b8) = b4 . (b6 . b7),(b6 . b8) ) holds
for b7 being Element of Fin b1 holds b6 . (FinUnion b7,b5) = b4 $$ b7,(b6 * b5)
proof end;

definition
let c1 be set ;
func singleton c1 -> Function of a1, Fin a1 means :Def6: :: SETWISEO:def 6
for b1 being set st b1 in a1 holds
a2 . b1 = {b1};
existence
ex b1 being Function of c1, Fin c1 st
for b2 being set st b2 in c1 holds
b1 . b2 = {b2}
proof end;
uniqueness
for b1, b2 being Function of c1, Fin c1 st ( for b3 being set st b3 in c1 holds
b1 . b3 = {b3} ) & ( for b3 being set st b3 in c1 holds
b2 . b3 = {b3} ) holds
b1 = b2
proof end;
end;

:: deftheorem Def6 defines singleton SETWISEO:def 6 :
for b1 being set
for b2 being Function of b1, Fin b1 holds
( b2 = singleton b1 iff for b3 being set st b3 in b1 holds
b2 . b3 = {b3} );

theorem Th66: :: SETWISEO:66
canceled;

theorem Th67: :: SETWISEO:67
for b1 being non empty set
for b2 being Function of b1, Fin b1 holds
( b2 = singleton b1 iff for b3 being Element of b1 holds b2 . b3 = {b3} )
proof end;

theorem Th68: :: SETWISEO:68
for b1 being non empty set
for b2 being set
for b3 being Element of b1 holds
( b2 in (singleton b1) . b3 iff b2 = b3 )
proof end;

theorem Th69: :: SETWISEO:69
for b1 being non empty set
for b2, b3, b4 being Element of b1 st b2 in (singleton b1) . b4 & b3 in (singleton b1) . b4 holds
b2 = b3
proof end;

Lemma47: for b1 being non empty set
for b2, b3 being set
for b4 being Function of b2,b1 holds b4 .: b3 c= b1
;

theorem Th70: :: SETWISEO:70
for b1 being non empty set
for b2 being set
for b3 being Function of b1, Fin b2
for b4 being Element of Fin b1
for b5 being set holds
( b5 in FinUnion b4,b3 iff ex b6 being Element of b1 st
( b6 in b4 & b5 in b3 . b6 ) )
proof end;

theorem Th71: :: SETWISEO:71
for b1 being non empty set
for b2 being Element of Fin b1 holds FinUnion b2,(singleton b1) = b2
proof end;

theorem Th72: :: SETWISEO:72
for b1 being non empty set
for b2, b3 being set
for b4 being Function of b1, Fin b2
for b5 being Function of Fin b2, Fin b3 st b5 . ({}. b2) = {}. b3 & ( for b6, b7 being Element of Fin b2 holds b5 . (b6 \/ b7) = (b5 . b6) \/ (b5 . b7) ) holds
for b6 being Element of Fin b1 holds b5 . (FinUnion b6,b4) = FinUnion b6,(b5 * b4)
proof end;