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:
(c `) ` = c
;
A17:
{ (e `) where e is Element of (BooleLatt X) : e in x } is_less_than a `
by A1, Th24;
A18:
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
A20:
{ ((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;
A21:
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 A23:
(b `) "/\" (a `) [= c `
by A17, A18, A20, A21;
((b `) "/\" (a `)) ` = ((b `) `) "\/" ((a `) `)
by LATTICES:23;
hence
c [= b "\/" a
by A16, A23, LATTICES:26; verum