:: BOOLEALG semantic presentation

definition
let L be Lattice;
let X be Element of L;
let Y be Element of L;
func c2 \ c3 -> Element of a1 equals :: BOOLEALG:def 1
X "/\" (Y ` );
coherence
X "/\" (Y ` ) is Element of L
;
end;

:: deftheorem Def1 defines \ BOOLEALG:def 1 :
for L being Lattice
for X, Y being Element of L holds X \ Y = X "/\" (Y ` );

definition
let L be Lattice;
let X be Element of L;
let Y be Element of L;
func c2 \+\ c3 -> Element of a1 equals :: BOOLEALG:def 2
(X \ Y) "\/" (Y \ X);
coherence
(X \ Y) "\/" (Y \ X) is Element of L
;
end;

:: deftheorem Def2 defines \+\ BOOLEALG:def 2 :
for L being Lattice
for X, Y being Element of L holds X \+\ Y = (X \ Y) "\/" (Y \ X);

definition
let L be Lattice;
let X be Element of L;
let Y be Element of L;
redefine pred = as c2 = c3 means :Def3: :: BOOLEALG:def 3
( X [= Y & Y [= X );
compatibility
( X = Y iff ( X [= Y & Y [= X ) )
by LATTICES:26;
end;

:: deftheorem Def3 defines = BOOLEALG:def 3 :
for L being Lattice
for X, Y being Element of L holds
( X = Y iff ( X [= Y & Y [= X ) );

definition
let L be Lattice;
let X be Element of L;
let Y be Element of L;
pred c2 meets c3 means :Def4: :: BOOLEALG:def 4
X "/\" Y <> Bottom L;
end;

:: deftheorem Def4 defines meets BOOLEALG:def 4 :
for L being Lattice
for X, Y being Element of L holds
( X meets Y iff X "/\" Y <> Bottom L );

notation
let L be Lattice;
let X be Element of L;
let Y be Element of L;
antonym c2 misses c3 for c2 meets c3;
end;

Lemma11: for L being Lattice
for X, Z, Y being Element of L st X [= Z & Y [= Z holds
X "\/" Y [= Z
proof end;

theorem Th1: :: BOOLEALG:1
canceled;

theorem Th2: :: BOOLEALG:2
canceled;

theorem Th3: :: BOOLEALG:3
for L being Lattice
for X, Y, Z being Element of L st X "\/" Y [= Z holds
X [= Z
proof end;

theorem Th4: :: BOOLEALG:4
for L being Lattice
for X, Y, Z being Element of L holds X "/\" Y [= X "\/" Z
proof end;

theorem Th5: :: BOOLEALG:5
canceled;

theorem Th6: :: BOOLEALG:6
for L being Lattice
for X, Z, Y being Element of L st X [= Z holds
X \ Y [= Z
proof end;

theorem Th7: :: BOOLEALG:7
for L being Lattice
for X, Y, Z being Element of L st X [= Y holds
X \ Z [= Y \ Z by LATTICES:27;

theorem Th8: :: BOOLEALG:8
for L being Lattice
for X, Y being Element of L holds X \ Y [= X by LATTICES:23;

theorem Th9: :: BOOLEALG:9
for L being Lattice
for X, Y being Element of L holds X \ Y [= X \+\ Y by LATTICES:22;

theorem Th10: :: BOOLEALG:10
for L being Lattice
for X, Y, Z being Element of L st X \ Y [= Z & Y \ X [= Z holds
X \+\ Y [= Z by ;

theorem Th11: :: BOOLEALG:11
for L being Lattice
for X, Y, Z being Element of L holds
( X = Y "\/" Z iff ( Y [= X & Z [= X & ( for V being Element of L st Y [= V & Z [= V holds
X [= V ) ) )
proof end;

theorem Th12: :: BOOLEALG:12
for L being Lattice
for X, Y, Z being Element of L holds
( X = Y "/\" Z iff ( X [= Y & X [= Z & ( for V being Element of L st V [= Y & V [= Z holds
V [= X ) ) )
proof end;

theorem Th13: :: BOOLEALG:13
canceled;

theorem Th14: :: BOOLEALG:14
for L being Lattice
for X, Y, Z being Element of L holds X "/\" (Y \ Z) = (X "/\" Y) \ Z by LATTICES:def 7;

theorem Th15: :: BOOLEALG:15
canceled;

Lemma16: for L being Lattice
for X, Y being Element of L st X meets Y holds
Y meets X
proof end;

theorem Th16: :: BOOLEALG:16
for L being Lattice
for X being Element of L holds
( X meets X iff X <> Bottom L )
proof end;

Lemma17: for L being Lattice
for X, Y being Element of L st X misses Y holds
Y misses X
proof end;

definition
let L be Lattice;
let X be Element of L;
let Y be Element of L;
redefine pred meets as c2 meets c3;
symmetry
for X, Y being Element of L st X meets Y holds
Y meets X
by ;
redefine func \+\ as c2 \+\ c3 -> Element of a1;
commutativity
for X, Y being Element of L holds X \+\ Y = Y \+\ X
;
redefine pred meets as c2 misses c3;
symmetry
for X, Y being Element of L st not X meets Y holds
not Y meets X
by ;
end;

theorem Th17: :: BOOLEALG:17
canceled;

theorem Th18: :: BOOLEALG:18
canceled;

theorem Th19: :: BOOLEALG:19
canceled;

theorem Th20: :: BOOLEALG:20
canceled;

theorem Th21: :: BOOLEALG:21
canceled;

theorem Th22: :: BOOLEALG:22
for L being D_Lattice
for X, Y, Z being Element of L st (X "/\" Y) "\/" (X "/\" Z) = X holds
X [= Y "\/" Z
proof end;

theorem Th23: :: BOOLEALG:23
canceled;

theorem Th24: :: BOOLEALG:24
for L being D_Lattice
for X, Y, Z being Element of L holds (X "\/" Y) \ Z = (X \ Z) "\/" (Y \ Z) by LATTICES:def 11;

theorem Th25: :: BOOLEALG:25
for L being 0_Lattice
for X being Element of L st X [= Bottom L holds
X = Bottom L
proof end;

theorem Th26: :: BOOLEALG:26
for L being 0_Lattice
for X, Y, Z being Element of L st X [= Y & X [= Z & Y "/\" Z = Bottom L holds
X = Bottom L
proof end;

theorem Th27: :: BOOLEALG:27
for L being 0_Lattice
for X, Y being Element of L holds
( X "\/" Y = Bottom L iff ( X = Bottom L & Y = Bottom L ) )
proof end;

theorem Th28: :: BOOLEALG:28
for L being 0_Lattice
for X, Y, Z being Element of L st X [= Y & Y "/\" Z = Bottom L holds
X "/\" Z = Bottom L
proof end;

theorem Th29: :: BOOLEALG:29
for L being 0_Lattice
for X being Element of L holds (Bottom L) \ X = Bottom L by LATTICES:40;

theorem Th30: :: BOOLEALG:30
for L being 0_Lattice
for X, Y, Z being Element of L st X meets Y & Y [= Z holds
X meets Z
proof end;

theorem Th31: :: BOOLEALG:31
for L being 0_Lattice
for X, Y, Z being Element of L st X meets Y "/\" Z holds
( X meets Y & X meets Z )
proof end;

theorem Th32: :: BOOLEALG:32
for L being 0_Lattice
for X, Y, Z being Element of L st X meets Y \ Z holds
X meets Y
proof end;

theorem Th33: :: BOOLEALG:33
for L being 0_Lattice
for X being Element of L holds X misses Bottom L
proof end;

theorem Th34: :: BOOLEALG:34
for L being 0_Lattice
for X, Z, Y being Element of L st X misses Z & Y [= Z holds
X misses Y by ;

theorem Th35: :: BOOLEALG:35
for L being 0_Lattice
for X, Y, Z being Element of L st ( X misses Y or X misses Z ) holds
X misses Y "/\" Z by Def3;

theorem Th36: :: BOOLEALG:36
for L being 0_Lattice
for X, Y, Z being Element of L st X [= Y & X [= Z & Y misses Z holds
X = Bottom L
proof end;

theorem Th37: :: BOOLEALG:37
for L being 0_Lattice
for X, Y, Z being Element of L st X misses Y holds
Z "/\" X misses Z "/\" Y
proof end;

theorem Th38: :: BOOLEALG:38
for L being B_Lattice
for X, Y, Z being Element of L st X \ Y [= Z holds
X [= Y "\/" Z
proof end;

theorem Th39: :: BOOLEALG:39
for L being B_Lattice
for X, Y, Z being Element of L st X [= Y holds
Z \ Y [= Z \ X
proof end;

theorem Th40: :: BOOLEALG:40
for L being B_Lattice
for X, Y, Z, V being Element of L st X [= Y & Z [= V holds
X \ V [= Y \ Z
proof end;

theorem Th41: :: BOOLEALG:41
for L being B_Lattice
for X, Y, Z being Element of L st X [= Y "\/" Z holds
X \ Y [= Z
proof end;

theorem Th42: :: BOOLEALG:42
for L being B_Lattice
for X, Y being Element of L holds X ` [= (X "/\" Y) `
proof end;

theorem Th43: :: BOOLEALG:43
for L being B_Lattice
for X, Y being Element of L holds (X "\/" Y) ` [= X `
proof end;

theorem Th44: :: BOOLEALG:44
for L being B_Lattice
for X, Y being Element of L st X [= Y \ X holds
X = Bottom L
proof end;

theorem Th45: :: BOOLEALG:45
for L being B_Lattice
for X, Y being Element of L st X [= Y holds
Y = X "\/" (Y \ X)
proof end;

theorem Th46: :: BOOLEALG:46
for L being B_Lattice
for X, Y being Element of L holds
( X \ Y = Bottom L iff X [= Y )
proof end;

theorem Th47: :: BOOLEALG:47
for L being B_Lattice
for X, Y, Z being Element of L st X [= Y "\/" Z & X "/\" Z = Bottom L holds
X [= Y
proof end;

theorem Th48: :: BOOLEALG:48
for L being B_Lattice
for X, Y being Element of L holds X "\/" Y = (X \ Y) "\/" Y
proof end;

theorem Th49: :: BOOLEALG:49
for L being B_Lattice
for X, Y being Element of L holds X \ (X "\/" Y) = Bottom L
proof end;

theorem Th50: :: BOOLEALG:50
for L being B_Lattice
for X, Y being Element of L holds X \ (X "/\" Y) = X \ Y
proof end;

theorem Th51: :: BOOLEALG:51
for L being B_Lattice
for X, Y being Element of L holds (X \ Y) "/\" Y = Bottom L
proof end;

theorem Th52: :: BOOLEALG:52
for L being B_Lattice
for X, Y being Element of L holds X "\/" (Y \ X) = X "\/" Y
proof end;

theorem Th53: :: BOOLEALG:53
for L being B_Lattice
for X, Y being Element of L holds (X "/\" Y) "\/" (X \ Y) = X
proof end;

theorem Th54: :: BOOLEALG:54
for L being B_Lattice
for X, Y, Z being Element of L holds X \ (Y \ Z) = (X \ Y) "\/" (X "/\" Z)
proof end;

theorem Th55: :: BOOLEALG:55
for L being B_Lattice
for X, Y being Element of L holds X \ (X \ Y) = X "/\" Y
proof end;

theorem Th56: :: BOOLEALG:56
for L being B_Lattice
for X, Y being Element of L holds (X "\/" Y) \ Y = X \ Y
proof end;

theorem Th57: :: BOOLEALG:57
for L being B_Lattice
for X, Y being Element of L holds
( X "/\" Y = Bottom L iff X \ Y = X )
proof end;

theorem Th58: :: BOOLEALG:58
for L being B_Lattice
for X, Y, Z being Element of L holds X \ (Y "\/" Z) = (X \ Y) "/\" (X \ Z)
proof end;

theorem Th59: :: BOOLEALG:59
for L being B_Lattice
for X, Y, Z being Element of L holds X \ (Y "/\" Z) = (X \ Y) "\/" (X \ Z)
proof end;

theorem Th60: :: BOOLEALG:60
for L being B_Lattice
for X, Y, Z being Element of L holds X "/\" (Y \ Z) = (X "/\" Y) \ (X "/\" Z)
proof end;

theorem Th61: :: BOOLEALG:61
for L being B_Lattice
for X, Y being Element of L holds (X "\/" Y) \ (X "/\" Y) = (X \ Y) "\/" (Y \ X)
proof end;

theorem Th62: :: BOOLEALG:62
for L being B_Lattice
for X, Y, Z being Element of L holds (X \ Y) \ Z = X \ (Y "\/" Z)
proof end;

theorem Th63: :: BOOLEALG:63
for L being B_Lattice
for X, Y being Element of L st X \ Y = Y \ X holds
X = Y
proof end;

theorem Th64: :: BOOLEALG:64
canceled;

theorem Th65: :: BOOLEALG:65
canceled;

theorem Th66: :: BOOLEALG:66
for L being B_Lattice
for X being Element of L holds X \ X = Bottom L by LATTICES:47;

theorem Th67: :: BOOLEALG:67
for L being B_Lattice
for X being Element of L holds X \ (Bottom L) = X
proof end;

theorem Th68: :: BOOLEALG:68
for L being B_Lattice
for X, Y being Element of L holds (X \ Y) ` = (X ` ) "\/" Y
proof end;

theorem Th69: :: BOOLEALG:69
for L being B_Lattice
for X, Y, Z being Element of L holds
( X meets Y "\/" Z iff ( X meets Y or X meets Z ) )
proof end;

theorem Th70: :: BOOLEALG:70
for L being B_Lattice
for X, Y being Element of L holds X "/\" Y misses X \ Y
proof end;

theorem Th71: :: BOOLEALG:71
for L being B_Lattice
for X, Y, Z being Element of L holds
( X misses Y "\/" Z iff ( X misses Y & X misses Z ) ) by Th30;

theorem Th72: :: BOOLEALG:72
for L being B_Lattice
for X, Y being Element of L holds X \ Y misses Y
proof end;

theorem Th73: :: BOOLEALG:73
for L being B_Lattice
for X, Y being Element of L st X misses Y holds
(X "\/" Y) \ Y = X
proof end;

theorem Th74: :: BOOLEALG:74
for L being B_Lattice
for X, Y being Element of L st (X ` ) "\/" (Y ` ) = X "\/" Y & X misses X ` & Y misses Y ` holds
( X = Y ` & Y = X ` )
proof end;

theorem Th75: :: BOOLEALG:75
for L being B_Lattice
for X, Y being Element of L st (X ` ) "\/" (Y ` ) = X "\/" Y & Y misses X ` & X misses Y ` holds
( X = X ` & Y = Y ` )
proof end;

theorem Th76: :: BOOLEALG:76
for L being B_Lattice
for X being Element of L holds X \+\ (Bottom L) = X
proof end;

theorem Th77: :: BOOLEALG:77
for L being B_Lattice
for X being Element of L holds X \+\ X = Bottom L
proof end;

theorem Th78: :: BOOLEALG:78
for L being B_Lattice
for X, Y being Element of L holds X "/\" Y misses X \+\ Y
proof end;

theorem Th79: :: BOOLEALG:79
for L being B_Lattice
for X, Y being Element of L holds X "\/" Y = X \+\ (Y \ X)
proof end;

theorem Th80: :: BOOLEALG:80
for L being B_Lattice
for X, Y being Element of L holds X \+\ (X "/\" Y) = X \ Y
proof end;

theorem Th81: :: BOOLEALG:81
for L being B_Lattice
for X, Y being Element of L holds X "\/" Y = (X \+\ Y) "\/" (X "/\" Y)
proof end;

Lemma42: for L being B_Lattice
for X, Y being Element of L holds (X "\/" Y) \ (X \+\ Y) = X "/\" Y
proof end;

theorem Th82: :: BOOLEALG:82
for L being B_Lattice
for X, Y being Element of L holds (X \+\ Y) \+\ (X "/\" Y) = X "\/" Y
proof end;

theorem Th83: :: BOOLEALG:83
for L being B_Lattice
for X, Y being Element of L holds (X \+\ Y) \+\ (X "\/" Y) = X "/\" Y
proof end;

theorem Th84: :: BOOLEALG:84
for L being B_Lattice
for X, Y being Element of L holds X \+\ Y = (X "\/" Y) \ (X "/\" Y)
proof end;

theorem Th85: :: BOOLEALG:85
for L being B_Lattice
for X, Y, Z being Element of L holds (X \+\ Y) \ Z = (X \ (Y "\/" Z)) "\/" (Y \ (X "\/" Z))
proof end;

theorem Th86: :: BOOLEALG:86
for L being B_Lattice
for X, Y, Z being Element of L holds X \ (Y \+\ Z) = (X \ (Y "\/" Z)) "\/" ((X "/\" Y) "/\" Z)
proof end;

theorem Th87: :: BOOLEALG:87
for L being B_Lattice
for X, Y, Z being Element of L holds (X \+\ Y) \+\ Z = X \+\ (Y \+\ Z)
proof end;

theorem Th88: :: BOOLEALG:88
for L being B_Lattice
for X, Y being Element of L holds (X \+\ Y) ` = (X "/\" Y) "\/" ((X ` ) "/\" (Y ` ))
proof end;