T2:
for x, y being Element of {0,1,2} holds min (x,y) in {0,1,2}
definition
let x,
y be
Element of
{0,1,2};
coherence
( ( ( x = 1 or y = 1 ) implies 1 is Element of {0,1,2} ) & ( x <> 1 & y <> 1 implies min (x,y) is Element of {0,1,2} ) )
by T2;
consistency
for b1 being Element of {0,1,2} st ( x = 1 or y = 1 ) & x <> 1 & y <> 1 holds
( b1 = 1 iff b1 = min (x,y) )
;
end;
definition
existence
ex b1 being BinOp of {0,1,2} st
for x, y being Element of {0,1,2} holds
( ( x = y implies b1 . (x,y) = x ) & ( x <> y implies b1 . (x,y) = 0 ) )
uniqueness
for b1, b2 being BinOp of {0,1,2} st ( for x, y being Element of {0,1,2} holds
( ( x = y implies b1 . (x,y) = x ) & ( x <> y implies b1 . (x,y) = 0 ) ) ) & ( for x, y being Element of {0,1,2} holds
( ( x = y implies b2 . (x,y) = x ) & ( x <> y implies b2 . (x,y) = 0 ) ) ) holds
b1 = b2
existence
ex b1 being BinOp of {0,1,2} st
for x, y being Element of {0,1,2} holds
( ( ( x = 1 or y = 1 ) implies b1 . (x,y) = 1 ) & ( x <> 1 & y <> 1 implies b1 . (x,y) = min (x,y) ) )
uniqueness
for b1, b2 being BinOp of {0,1,2} st ( for x, y being Element of {0,1,2} holds
( ( ( x = 1 or y = 1 ) implies b1 . (x,y) = 1 ) & ( x <> 1 & y <> 1 implies b1 . (x,y) = min (x,y) ) ) ) & ( for x, y being Element of {0,1,2} holds
( ( ( x = 1 or y = 1 ) implies b2 . (x,y) = 1 ) & ( x <> 1 & y <> 1 implies b2 . (x,y) = min (x,y) ) ) ) holds
b1 = b2
end;
theorem Lemma1:
for
L being non
empty LattStr st ( for
v1,
v0 being
Element of
L holds
v0 "/\" v1 = v1 "/\" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "/\" (v1 "\/" v2)) "\/" (v0 "/\" v1) = v0 "/\" (v1 "\/" v2) ) & ( for
v0 being
Element of
L holds
v0 "\/" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "\/" v1) "\/" v2 = v0 "\/" (v1 "\/" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "\/" v1 = v1 "\/" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "\/" (v1 "/\" v2)) "/\" (v0 "\/" v1) = v0 "\/" (v1 "/\" v2) ) & ( for
v1,
v2,
v0 being
Element of
L holds
v0 "/\" (v1 "\/" (v0 "/\" v2)) = v0 "/\" (v1 "\/" v2) ) holds
for
v1,
v2,
v3 being
Element of
L holds
(v1 "/\" v2) "\/" (v1 "/\" v3) = v1 "/\" (v2 "\/" v3)
theorem ThQLT2:
for
L being non
empty LattStr st ( for
v0 being
Element of
L holds
v0 "/\" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "/\" v1) "/\" v2 = v0 "/\" (v1 "/\" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "/\" v1 = v1 "/\" v0 ) & ( for
v0 being
Element of
L holds
v0 "\/" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "\/" v1) "\/" v2 = v0 "\/" (v1 "\/" v2) ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "\/" (v1 "/\" v2)) "/\" (v0 "\/" v1) = v0 "\/" (v1 "/\" v2) ) & ( for
v0,
v2,
v1 being
Element of
L holds
v0 "/\" (v1 "\/" v2) = (v0 "/\" v1) "\/" (v0 "/\" v2) ) holds
for
v1,
v2,
v3 being
Element of
L holds
v1 "\/" (v2 "/\" v3) = (v1 "\/" v2) "/\" (v1 "\/" v3)
theorem ThQLT3:
for
L being non
empty LattStr st ( for
v0 being
Element of
L holds
v0 "/\" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "/\" v1) "/\" v2 = v0 "/\" (v1 "/\" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "/\" v1 = v1 "/\" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "/\" (v1 "\/" v2)) "\/" (v0 "/\" v1) = v0 "/\" (v1 "\/" v2) ) & ( for
v0 being
Element of
L holds
v0 "\/" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "\/" v1) "\/" v2 = v0 "\/" (v1 "\/" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "\/" v1 = v1 "\/" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "\/" (v1 "/\" v2)) "/\" (v0 "\/" v1) = v0 "\/" (v1 "/\" v2) ) & ( for
v2,
v1,
v0 being
Element of
L holds
(((v0 "/\" v1) "\/" v2) "/\" v1) "\/" (v2 "/\" v0) = (((v0 "\/" v1) "/\" v2) "\/" v1) "/\" (v2 "\/" v0) ) holds
for
v1,
v2,
v3 being
Element of
L holds
v1 "\/" (v2 "/\" v3) = (v1 "\/" v2) "/\" (v1 "\/" v3)
Cluster3:
for L being non empty LattStr st L is meet-idempotent & L is meet-associative & L is meet-commutative & L is satisfying_QLT1 & L is join-idempotent & L is join-associative & L is join-commutative & L is satisfying_QLT2 & L is QLT-selfdistributive holds
L is distributive'
theorem ThQLT4:
for
L being non
empty LattStr st ( for
v0 being
Element of
L holds
v0 "/\" v0 = v0 ) & ( for
v1,
v0 being
Element of
L holds
v0 "/\" v1 = v1 "/\" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "/\" (v1 "\/" v2)) "\/" (v0 "/\" v1) = v0 "/\" (v1 "\/" v2) ) & ( for
v0 being
Element of
L holds
v0 "\/" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "\/" v1) "\/" v2 = v0 "\/" (v1 "\/" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "\/" v1 = v1 "\/" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "\/" (v1 "/\" v2)) "/\" (v0 "\/" v1) = v0 "\/" (v1 "/\" v2) ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "\/" (v1 "/\" v2)) "\/" ((v0 "\/" v1) "/\" v2) = v0 "\/" (v1 "/\" v2) ) holds
for
v1,
v2,
v3 being
Element of
L holds
v1 "\/" (v2 "/\" v3) = (v1 "\/" v2) "/\" (v1 "\/" v3)
Cluster4:
for L being non empty LattStr st L is meet-idempotent & L is meet-associative & L is meet-commutative & L is satisfying_QLT1 & L is join-idempotent & L is join-associative & L is join-commutative & L is satisfying_QLT2 & L is satisfying_Bowden_inequality holds
L is distributive'
theorem QLTMod:
for
L being non
empty LattStr st ( for
v0 being
Element of
L holds
v0 "/\" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "/\" v1) "/\" v2 = v0 "/\" (v1 "/\" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "/\" v1 = v1 "/\" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "/\" (v1 "\/" v2)) "\/" (v0 "/\" v1) = v0 "/\" (v1 "\/" v2) ) & ( for
v0 being
Element of
L holds
v0 "\/" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "\/" v1) "\/" v2 = v0 "\/" (v1 "\/" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "\/" v1 = v1 "\/" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "\/" (v1 "/\" v2)) "/\" (v0 "\/" v1) = v0 "\/" (v1 "/\" v2) ) & ( for
v0,
v1,
v2 being
Element of
L st
v0 "\/" v1 = v1 holds
v0 "\/" (v2 "/\" v1) = (v0 "\/" v2) "/\" v1 ) holds
for
v1,
v2,
v3 being
Element of
L holds
(v1 "/\" v2) "\/" (v1 "/\" v3) = v1 "/\" (v2 "\/" (v1 "/\" v3))
ClusterA:
for L being non empty LattStr st L is meet-idempotent & L is join-idempotent & L is meet-commutative & L is join-commutative & L is meet-associative & L is join-associative & L is satisfying_QLT1 & L is satisfying_QLT2 & L is modular holds
for v1, v2, v3 being Element of L holds (v1 "/\" v2) "\/" (v1 "/\" v3) = v1 "/\" (v2 "\/" (v1 "/\" v3))
theorem QLTMod2:
for
L being non
empty LattStr st ( for
v1,
v0 being
Element of
L holds
v0 "/\" v1 = v1 "/\" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "/\" (v1 "\/" v2)) "\/" (v0 "/\" v1) = v0 "/\" (v1 "\/" v2) ) & ( for
v0 being
Element of
L holds
v0 "\/" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "\/" v1) "\/" v2 = v0 "\/" (v1 "\/" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "\/" v1 = v1 "\/" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "\/" (v1 "/\" v2)) "/\" (v0 "\/" v1) = v0 "\/" (v1 "/\" v2) ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "/\" v1) "\/" (v0 "/\" v2) = v0 "/\" (v1 "\/" (v0 "/\" v2)) ) holds
for
v1,
v2,
v3 being
Element of
L st
v1 "\/" v2 = v2 holds
v1 "\/" (v3 "/\" v2) = (v1 "\/" v3) "/\" v2
ClusterB:
for L being non empty LattStr st L is meet-idempotent & L is join-idempotent & L is meet-commutative & L is join-commutative & L is meet-associative & L is join-associative & L is satisfying_QLT1 & L is satisfying_QLT2 & ( for v2, v1, v0 being Element of L holds (v0 "/\" v1) "\/" (v0 "/\" v2) = v0 "/\" (v1 "\/" (v0 "/\" v2)) ) holds
L is modular
theorem ThQLT5:
for
L being non
empty LattStr st ( for
v0 being
Element of
L holds
v0 "/\" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "/\" v1) "/\" v2 = v0 "/\" (v1 "/\" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "/\" v1 = v1 "/\" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "/\" (v1 "\/" v2)) "\/" (v0 "/\" v1) = v0 "/\" (v1 "\/" v2) ) & ( for
v0 being
Element of
L holds
v0 "\/" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "\/" v1) "\/" v2 = v0 "\/" (v1 "\/" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "\/" v1 = v1 "\/" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "\/" (v1 "/\" v2)) "/\" (v0 "\/" v1) = v0 "\/" (v1 "/\" v2) ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "/\" v1) "\/" (v2 "/\" (v0 "\/" v1)) = (v0 "\/" v1) "/\" (v2 "\/" (v0 "/\" v1)) ) holds
for
v1,
v2,
v3 being
Element of
L holds
(v1 "/\" v2) "\/" (v1 "/\" v3) = v1 "/\" (v2 "\/" (v1 "/\" v3))
Cluster5:
for L being non empty LattStr st L is meet-idempotent & L is meet-associative & L is meet-commutative & L is satisfying_QLT1 & L is join-idempotent & L is join-associative & L is join-commutative & L is satisfying_QLT2 & L is QLT-selfmodular holds
L is modular
theorem ThQLT6:
for
L being non
empty LattStr st ( for
v0 being
Element of
L holds
v0 "/\" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "/\" v1) "/\" v2 = v0 "/\" (v1 "/\" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "/\" v1 = v1 "/\" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "/\" (v1 "\/" v2)) "\/" (v0 "/\" v1) = v0 "/\" (v1 "\/" v2) ) & ( for
v0 being
Element of
L holds
v0 "\/" v0 = v0 ) & ( for
v2,
v1,
v0 being
Element of
L holds
(v0 "\/" v1) "\/" v2 = v0 "\/" (v1 "\/" v2) ) & ( for
v1,
v0 being
Element of
L holds
v0 "\/" v1 = v1 "\/" v0 ) & ( for
v0,
v2,
v1 being
Element of
L holds
(v0 "\/" (v1 "/\" v2)) "/\" (v0 "\/" v1) = v0 "\/" (v1 "/\" v2) ) & ( for
v2,
v1,
v0 being
Element of
L holds
((v0 "\/" v1) "/\" v2) "\/" v1 = ((v2 "\/" v1) "/\" v0) "\/" v1 ) holds
for
v1,
v2,
v3 being
Element of
L holds
(v1 "/\" v2) "\/" (v1 "/\" v3) = v1 "/\" (v2 "\/" (v1 "/\" v3))
Cluster6:
for L being non empty LattStr st L is meet-idempotent & L is meet-associative & L is meet-commutative & L is satisfying_QLT1 & L is join-idempotent & L is join-associative & L is join-commutative & L is satisfying_QLT2 & L is QLT-selfmodular' holds
L is modular
:: x <= y iff x "\/" y = y
::: if absorption is true, then x <= y iff x "/\" y = x