set L = LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #);
A1: for a, b, c being Element of LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) holds a "\/" (b "\/" c) = (a "\/" b) "\/" c by Th45, BINOP_1:def 3;
A2: for a, b being Element of LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) holds a "/\" b = b "/\" a by Th46, BINOP_1:def 2;
A3: for a, b being Element of LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) holds a "/\" (a "\/" b) = a
proof
let a, b be Element of LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #); :: thesis: a "/\" (a "\/" b) = a
reconsider x = a, y = b as Element of OSSub U0 ;
(OSAlg_meet U0) . (x,((OSAlg_join U0) . (x,y))) = x
proof
reconsider U1 = x, U2 = y as strict OSSubAlgebra of U0 by Def14;
(OSAlg_join U0) . (x,y) = U1 "\/"_os U2 by Def15;
hence (OSAlg_meet U0) . (x,((OSAlg_join U0) . (x,y))) = U1 /\ (U1 "\/"_os U2) by Def16
.= x by Th40 ;
:: thesis: verum
end;
hence a "/\" (a "\/" b) = a ; :: thesis: verum
end;
A4: for a, b being Element of LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) holds (a "/\" b) "\/" b = b
proof
let a, b be Element of LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #); :: thesis: (a "/\" b) "\/" b = b
reconsider x = a, y = b as Element of OSSub U0 ;
(OSAlg_join U0) . (((OSAlg_meet U0) . (x,y)),y) = y
proof
reconsider U1 = x, U2 = y as strict OSSubAlgebra of U0 by Def14;
(OSAlg_meet U0) . (x,y) = U1 /\ U2 by Def16;
hence (OSAlg_join U0) . (((OSAlg_meet U0) . (x,y)),y) = (U1 /\ U2) "\/"_os U2 by Def15
.= y by Th41 ;
:: thesis: verum
end;
hence (a "/\" b) "\/" b = b ; :: thesis: verum
end;
A5: for a, b, c being Element of LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) holds a "/\" (b "/\" c) = (a "/\" b) "/\" c by Th47, BINOP_1:def 3;
for a, b being Element of LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) holds a "\/" b = b "\/" a by Th44, BINOP_1:def 2;
then ( LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) is strict & LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) is join-commutative & LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) is join-associative & LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) is meet-absorbing & LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) is meet-commutative & LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) is meet-associative & LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) is join-absorbing ) by A1, A4, A2, A5, A3;
hence LattStr(# (OSSub U0),(OSAlg_join U0),(OSAlg_meet U0) #) is strict Lattice ; :: thesis: verum