set B = { x where x is Relation of X,X : x is Equivalence_Relation of X } ;
id X in { x where x is Relation of X,X : x is Equivalence_Relation of X }
;
then reconsider B = { x where x is Relation of X,X : x is Equivalence_Relation of X } as non empty set ;
defpred S1[ Element of B, Element of B, Element of B] means ( $1 \/ $2 c= $3 & ( for x9 being Element of B st $1 \/ $2 c= x9 holds
$3 c= x9 ) );
A1:
for x, y being Element of B ex z being Element of B st S1[x,y,z]
consider B1 being BinOp of B such that
A6:
for x, y being Element of B holds S1[x,y,B1 . (x,y)]
from BINOP_1:sch 3(A1);
defpred S2[ Element of B, Element of B, Element of B] means $3 = $1 /\ $2;
A7:
for x, y being Element of B ex z being Element of B st S2[x,y,z]
proof
let x,
y be
Element of
B;
ex z being Element of B st S2[x,y,z]
y in B
;
then A8:
ex
y1 being
Relation of
X,
X st
(
y = y1 &
y1 is
Equivalence_Relation of
X )
;
x in B
;
then
ex
x1 being
Relation of
X,
X st
(
x = x1 &
x1 is
Equivalence_Relation of
X )
;
then reconsider x9 =
x,
y9 =
y as
Equivalence_Relation of
X by A8;
set z =
x9 /\ y9;
x9 /\ y9 in B
;
then reconsider z =
x9 /\ y9 as
Element of
B ;
take
z
;
S2[x,y,z]
thus
S2[
x,
y,
z]
;
verum
end;
consider B2 being BinOp of B such that
A9:
for x, y being Element of B holds S2[x,y,B2 . (x,y)]
from BINOP_1:sch 3(A7);
reconsider L = LattStr(# B,B1,B2 #) as non empty LattStr ;
A15:
now for a, b, c being Element of B holds B1 . (a,(B1 . (b,c))) = B1 . ((B1 . (a,b)),c)let a,
b,
c be
Element of
B;
B1 . (a,(B1 . (b,c))) = B1 . ((B1 . (a,b)),c)
b in B
;
then A16:
ex
x2 being
Relation of
X,
X st
(
b = x2 &
x2 is
Equivalence_Relation of
X )
;
c in B
;
then A17:
ex
x3 being
Relation of
X,
X st
(
c = x3 &
x3 is
Equivalence_Relation of
X )
;
a in B
;
then
ex
x1 being
Relation of
X,
X st
(
a = x1 &
x1 is
Equivalence_Relation of
X )
;
then reconsider U1 =
a,
U2 =
b,
U3 =
c as
Equivalence_Relation of
X by A16, A17;
thus B1 . (
a,
(B1 . (b,c))) =
B1 . (
a,
(U2 "\/" U3))
by A10
.=
U1 "\/" (U2 "\/" U3)
by A10
.=
(U1 "\/" U2) "\/" U3
by EQREL_1:13
.=
B1 . (
(U1 "\/" U2),
c)
by A10
.=
B1 . (
(B1 . (a,b)),
c)
by A10
;
verum end;
A18:
for a, b, c being Element of L holds a "\/" (b "\/" c) = (a "\/" b) "\/" c
proof
let a,
b,
c be
Element of
L;
a "\/" (b "\/" c) = (a "\/" b) "\/" c
reconsider x =
a,
y =
b,
z =
c as
Element of
B ;
A19:
the
L_join of
L . (
a,
b)
= a "\/" b
by LATTICES:def 1;
thus a "\/" (b "\/" c) =
the
L_join of
L . (
a,
(b "\/" c))
by LATTICES:def 1
.=
B1 . (
x,
(B1 . (y,z)))
by LATTICES:def 1
.=
the
L_join of
L . (
( the L_join of L . (a,b)),
c)
by A15
.=
(a "\/" b) "\/" c
by A19, LATTICES:def 1
;
verum
end;
A20:
now for a, b being Element of B holds B1 . (a,b) = B1 . (b,a)end;
A22:
for a, b being Element of L holds a "\/" b = b "\/" a
A25:
now for a, b, c being Element of B holds B2 . (a,(B2 . (b,c))) = B2 . ((B2 . (a,b)),c)let a,
b,
c be
Element of
B;
B2 . (a,(B2 . (b,c))) = B2 . ((B2 . (a,b)),c)
b in B
;
then A26:
ex
x2 being
Relation of
X,
X st
(
b = x2 &
x2 is
Equivalence_Relation of
X )
;
c in B
;
then A27:
ex
x3 being
Relation of
X,
X st
(
c = x3 &
x3 is
Equivalence_Relation of
X )
;
a in B
;
then
ex
x1 being
Relation of
X,
X st
(
a = x1 &
x1 is
Equivalence_Relation of
X )
;
then reconsider U1 =
a,
U2 =
b,
U3 =
c as
Equivalence_Relation of
X by A26, A27;
thus B2 . (
a,
(B2 . (b,c))) =
B2 . (
a,
(U2 /\ U3))
by A23
.=
U1 /\ (U2 /\ U3)
by A23
.=
(U1 /\ U2) /\ U3
by XBOOLE_1:16
.=
B2 . (
(U1 /\ U2),
c)
by A23
.=
B2 . (
(B2 . (a,b)),
c)
by A23
;
verum end;
A28:
for a, b, c being Element of L holds a "/\" (b "/\" c) = (a "/\" b) "/\" c
proof
let a,
b,
c be
Element of
L;
a "/\" (b "/\" c) = (a "/\" b) "/\" c
reconsider x =
a,
y =
b,
z =
c as
Element of
B ;
A29:
the
L_meet of
L . (
a,
b)
= a "/\" b
by LATTICES:def 2;
thus a "/\" (b "/\" c) =
the
L_meet of
L . (
a,
(b "/\" c))
by LATTICES:def 2
.=
B2 . (
x,
(B2 . (y,z)))
by LATTICES:def 2
.=
the
L_meet of
L . (
( the L_meet of L . (a,b)),
c)
by A25
.=
(a "/\" b) "/\" c
by A29, LATTICES:def 2
;
verum
end;
A30:
for a, b being Element of L holds a "/\" (a "\/" b) = a
A33:
now for a, b being Element of B holds B2 . (a,b) = B2 . (b,a)end;
A35:
for a, b being Element of L holds a "/\" b = b "/\" a
for a, b being Element of L holds (a "/\" b) "\/" b = b
then
( L is join-commutative & L is join-associative & L is meet-absorbing & L is meet-commutative & L is meet-associative & L is join-absorbing )
by A22, A18, A35, A28, A30, LATTICES:def 4, LATTICES:def 5, LATTICES:def 6, LATTICES:def 7, LATTICES:def 8, LATTICES:def 9;
then reconsider L = L as strict Lattice ;
take
L
; ( the carrier of L = { x where x is Relation of X,X : x is Equivalence_Relation of X } & ( for x, y being Equivalence_Relation of X holds
( the L_meet of L . (x,y) = x /\ y & the L_join of L . (x,y) = x "\/" y ) ) )
thus
the carrier of L = { x where x is Relation of X,X : x is Equivalence_Relation of X }
; for x, y being Equivalence_Relation of X holds
( the L_meet of L . (x,y) = x /\ y & the L_join of L . (x,y) = x "\/" y )
thus
for x, y being Equivalence_Relation of X holds
( the L_meet of L . (x,y) = x /\ y & the L_join of L . (x,y) = x "\/" y )
by A10, A23; verum