:: YELLOW_5 semantic presentation

theorem Th1: :: YELLOW_5:1
for b1 being reflexive antisymmetric with_suprema RelStr
for b2 being Element of b1 holds b2 "\/" b2 = b2
proof end;

theorem Th2: :: YELLOW_5:2
for b1 being reflexive antisymmetric with_infima RelStr
for b2 being Element of b1 holds b2 "/\" b2 = b2
proof end;

theorem Th3: :: YELLOW_5:3
for b1 being transitive antisymmetric with_suprema RelStr
for b2, b3, b4 being Element of b1 st b2 "\/" b3 <= b4 holds
b2 <= b4
proof end;

theorem Th4: :: YELLOW_5:4
for b1 being transitive antisymmetric with_infima RelStr
for b2, b3, b4 being Element of b1 st b4 <= b2 "/\" b3 holds
b4 <= b2
proof end;

theorem Th5: :: YELLOW_5:5
for b1 being transitive antisymmetric with_suprema with_infima RelStr
for b2, b3, b4 being Element of b1 holds b2 "/\" b3 <= b2 "\/" b4
proof end;

theorem Th6: :: YELLOW_5:6
for b1 being transitive antisymmetric with_infima RelStr
for b2, b3, b4 being Element of b1 st b2 <= b3 holds
b2 "/\" b4 <= b3 "/\" b4
proof end;

theorem Th7: :: YELLOW_5:7
for b1 being transitive antisymmetric with_suprema RelStr
for b2, b3, b4 being Element of b1 st b2 <= b3 holds
b2 "\/" b4 <= b3 "\/" b4
proof end;

theorem Th8: :: YELLOW_5:8
for b1 being sup-Semilattice
for b2, b3 being Element of b1 st b2 <= b3 holds
b2 "\/" b3 = b3
proof end;

theorem Th9: :: YELLOW_5:9
for b1 being sup-Semilattice
for b2, b3, b4 being Element of b1 st b2 <= b4 & b3 <= b4 holds
b2 "\/" b3 <= b4
proof end;

theorem Th10: :: YELLOW_5:10
for b1 being Semilattice
for b2, b3 being Element of b1 st b3 <= b2 holds
b2 "/\" b3 = b3
proof end;

theorem Th11: :: YELLOW_5:11
for b1 being Boolean LATTICE
for b2, b3 being Element of b1 holds
( b3 is_a_complement_of b2 iff b3 = 'not' b2 )
proof end;

definition
let c1 be non empty RelStr ;
let c2, c3 be Element of c1;
func c2 \ c3 -> Element of a1 equals :: YELLOW_5:def 1
a2 "/\" ('not' a3);
correctness
coherence
c2 "/\" ('not' c3) is Element of c1
;
;
end;

:: deftheorem Def1 defines \ YELLOW_5:def 1 :
for b1 being non empty RelStr
for b2, b3 being Element of b1 holds b2 \ b3 = b2 "/\" ('not' b3);

definition
let c1 be non empty RelStr ;
let c2, c3 be Element of c1;
func c2 \+\ c3 -> Element of a1 equals :: YELLOW_5:def 2
(a2 \ a3) "\/" (a3 \ a2);
correctness
coherence
(c2 \ c3) "\/" (c3 \ c2) is Element of c1
;
;
end;

:: deftheorem Def2 defines \+\ YELLOW_5:def 2 :
for b1 being non empty RelStr
for b2, b3 being Element of b1 holds b2 \+\ b3 = (b2 \ b3) "\/" (b3 \ b2);

Lemma8: for b1 being antisymmetric with_suprema with_infima RelStr
for b2, b3 being Element of b1 holds b2 \+\ b3 = b3 \+\ b2
proof end;

definition
let c1 be antisymmetric with_suprema with_infima RelStr ;
let c2, c3 be Element of c1;
redefine func \+\ as c2 \+\ c3 -> Element of a1;
commutativity
for b1, b2 being Element of c1 holds b1 \+\ b2 = b2 \+\ b1
by Lemma8;
end;

definition
let c1 be non empty RelStr ;
let c2, c3 be Element of c1;
pred c2 meets c3 means :Def3: :: YELLOW_5:def 3
a2 "/\" a3 <> Bottom a1;
end;

