Metamath Proof Explorer


Theorem oldmj1

Description: De Morgan's law for join in an ortholattice. ( chdmj1 analog.) (Contributed by NM, 6-Nov-2011)

Ref Expression
Hypotheses oldmm1.b
|- B = ( Base ` K )
oldmm1.j
|- .\/ = ( join ` K )
oldmm1.m
|- ./\ = ( meet ` K )
oldmm1.o
|- ._|_ = ( oc ` K )
Assertion oldmj1
|- ( ( K e. OL /\ X e. B /\ Y e. B ) -> ( ._|_ ` ( X .\/ Y ) ) = ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) )

Proof

Step Hyp Ref Expression
1 oldmm1.b
 |-  B = ( Base ` K )
2 oldmm1.j
 |-  .\/ = ( join ` K )
3 oldmm1.m
 |-  ./\ = ( meet ` K )
4 oldmm1.o
 |-  ._|_ = ( oc ` K )
5 1 2 3 4 oldmm4
 |-  ( ( K e. OL /\ X e. B /\ Y e. B ) -> ( ._|_ ` ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) ) = ( X .\/ Y ) )
6 5 fveq2d
 |-  ( ( K e. OL /\ X e. B /\ Y e. B ) -> ( ._|_ ` ( ._|_ ` ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) ) ) = ( ._|_ ` ( X .\/ Y ) ) )
7 olop
 |-  ( K e. OL -> K e. OP )
8 7 3ad2ant1
 |-  ( ( K e. OL /\ X e. B /\ Y e. B ) -> K e. OP )
9 ollat
 |-  ( K e. OL -> K e. Lat )
10 9 3ad2ant1
 |-  ( ( K e. OL /\ X e. B /\ Y e. B ) -> K e. Lat )
11 1 4 opoccl
 |-  ( ( K e. OP /\ X e. B ) -> ( ._|_ ` X ) e. B )
12 7 11 sylan
 |-  ( ( K e. OL /\ X e. B ) -> ( ._|_ ` X ) e. B )
13 12 3adant3
 |-  ( ( K e. OL /\ X e. B /\ Y e. B ) -> ( ._|_ ` X ) e. B )
14 1 4 opoccl
 |-  ( ( K e. OP /\ Y e. B ) -> ( ._|_ ` Y ) e. B )
15 7 14 sylan
 |-  ( ( K e. OL /\ Y e. B ) -> ( ._|_ ` Y ) e. B )
16 15 3adant2
 |-  ( ( K e. OL /\ X e. B /\ Y e. B ) -> ( ._|_ ` Y ) e. B )
17 1 3 latmcl
 |-  ( ( K e. Lat /\ ( ._|_ ` X ) e. B /\ ( ._|_ ` Y ) e. B ) -> ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) e. B )
18 10 13 16 17 syl3anc
 |-  ( ( K e. OL /\ X e. B /\ Y e. B ) -> ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) e. B )
19 1 4 opococ
 |-  ( ( K e. OP /\ ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) e. B ) -> ( ._|_ ` ( ._|_ ` ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) ) ) = ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) )
20 8 18 19 syl2anc
 |-  ( ( K e. OL /\ X e. B /\ Y e. B ) -> ( ._|_ ` ( ._|_ ` ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) ) ) = ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) )
21 6 20 eqtr3d
 |-  ( ( K e. OL /\ X e. B /\ Y e. B ) -> ( ._|_ ` ( X .\/ Y ) ) = ( ( ._|_ ` X ) ./\ ( ._|_ ` Y ) ) )