let L be non empty OrthoLattStr ; :: thesis: ( L is Ortholattice iff ( ( for a, b, c being Element of L holds (a "\/" b) "\/" c = (((c ` ) "/\" (b ` )) ` ) "\/" a ) & ( for a, b being Element of L holds a = a "/\" (a "\/" b) ) & ( for a, b being Element of L holds a = a "\/" (b "/\" (b ` )) ) ) )
thus
( L is Ortholattice implies ( ( for a, b, c being Element of L holds (a "\/" b) "\/" c = (((c ` ) "/\" (b ` )) ` ) "\/" a ) & ( for a, b being Element of L holds a = a "/\" (a "\/" b) ) & ( for a, b being Element of L holds a = a "\/" (b "/\" (b ` )) ) ) )
:: thesis: ( ( for a, b, c being Element of L holds (a "\/" b) "\/" c = (((c ` ) "/\" (b ` )) ` ) "\/" a ) & ( for a, b being Element of L holds a = a "/\" (a "\/" b) ) & ( for a, b being Element of L holds a = a "\/" (b "/\" (b ` )) ) implies L is Ortholattice )proof
assume a:
L is
Ortholattice
;
:: thesis: ( ( for a, b, c being Element of L holds (a "\/" b) "\/" c = (((c ` ) "/\" (b ` )) ` ) "\/" a ) & ( for a, b being Element of L holds a = a "/\" (a "\/" b) ) & ( for a, b being Element of L holds a = a "\/" (b "/\" (b ` )) ) )
thus
for
a,
b,
c being
Element of
L holds
(a "\/" b) "\/" c = (((c ` ) "/\" (b ` )) ` ) "\/" a
:: thesis: ( ( for a, b being Element of L holds a = a "/\" (a "\/" b) ) & ( for a, b being Element of L holds a = a "\/" (b "/\" (b ` )) ) )
thus
for
a,
b being
Element of
L holds
a = a "/\" (a "\/" b)
by a, LATTICES:def 9;
:: thesis: for a, b being Element of L holds a = a "\/" (b "/\" (b ` ))
let a,
b be
Element of
L;
:: thesis: a = a "\/" (b "/\" (b ` ))
thus a "\/" (b "/\" (b ` )) =
a "\/" (((b ` ) "\/" ((b ` ) ` )) ` )
by a, ROBBINS1:def 23
.=
a "\/" (((b ` ) "\/" b) ` )
by a, ROBBINS3:def 6
.=
a "\/" ((b "\/" (b ` )) ` )
by a, LATTICES:def 4
.=
a "\/" ((a "\/" (a ` )) ` )
by a, ROBBINS3:def 7
.=
a "\/" ((((a ` ) ` ) "\/" (a ` )) ` )
by a, ROBBINS3:def 6
.=
a "\/" ((a ` ) "/\" a)
by a, ROBBINS1:def 23
.=
((a ` ) "/\" a) "\/" a
by a, LATTICES:def 4
.=
a
by a, LATTICES:def 8
;
:: thesis: verum
end;
assume z1:
for a, b, c being Element of L holds (a "\/" b) "\/" c = (((c ` ) "/\" (b ` )) ` ) "\/" a
; :: thesis: ( ex a, b being Element of L st not a = a "/\" (a "\/" b) or ex a, b being Element of L st not a = a "\/" (b "/\" (b ` )) or L is Ortholattice )
assume z2:
for a, b being Element of L holds a = a "/\" (a "\/" b)
; :: thesis: ( ex a, b being Element of L st not a = a "\/" (b "/\" (b ` )) or L is Ortholattice )
assume z3:
for a, b being Element of L holds a = a "\/" (b "/\" (b ` ))
; :: thesis: L is Ortholattice
a:
for a being Element of L holds a "/\" a = a
b:
for a, b being Element of L holds a = (((b "/\" (b ` )) ` ) ` ) "\/" a
c:
for a being Element of L holds a "/\" (a ` ) = ((a "/\" (a ` )) ` ) `
d:
for a, b being Element of L holds a = (b "/\" (b ` )) "\/" a
e:
for a, b being Element of L holds a "/\" (a ` ) = b "/\" (b ` )
f:
for a, b being Element of L holds a "\/" b = ((b ` ) "/\" (a ` )) `
k1:
L is join-commutative
k2:
L is join-associative
l1:
L is involutive
l2:
L is de_Morgan
l3:
L is with_Top
k3:
L is join-absorbing
by z2, LATTICES:def 9;
k5:
L is meet-associative
L is meet-absorbing
hence
L is Ortholattice
by l1, l2, l3, k1, k2, k3, k5; :: thesis: verum