let X be set ; :: thesis: BooleLatt X is /\-distributive
let x be set ; :: according to LATTICE3:def 20 :: thesis: 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 "\/" a') where a' is Element of (BooleLatt X) : a' in x } is_greater_than c & ( for d being Element of (BooleLatt X) st { (b "\/" a') where a' is Element of (BooleLatt X) : a' 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); :: thesis: ( x is_greater_than a & ( for d being Element of (BooleLatt X) st x is_greater_than d holds
d [= a ) & { (b "\/" a') where a' is Element of (BooleLatt X) : a' in x } is_greater_than c & ( for d being Element of (BooleLatt X) st { (b "\/" a') where a' is Element of (BooleLatt X) : a' 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 "\/" a') where a' is Element of (BooleLatt X) : a' in x } is_greater_than c
and
A4:
for d being Element of (BooleLatt X) st { (b "\/" a') where a' is Element of (BooleLatt X) : a' in x } is_greater_than d holds
d [= c
; :: thesis: c [= b "\/" a
set x' = { (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 y' = { (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 } }
A10:
( (a ` ) ` = a & (b ` ) ` = b & (c ` ) ` = c )
by LATTICES:49;
A11:
{ (e ` ) where e is Element of (BooleLatt X) : e in x } is_less_than a `
by A1, Th24;
A12:
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
A14:
{ ((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;
A15:
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
( (b ` ) "/\" (a ` ) [= c ` & ((b ` ) "/\" (a ` )) ` = ((b ` ) ` ) "\/" ((a ` ) ` ) )
by A11, A12, A14, A15, Def19, LATTICES:50;
hence
c [= b "\/" a
by A10, LATTICES:53; :: thesis: verum