let X be set ; BooleLatt X is /\-distributive
let x be set ; LATTICE3:def 20 for a, b, c being Element of (BooleLatt X) st x is_greater_than a & ( for d being Element of (BooleLatt X) st x is_greater_than d holds
d [= a ) & { (b "\/" a9) where a9 is Element of (BooleLatt X) : a9 in x } is_greater_than c & ( for d being Element of (BooleLatt X) st { (b "\/" a9) where a9 is Element of (BooleLatt X) : a9 in x } is_greater_than d holds
d [= c ) holds
c [= b "\/" a
set B = BooleLatt X;
let a, b, c be Element of (BooleLatt X); ( x is_greater_than a & ( for d being Element of (BooleLatt X) st x is_greater_than d holds
d [= a ) & { (b "\/" a9) where a9 is Element of (BooleLatt X) : a9 in x } is_greater_than c & ( for d being Element of (BooleLatt X) st { (b "\/" a9) where a9 is Element of (BooleLatt X) : a9 in x } is_greater_than d holds
d [= c ) implies c [= b "\/" a )
assume that
A1:
x is_greater_than a
and
A2:
for d being Element of (BooleLatt X) st x is_greater_than d holds
d [= a
and
A3:
{ (b "\/" a9) where a9 is Element of (BooleLatt X) : a9 in x } is_greater_than c
and
A4:
for d being Element of (BooleLatt X) st { (b "\/" a9) where a9 is Element of (BooleLatt X) : a9 in x } is_greater_than d holds
d [= c
; c [= b "\/" a
set x9 = { (e ` ) where e is Element of (BooleLatt X) : e in x } ;
set y = { (b "\/" e) where e is Element of (BooleLatt X) : e in x } ;
set y9 = { (e ` ) where e is Element of (BooleLatt X) : e in { (b "\/" e) where e is Element of (BooleLatt X) : e in x } } ;
set z = { ((b ` ) "/\" e) where e is Element of (BooleLatt X) : e in { (e ` ) where e is Element of (BooleLatt X) : e in x } } ;
A5:
{ ((b ` ) "/\" e) where e is Element of (BooleLatt X) : e in { (e ` ) where e is Element of (BooleLatt X) : e in x } } = { (e ` ) where e is Element of (BooleLatt X) : e in { (b "\/" e) where e is Element of (BooleLatt X) : e in x } }
A16:
(a ` ) ` = a
by LATTICES:49;
A17:
(b ` ) ` = b
by LATTICES:49;
A18:
(c ` ) ` = c
by LATTICES:49;
A19:
{ (e ` ) where e is Element of (BooleLatt X) : e in x } is_less_than a `
by A1, Th24;
A20:
for d being Element of (BooleLatt X) st { (e ` ) where e is Element of (BooleLatt X) : e in x } is_less_than d holds
a ` [= d
A22:
{ ((b ` ) "/\" e) where e is Element of (BooleLatt X) : e in { (e ` ) where e is Element of (BooleLatt X) : e in x } } is_less_than c `
by A3, A5, Th24;
A23:
for d being Element of (BooleLatt X) st { ((b ` ) "/\" e) where e is Element of (BooleLatt X) : e in { (e ` ) where e is Element of (BooleLatt X) : e in x } } is_less_than d holds
c ` [= d
BooleLatt X is \/-distributive
by Th26;
then A25:
(b ` ) "/\" (a ` ) [= c `
by A19, A20, A22, A23, Def19;
((b ` ) "/\" (a ` )) ` = ((b ` ) ` ) "\/" ((a ` ) ` )
by LATTICES:50;
hence
c [= b "\/" a
by A16, A17, A18, A25, LATTICES:53; verum