:: XBOOLE_0 semantic presentation
definition
func {} -> set means :
Def1:
:: XBOOLE_0:def 1
for b
1 being
set holds
not b
1 in a
1;
existence
ex b1 being set st
for b2 being set holds
not b2 in b1
uniqueness
for b1, b2 being set holds
( ( for b3 being set holds
not b3 in b1 ) & ( for b3 being set holds
not b3 in b2 ) implies b1 = b2 )
let c
1, c
2 be
set ;
func c
1 \/ c
2 -> set means :
Def2:
:: XBOOLE_0:def 2
for b
1 being
set holds
( b
1 in a
3 iff ( b
1 in a
1 or b
1 in a
2 ) );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff ( b2 in c1 or b2 in c2 ) )
uniqueness
for b1, b2 being set holds
( ( for b3 being set holds
( b3 in b1 iff ( b3 in c1 or b3 in c2 ) ) ) & ( for b3 being set holds
( b3 in b2 iff ( b3 in c1 or b3 in c2 ) ) ) implies b1 = b2 )
commutativity
for b1, b2, b3 being set holds
( ( for b4 being set holds
( b4 in b1 iff ( b4 in b2 or b4 in b3 ) ) ) implies for b4 being set holds
( b4 in b1 iff ( b4 in b3 or b4 in b2 ) ) )
;
idempotence
for b1, b2 being set holds
( b2 in b1 iff ( b2 in b1 or b2 in b1 ) )
;
func c
1 /\ c
2 -> set means :
Def3:
:: XBOOLE_0:def 3
for b
1 being
set holds
( b
1 in a
3 iff ( b
1 in a
1 & b
1 in a
2 ) );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff ( b2 in c1 & b2 in c2 ) )
uniqueness
for b1, b2 being set holds
( ( for b3 being set holds
( b3 in b1 iff ( b3 in c1 & b3 in c2 ) ) ) & ( for b3 being set holds
( b3 in b2 iff ( b3 in c1 & b3 in c2 ) ) ) implies b1 = b2 )
commutativity
for b1, b2, b3 being set holds
( ( for b4 being set holds
( b4 in b1 iff ( b4 in b2 & b4 in b3 ) ) ) implies for b4 being set holds
( b4 in b1 iff ( b4 in b3 & b4 in b2 ) ) )
;
idempotence
for b1, b2 being set holds
( b2 in b1 iff ( b2 in b1 & b2 in b1 ) )
;
func c
1 \ c
2 -> set means :
Def4:
:: XBOOLE_0:def 4
for b
1 being
set holds
( b
1 in a
3 iff ( b
1 in a
1 & not b
1 in a
2 ) );
existence
ex b1 being set st
for b2 being set holds
( b2 in b1 iff ( b2 in c1 & not b2 in c2 ) )
uniqueness
for b1, b2 being set holds
( ( for b3 being set holds
( b3 in b1 iff ( b3 in c1 & not b3 in c2 ) ) ) & ( for b3 being set holds
( b3 in b2 iff ( b3 in c1 & not b3 in c2 ) ) ) implies b1 = b2 )
end;
:: deftheorem Def1 defines {} XBOOLE_0:def 1 :
for b
1 being
set holds
( b
1 = {} iff for b
2 being
set holds
not b
2 in b
1 );
:: deftheorem Def2 defines \/ XBOOLE_0:def 2 :
for b
1, b
2, b
3 being
set holds
( b
3 = b
1 \/ b
2 iff for b
4 being
set holds
( b
4 in b
3 iff ( b
4 in b
1 or b
4 in b
2 ) ) );
:: deftheorem Def3 defines /\ XBOOLE_0:def 3 :
for b
1, b
2, b
3 being
set holds
( b
3 = b
1 /\ b
2 iff for b
4 being
set holds
( b
4 in b
3 iff ( b
4 in b
1 & b
4 in b
2 ) ) );
:: deftheorem Def4 defines \ XBOOLE_0:def 4 :
for b
1, b
2, b
3 being
set holds
( b
3 = b
1 \ b
2 iff for b
4 being
set holds
( b
4 in b
3 iff ( b
4 in b
1 & not b
4 in b
2 ) ) );
:: deftheorem Def5 defines empty XBOOLE_0:def 5 :
:: deftheorem Def6 defines \+\ XBOOLE_0:def 6 :
for b
1, b
2 being
set holds b
1 \+\ b
2 = (b1 \ b2) \/ (b2 \ b1);
:: deftheorem Def7 defines misses XBOOLE_0:def 7 :
:: deftheorem Def8 defines c< XBOOLE_0:def 8 :
for b
1, b
2 being
set holds
( b
1 c< b
2 iff ( b
1 c= b
2 & b
1 <> b
2 ) );
:: deftheorem Def9 defines are_c=-comparable XBOOLE_0:def 9 :
:: deftheorem Def10 defines = XBOOLE_0:def 10 :
for b
1, b
2 being
set holds
( b
1 = b
2 iff ( b
1 c= b
2 & b
2 c= b
1 ) );
theorem Th1: :: XBOOLE_0:1
for b
1, b
2, b
3 being
set holds
( b
1 in b
2 \+\ b
3 iff not ( b
1 in b
2 iff b
1 in b
3 ) )
theorem Th2: :: XBOOLE_0:2
for b
1, b
2, b
3 being
set holds
( ( for b
4 being
set holds
( not b
4 in b
1 iff ( b
4 in b
2 iff b
4 in b
3 ) ) ) implies b
1 = b
2 \+\ b
3 )
theorem Th3: :: XBOOLE_0:3
for b
1, b
2 being
set holds
( not ( b
1 meets b
2 & ( for b
3 being
set holds
not ( b
3 in b
1 & b
3 in b
2 ) ) ) & not ( ex b
3 being
set st
( b
3 in b
1 & b
3 in b
2 ) & not b
1 meets b
2 ) )
theorem Th4: :: XBOOLE_0:4
for b
1, b
2 being
set holds
( not ( b
1 meets b
2 & ( for b
3 being
set holds
not b
3 in b
1 /\ b
2 ) ) & not ( ex b
3 being
set st b
3 in b
1 /\ b
2 & not b
1 meets b
2 ) )
theorem Th5: :: XBOOLE_0:5
for b
1, b
2, b
3 being
set holds
not ( b
1 misses b
2 & b
3 in b
1 \/ b
2 & not ( b
3 in b
1 & not b
3 in b
2 ) & not ( b
3 in b
2 & not b
3 in b
1 ) )
by Def2, Th3;