let L be non empty OrthoLattStr ; ( L is Orthomodular_Lattice iff ( L is join-Associative & L is meet-Absorbing & L is de_Morgan & L is Orthomodular ) )
thus
( L is Orthomodular_Lattice implies ( L is join-Associative & L is meet-Absorbing & L is de_Morgan & L is Orthomodular ) )
; ( L is join-Associative & L is meet-Absorbing & L is de_Morgan & L is Orthomodular implies L is Orthomodular_Lattice )
assume A1:
L is join-Associative
; ( not L is meet-Absorbing or not L is de_Morgan or not L is Orthomodular or L is Orthomodular_Lattice )
assume A2:
L is meet-Absorbing
; ( not L is de_Morgan or not L is Orthomodular or L is Orthomodular_Lattice )
assume A3:
L is de_Morgan
; ( not L is Orthomodular or L is Orthomodular_Lattice )
A4:
for x, y being Element of L holds x = x "\/" (((x ` ) "\/" (y ` )) ` )
A5:
for x being Element of L holds x = x "\/" ((x ` ) ` )
assume A6:
L is Orthomodular
; L is Orthomodular_Lattice
A7:
for x, y being Element of L holds x "\/" y = x "\/" ((((x ` ) ` ) "\/" ((x "\/" y) ` )) ` )
A8:
for x, y being Element of L holds x "\/" (((x ` ) "\/" y) ` ) = x
A9:
for x, y being Element of L holds x "\/" (y "\/" ((x ` ) ` )) = y "\/" x
A10:
for x, y being Element of L holds x "\/" ((y "\/" (x ` )) ` ) = x
A11:
for x being Element of L holds (x ` ) "\/" (x ` ) = x `
A12:
for x being Element of L holds ((x ` ) ` ) "\/" x = x
A13:
for x being Element of L holds ((((x ` ) ` ) ` ) ` ) "\/" x = x
A14:
for x being Element of L holds ((x ` ) ` ) ` = x `
A15:
for x, y being Element of L holds ((x ` ) ` ) "\/" ((y "\/" (x ` )) ` ) = (x ` ) `
A16:
for x being Element of L holds ((x ` ) ` ) "\/" ((((x ` ) ` ) "\/" (x ` )) ` ) = x
A17:
for x being Element of L holds (x ` ) ` = x
A18:
L is join-absorbing
L is meet-Associative
then reconsider L9 = L as non empty Lattice-like OrthoLattStr by A1, A2, A18;
reconsider L9 = L9 as non empty Lattice-like de_Morgan join-Associative meet-Absorbing Orthomodular OrthoLattStr by A3, A6;
L9 is with_Top
;
hence
L is Orthomodular_Lattice
by A17, ROBBINS3:def 6; verum