:: deftheorem Def3 defines meets YELLOW_5:def 3 :
for b1 being non empty RelStr
for b2, b3 being Element of b1 holds
( b2 meets b3 iff b2 "/\" b3 <> Bottom b1 );

notation
let c1 be non empty RelStr ;
let c2, c3 be Element of c1;
antonym c2 misses c3 for c2 meets c3;
end;

notation
let c1 be antisymmetric with_infima RelStr ;
let c2, c3 be Element of c1;
antonym c2 misses c3 for c2 meets c3;
end;

definition
let c1 be antisymmetric with_infima RelStr ;
let c2, c3 be Element of c1;
redefine pred meets as c2 meets c3;
symmetry
for b1, b2 being Element of c1 st b1 meets b2 holds
b2 meets b1
proof end;
end;

theorem Th12: :: YELLOW_5:12
for b1 being transitive antisymmetric with_suprema with_infima RelStr
for b2, b3, b4 being Element of b1 st b2 <= b4 holds
b2 \ b3 <= b4
proof end;

theorem Th13: :: YELLOW_5:13
for b1 being transitive antisymmetric with_suprema with_infima RelStr
for b2, b3, b4 being Element of b1 st b2 <= b3 holds
b2 \ b4 <= b3 \ b4 by Th6;

theorem Th14: :: YELLOW_5:14
for b1 being transitive antisymmetric with_suprema with_infima RelStr
for b2, b3 being Element of b1 holds b2 \ b3 <= b2 by YELLOW_0:23;

theorem Th15: :: YELLOW_5:15
for b1 being transitive antisymmetric with_suprema with_infima RelStr
for b2, b3 being Element of b1 holds b2 \ b3 <= b2 \+\ b3 by YELLOW_0:22;

theorem Th16: :: YELLOW_5:16
for b1 being LATTICE
for b2, b3, b4 being Element of b1 st b2 \ b3 <= b4 & b3 \ b2 <= b4 holds
b2 \+\ b3 <= b4 by Th9;

theorem Th17: :: YELLOW_5:17
for b1 being LATTICE
for b2 being Element of b1 holds
( b2 meets b2 iff b2 <> Bottom b1 )
proof end;

theorem Th18: :: YELLOW_5:18
for b1 being transitive antisymmetric with_suprema with_infima RelStr
for b2, b3, b4 being Element of b1 holds b2 "/\" (b3 \ b4) = (b2 "/\" b3) \ b4 by LATTICE3:16;

theorem Th19: :: YELLOW_5:19
for b1 being transitive antisymmetric with_infima RelStr st b1 is distributive holds
for b2, b3, b4 being Element of b1 st (b2 "/\" b3) "\/" (b2 "/\" b4) = b2 holds
b2 <= b3 "\/" b4
proof end;

theorem Th20: :: YELLOW_5:20
for b1 being LATTICE st b1 is distributive holds
for b2, b3, b4 being Element of b1 holds b2 "\/" (b3 "/\" b4) = (b2 "\/" b3) "/\" (b2 "\/" b4)
proof end;

theorem Th21: :: YELLOW_5:21
for b1 being LATTICE st b1 is distributive holds
for b2, b3, b4 being Element of b1 holds (b2 "\/" b3) \ b4 = (b2 \ b4) "\/" (b3 \ b4)
proof end;

theorem Th22: :: YELLOW_5:22
for b1 being non empty antisymmetric lower-bounded RelStr
for b2 being Element of b1 st b2 <= Bottom b1 holds
b2 = Bottom b1
proof end;

theorem Th23: :: YELLOW_5:23
for b1 being lower-bounded Semilattice
for b2, b3, b4 being Element of b1 st b2 <= b3 & b2 <= b4 & b3 "/\" b4 = Bottom b1 holds
b2 = Bottom b1
proof end;

theorem Th24: :: YELLOW_5:24
for b1 being antisymmetric lower-bounded with_suprema RelStr
for b2, b3 being Element of b1 st b2 "\/" b3 = Bottom b1 holds
( b2 = Bottom b1 & b3 = Bottom b1 )
proof end;

theorem Th25: :: YELLOW_5:25
for b1 being transitive antisymmetric lower-bounded with_infima RelStr
for b2, b3, b4 being Element of b1 st b2 <= b3 & b3 "/\" b4 = Bottom b1 holds
b2 "/\" b4 = Bottom b1
proof end;

theorem Th26: :: YELLOW_5:26
for b1 being lower-bounded Semilattice
for b2 being Element of b1 holds (Bottom b1) \ b2 = Bottom b1
proof end;

theorem Th27: :: YELLOW_5:27
for b1 being transitive antisymmetric lower-bounded with_infima RelStr
for b2, b3, b4 being Element of b1 st b2 meets b3 & b3 <= b4 holds
b2 meets b4
proof end;

theorem Th28: :: YELLOW_5:28
for b1 being antisymmetric lower-bounded with_infima RelStr
for b2 being Element of b1 holds b2 "/\" (Bottom b1) = Bottom b1
proof end;

theorem Th29: :: YELLOW_5:29
for b1 being transitive antisymmetric lower-bounded with_suprema with_infima RelStr
for b2, b3, b4 being Element of b1 st b2 meets b3 "/\" b4 holds
b2 meets b3
proof end;

theorem Th30: :: YELLOW_5:30
for b1 being transitive antisymmetric lower-bounded with_suprema with_infima RelStr
for b2, b3, b4 being Element of b1 st b2 meets b3 \ b4 holds
b2 meets b3
proof end;

theorem Th31: :: YELLOW_5:31
for b1 being transitive antisymmetric lower-bounded with_infima RelStr
for b2 being Element of b1 holds b2 misses Bottom b1
proof end;

theorem Th32: :: YELLOW_5:32
for b1 being transitive antisymmetric lower-bounded with_infima RelStr
for b2, b3, b4 being Element of b1 st b2 misses b4 & b3 <= b4 holds
b2 misses b3
proof end;

theorem Th33: :: YELLOW_5:33
for b1 being transitive antisymmetric lower-bounded with_infima RelStr
for b2, b3, b4 being Element of b1 st ( b2 misses b3 or b2 misses b4 ) holds
b2 misses b3 "/\" b4
proof end;

theorem Th34: :: YELLOW_5:34
for b1 being lower-bounded LATTICE
for b2, b3, b4 being Element of b1 st b2 <= b3 & b2 <= b4 & b3 misses b4 holds
b2 = Bottom b1
proof end;

theorem Th35: :: YELLOW_5:35
for b1 being transitive antisymmetric lower-bounded with_infima RelStr
for b2, b3, b4 being Element of b1 st b2 misses b3 holds
b2 "/\" b4 misses b3 "/\" b4
proof end;

theorem Th36: :: YELLOW_5:36
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 holds ((b2 "/\" b3) "\/" (b3 "/\" b4)) "\/" (b4 "/\" b2) = ((b2 "\/" b3) "/\" (b3 "\/" b4)) "/\" (b4 "\/" b2)
proof end;

theorem Th37: :: YELLOW_5:37
for b1 being non empty Boolean RelStr
for b2 being Element of b1 holds
( b2 "/\" ('not' b2) = Bottom b1 & b2 "\/" ('not' b2) = Top b1 )
proof end;

theorem Th38: :: YELLOW_5:38
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 st b2 \ b3 <= b4 holds
b2 <= b3 "\/" b4
proof end;

theorem Th39: :: YELLOW_5:39
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds
( 'not' (b2 "\/" b3) = ('not' b2) "/\" ('not' b3) & 'not' (b2 "/\" b3) = ('not' b2) "\/" ('not' b3) )
proof end;

theorem Th40: :: YELLOW_5:40
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 st b2 <= b3 holds
'not' b3 <= 'not' b2
proof end;

theorem Th41: :: YELLOW_5:41
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 st b2 <= b3 holds
b4 \ b3 <= b4 \ b2
proof end;

theorem Th42: :: YELLOW_5:42
for b1 being non empty Boolean RelStr
for b2, b3, b4, b5 being Element of b1 st b2 <= b3 & b4 <= b5 holds
b2 \ b5 <= b3 \ b4
proof end;

theorem Th43: :: YELLOW_5:43
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 st b2 <= b3 "\/" b4 holds
( b2 \ b3 <= b4 & b2 \ b4 <= b3 )
proof end;

theorem Th44: :: YELLOW_5:44
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds
( 'not' b2 <= 'not' (b2 "/\" b3) & 'not' b3 <= 'not' (b2 "/\" b3) )
proof end;

theorem Th45: :: YELLOW_5:45
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds
( 'not' (b2 "\/" b3) <= 'not' b2 & 'not' (b2 "\/" b3) <= 'not' b3 )
proof end;

theorem Th46: :: YELLOW_5:46
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 st b2 <= b3 \ b2 holds
b2 = Bottom b1
proof end;

theorem Th47: :: YELLOW_5:47
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 st b2 <= b3 holds
b3 = b2 "\/" (b3 \ b2)
proof end;

theorem Th48: :: YELLOW_5:48
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds
( b2 \ b3 = Bottom b1 iff b2 <= b3 )
proof end;

theorem Th49: :: YELLOW_5:49
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 st b2 <= b3 "\/" b4 & b2 "/\" b4 = Bottom b1 holds
b2 <= b3
proof end;

theorem Th50: :: YELLOW_5:50
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds b2 "\/" b3 = (b2 \ b3) "\/" b3
proof end;

theorem Th51: :: YELLOW_5:51
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds b2 \ (b2 "\/" b3) = Bottom b1
proof end;

theorem Th52: :: YELLOW_5:52
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds b2 \ (b2 "/\" b3) = b2 \ b3
proof end;

theorem Th53: :: YELLOW_5:53
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds (b2 \ b3) "/\" b3 = Bottom b1
proof end;

theorem Th54: :: YELLOW_5:54
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds b2 "\/" (b3 \ b2) = b2 "\/" b3
proof end;

theorem Th55: :: YELLOW_5:55
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds (b2 "/\" b3) "\/" (b2 \ b3) = b2
proof end;

theorem Th56: :: YELLOW_5:56
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 holds b2 \ (b3 \ b4) = (b2 \ b3) "\/" (b2 "/\" b4)
proof end;

theorem Th57: :: YELLOW_5:57
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds b2 \ (b2 \ b3) = b2 "/\" b3
proof end;

theorem Th58: :: YELLOW_5:58
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds (b2 "\/" b3) \ b3 = b2 \ b3
proof end;

theorem Th59: :: YELLOW_5:59
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds
( b2 "/\" b3 = Bottom b1 iff b2 \ b3 = b2 )
proof end;

theorem Th60: :: YELLOW_5:60
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 holds b2 \ (b3 "\/" b4) = (b2 \ b3) "/\" (b2 \ b4)
proof end;

theorem Th61: :: YELLOW_5:61
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 holds b2 \ (b3 "/\" b4) = (b2 \ b3) "\/" (b2 \ b4)
proof end;

theorem Th62: :: YELLOW_5:62
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 holds b2 "/\" (b3 \ b4) = (b2 "/\" b3) \ (b2 "/\" b4)
proof end;

theorem Th63: :: YELLOW_5:63
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds (b2 "\/" b3) \ (b2 "/\" b3) = (b2 \ b3) "\/" (b3 \ b2)
proof end;

theorem Th64: :: YELLOW_5:64
for b1 being non empty Boolean RelStr
for b2, b3, b4 being Element of b1 holds (b2 \ b3) \ b4 = b2 \ (b3 "\/" b4)
proof end;

theorem Th65: :: YELLOW_5:65
for b1 being non empty Boolean RelStr holds 'not' (Bottom b1) = Top b1
proof end;

theorem Th66: :: YELLOW_5:66
for b1 being non empty Boolean RelStr holds 'not' (Top b1) = Bottom b1
proof end;

theorem Th67: :: YELLOW_5:67
for b1 being non empty Boolean RelStr
for b2 being Element of b1 holds b2 \ b2 = Bottom b1 by Th37;

theorem Th68: :: YELLOW_5:68
for b1 being non empty Boolean RelStr
for b2 being Element of b1 holds b2 \ (Bottom b1) = b2
proof end;

theorem Th69: :: YELLOW_5:69
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds 'not' (b2 \ b3) = ('not' b2) "\/" b3
proof end;

theorem Th70: :: YELLOW_5:70
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds b2 "/\" b3 misses b2 \ b3
proof end;

theorem Th71: :: YELLOW_5:71
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 holds b2 \ b3 misses b3
proof end;

theorem Th72: :: YELLOW_5:72
for b1 being non empty Boolean RelStr
for b2, b3 being Element of b1 st b2 misses b3 holds
(b2 "\/" b3) \ b3 = b2
proof end;