Metamath Proof Explorer


Theorem isdlat

Description: Property of being a distributive lattice. (Contributed by Stefan O'Rear, 30-Jan-2015)

Ref Expression
Hypotheses isdlat.b ⊢ 𝐵 = ( Base ‘ 𝐾 )
isdlat.j ⊢ ∨ = ( join ‘ 𝐾 )
isdlat.m ⊢ ∧ = ( meet ‘ 𝐾 )
Assertion isdlat ( 𝐾 ∈ DLat ↔ ( 𝐾 ∈ Lat ∧ ∀ 𝑥 ∈ 𝐵 ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) ) )

Proof

Step Hyp Ref Expression
1 isdlat.b ⊢ 𝐵 = ( Base ‘ 𝐾 )
2 isdlat.j ⊢ ∨ = ( join ‘ 𝐾 )
3 isdlat.m ⊢ ∧ = ( meet ‘ 𝐾 )
4 fveq2 ⊢ ( 𝑘 = 𝐾 → ( Base ‘ 𝑘 ) = ( Base ‘ 𝐾 ) )
5 4 1 eqtr4di ⊢ ( 𝑘 = 𝐾 → ( Base ‘ 𝑘 ) = 𝐵 )
6 fveq2 ⊢ ( 𝑘 = 𝐾 → ( join ‘ 𝑘 ) = ( join ‘ 𝐾 ) )
7 6 2 eqtr4di ⊢ ( 𝑘 = 𝐾 → ( join ‘ 𝑘 ) = ∨ )
8 fveq2 ⊢ ( 𝑘 = 𝐾 → ( meet ‘ 𝑘 ) = ( meet ‘ 𝐾 ) )
9 8 3 eqtr4di ⊢ ( 𝑘 = 𝐾 → ( meet ‘ 𝑘 ) = ∧ )
10 9 sbceq1d ⊢ ( 𝑘 = 𝐾 → ( [ ( meet ‘ 𝑘 ) / 𝑚 ] ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ [ ∧ / 𝑚 ] ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ) )
11 7 10 sbceqbid ⊢ ( 𝑘 = 𝐾 → ( [ ( join ‘ 𝑘 ) / 𝑗 ] [ ( meet ‘ 𝑘 ) / 𝑚 ] ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ [ ∨ / 𝑗 ] [ ∧ / 𝑚 ] ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ) )
12 5 11 sbceqbid ⊢ ( 𝑘 = 𝐾 → ( [ ( Base ‘ 𝑘 ) / 𝑏 ] [ ( join ‘ 𝑘 ) / 𝑗 ] [ ( meet ‘ 𝑘 ) / 𝑚 ] ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ [ 𝐵 / 𝑏 ] [ ∨ / 𝑗 ] [ ∧ / 𝑚 ] ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ) )
13 1 fvexi ⊢ 𝐵 ∈ V
14 2 fvexi ⊢ ∨ ∈ V
15 3 fvexi ⊢ ∧ ∈ V
16 raleq ⊢ ( 𝑏 = 𝐵 → ( ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ∀ 𝑧 ∈ 𝐵 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ) )
17 16 raleqbi1dv ⊢ ( 𝑏 = 𝐵 → ( ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ) )
18 17 raleqbi1dv ⊢ ( 𝑏 = 𝐵 → ( ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ∀ 𝑥 ∈ 𝐵 ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ) )
19 simpr ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → 𝑚 = ∧ )
20 eqidd ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → 𝑥 = 𝑥 )
21 simpl ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → 𝑗 = ∨ )
22 21 oveqd ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → ( 𝑦 𝑗 𝑧 ) = ( 𝑦 ∨ 𝑧 ) )
23 19 20 22 oveq123d ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) )
24 19 oveqd ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → ( 𝑥 𝑚 𝑦 ) = ( 𝑥 ∧ 𝑦 ) )
25 19 oveqd ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → ( 𝑥 𝑚 𝑧 ) = ( 𝑥 ∧ 𝑧 ) )
26 21 24 25 oveq123d ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) )
27 23 26 eqeq12d ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → ( ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) ) )
28 27 ralbidv ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → ( ∀ 𝑧 ∈ 𝐵 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ∀ 𝑧 ∈ 𝐵 ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) ) )
29 28 2ralbidv ⊢ ( ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) → ( ∀ 𝑥 ∈ 𝐵 ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ∀ 𝑥 ∈ 𝐵 ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) ) )
30 18 29 sylan9bb ⊢ ( ( 𝑏 = 𝐵 ∧ ( 𝑗 = ∨ ∧ 𝑚 = ∧ ) ) → ( ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ∀ 𝑥 ∈ 𝐵 ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) ) )
31 30 3impb ⊢ ( ( 𝑏 = 𝐵 ∧ 𝑗 = ∨ ∧ 𝑚 = ∧ ) → ( ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ∀ 𝑥 ∈ 𝐵 ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) ) )
32 13 14 15 31 sbc3ie ⊢ ( [ 𝐵 / 𝑏 ] [ ∨ / 𝑗 ] [ ∧ / 𝑚 ] ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ∀ 𝑥 ∈ 𝐵 ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) )
33 12 32 bitrdi ⊢ ( 𝑘 = 𝐾 → ( [ ( Base ‘ 𝑘 ) / 𝑏 ] [ ( join ‘ 𝑘 ) / 𝑗 ] [ ( meet ‘ 𝑘 ) / 𝑚 ] ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) ↔ ∀ 𝑥 ∈ 𝐵 ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) ) )
34 df-dlat ⊢ DLat = { 𝑘 ∈ Lat ∣ [ ( Base ‘ 𝑘 ) / 𝑏 ] [ ( join ‘ 𝑘 ) / 𝑗 ] [ ( meet ‘ 𝑘 ) / 𝑚 ] ∀ 𝑥 ∈ 𝑏 ∀ 𝑦 ∈ 𝑏 ∀ 𝑧 ∈ 𝑏 ( 𝑥 𝑚 ( 𝑦 𝑗 𝑧 ) ) = ( ( 𝑥 𝑚 𝑦 ) 𝑗 ( 𝑥 𝑚 𝑧 ) ) }
35 33 34 elrab2 ⊢ ( 𝐾 ∈ DLat ↔ ( 𝐾 ∈ Lat ∧ ∀ 𝑥 ∈ 𝐵 ∀ 𝑦 ∈ 𝐵 ∀ 𝑧 ∈ 𝐵 ( 𝑥 ∧ ( 𝑦 ∨ 𝑧 ) ) = ( ( 𝑥 ∧ 𝑦 ) ∨ ( 𝑥 ∧ 𝑧 ) ) ) )