Metamath Proof Explorer


Theorem dlatmjdi

Description: In a distributive lattice, meets distribute over joins. (Contributed by Stefan O'Rear, 30-Jan-2015)

Ref Expression
Hypotheses isdlat.b
|- B = ( Base ` K )
isdlat.j
|- .\/ = ( join ` K )
isdlat.m
|- ./\ = ( meet ` K )
Assertion dlatmjdi
|- ( ( K e. DLat /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( X ./\ ( Y .\/ Z ) ) = ( ( X ./\ Y ) .\/ ( X ./\ Z ) ) )

Proof

Step Hyp Ref Expression
1 isdlat.b
 |-  B = ( Base ` K )
2 isdlat.j
 |-  .\/ = ( join ` K )
3 isdlat.m
 |-  ./\ = ( meet ` K )
4 1 2 3 isdlat
 |-  ( K e. DLat <-> ( K e. Lat /\ A. x e. B A. y e. B A. z e. B ( x ./\ ( y .\/ z ) ) = ( ( x ./\ y ) .\/ ( x ./\ z ) ) ) )
5 4 simprbi
 |-  ( K e. DLat -> A. x e. B A. y e. B A. z e. B ( x ./\ ( y .\/ z ) ) = ( ( x ./\ y ) .\/ ( x ./\ z ) ) )
6 oveq1
 |-  ( x = X -> ( x ./\ ( y .\/ z ) ) = ( X ./\ ( y .\/ z ) ) )
7 oveq1
 |-  ( x = X -> ( x ./\ y ) = ( X ./\ y ) )
8 oveq1
 |-  ( x = X -> ( x ./\ z ) = ( X ./\ z ) )
9 7 8 oveq12d
 |-  ( x = X -> ( ( x ./\ y ) .\/ ( x ./\ z ) ) = ( ( X ./\ y ) .\/ ( X ./\ z ) ) )
10 6 9 eqeq12d
 |-  ( x = X -> ( ( x ./\ ( y .\/ z ) ) = ( ( x ./\ y ) .\/ ( x ./\ z ) ) <-> ( X ./\ ( y .\/ z ) ) = ( ( X ./\ y ) .\/ ( X ./\ z ) ) ) )
11 oveq1
 |-  ( y = Y -> ( y .\/ z ) = ( Y .\/ z ) )
12 11 oveq2d
 |-  ( y = Y -> ( X ./\ ( y .\/ z ) ) = ( X ./\ ( Y .\/ z ) ) )
13 oveq2
 |-  ( y = Y -> ( X ./\ y ) = ( X ./\ Y ) )
14 13 oveq1d
 |-  ( y = Y -> ( ( X ./\ y ) .\/ ( X ./\ z ) ) = ( ( X ./\ Y ) .\/ ( X ./\ z ) ) )
15 12 14 eqeq12d
 |-  ( y = Y -> ( ( X ./\ ( y .\/ z ) ) = ( ( X ./\ y ) .\/ ( X ./\ z ) ) <-> ( X ./\ ( Y .\/ z ) ) = ( ( X ./\ Y ) .\/ ( X ./\ z ) ) ) )
16 oveq2
 |-  ( z = Z -> ( Y .\/ z ) = ( Y .\/ Z ) )
17 16 oveq2d
 |-  ( z = Z -> ( X ./\ ( Y .\/ z ) ) = ( X ./\ ( Y .\/ Z ) ) )
18 oveq2
 |-  ( z = Z -> ( X ./\ z ) = ( X ./\ Z ) )
19 18 oveq2d
 |-  ( z = Z -> ( ( X ./\ Y ) .\/ ( X ./\ z ) ) = ( ( X ./\ Y ) .\/ ( X ./\ Z ) ) )
20 17 19 eqeq12d
 |-  ( z = Z -> ( ( X ./\ ( Y .\/ z ) ) = ( ( X ./\ Y ) .\/ ( X ./\ z ) ) <-> ( X ./\ ( Y .\/ Z ) ) = ( ( X ./\ Y ) .\/ ( X ./\ Z ) ) ) )
21 10 15 20 rspc3v
 |-  ( ( X e. B /\ Y e. B /\ Z e. B ) -> ( A. x e. B A. y e. B A. z e. B ( x ./\ ( y .\/ z ) ) = ( ( x ./\ y ) .\/ ( x ./\ z ) ) -> ( X ./\ ( Y .\/ Z ) ) = ( ( X ./\ Y ) .\/ ( X ./\ Z ) ) ) )
22 5 21 mpan9
 |-  ( ( K e. DLat /\ ( X e. B /\ Y e. B /\ Z e. B ) ) -> ( X ./\ ( Y .\/ Z ) ) = ( ( X ./\ Y ) .\/ ( X ./\ Z ) ) )