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