Metamath Proof Explorer


Theorem clatl

Description: A complete lattice is a lattice. (Contributed by NM, 18-Sep-2011) TODO: use eqrelrdv2 to shorten proof and eliminate joindmss and meetdmss ?

Ref Expression
Assertion clatl ( 𝐾 ∈ CLat → 𝐾 ∈ Lat )

Proof

Step Hyp Ref Expression
1 eqid ⊢ ( Base ‘ 𝐾 ) = ( Base ‘ 𝐾 )
2 eqid ⊢ ( join ‘ 𝐾 ) = ( join ‘ 𝐾 )
3 simpl ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → 𝐾 ∈ Poset )
4 1 2 3 joindmss ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → dom ( join ‘ 𝐾 ) ⊆ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) )
5 relxp ⊢ Rel ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) )
6 5 a1i ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → Rel ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) )
7 opelxp ⊢ ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ↔ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) )
8 vex ⊢ 𝑥 ∈ V
9 vex ⊢ 𝑦 ∈ V
10 8 9 prss ⊢ ( ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ↔ { 𝑥 , 𝑦 } ⊆ ( Base ‘ 𝐾 ) )
11 7 10 sylbb ⊢ ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) → { 𝑥 , 𝑦 } ⊆ ( Base ‘ 𝐾 ) )
12 prex ⊢ { 𝑥 , 𝑦 } ∈ V
13 12 elpw ⊢ ( { 𝑥 , 𝑦 } ∈ 𝒫 ( Base ‘ 𝐾 ) ↔ { 𝑥 , 𝑦 } ⊆ ( Base ‘ 𝐾 ) )
14 11 13 sylibr ⊢ ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) → { 𝑥 , 𝑦 } ∈ 𝒫 ( Base ‘ 𝐾 ) )
15 eleq2 ⊢ ( dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) → ( { 𝑥 , 𝑦 } ∈ dom ( lub ‘ 𝐾 ) ↔ { 𝑥 , 𝑦 } ∈ 𝒫 ( Base ‘ 𝐾 ) ) )
16 14 15 imbitrrid ⊢ ( dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) → ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) → { 𝑥 , 𝑦 } ∈ dom ( lub ‘ 𝐾 ) ) )
17 16 adantl ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) → { 𝑥 , 𝑦 } ∈ dom ( lub ‘ 𝐾 ) ) )
18 eqid ⊢ ( lub ‘ 𝐾 ) = ( lub ‘ 𝐾 )
19 8 a1i ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → 𝑥 ∈ V )
20 9 a1i ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → 𝑦 ∈ V )
21 18 2 3 19 20 joindef ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → ( ⟨ 𝑥 , 𝑦 ⟩ ∈ dom ( join ‘ 𝐾 ) ↔ { 𝑥 , 𝑦 } ∈ dom ( lub ‘ 𝐾 ) ) )
22 17 21 sylibrd ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) → ⟨ 𝑥 , 𝑦 ⟩ ∈ dom ( join ‘ 𝐾 ) ) )
23 6 22 relssdv ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ⊆ dom ( join ‘ 𝐾 ) )
24 4 23 eqssd ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → dom ( join ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) )
25 24 ex ⊢ ( 𝐾 ∈ Poset → ( dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) → dom ( join ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ) )
26 eqid ⊢ ( meet ‘ 𝐾 ) = ( meet ‘ 𝐾 )
27 simpl ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → 𝐾 ∈ Poset )
28 1 26 27 meetdmss ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → dom ( meet ‘ 𝐾 ) ⊆ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) )
29 5 a1i ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → Rel ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) )
30 eleq2 ⊢ ( dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) → ( { 𝑥 , 𝑦 } ∈ dom ( glb ‘ 𝐾 ) ↔ { 𝑥 , 𝑦 } ∈ 𝒫 ( Base ‘ 𝐾 ) ) )
31 14 30 imbitrrid ⊢ ( dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) → ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) → { 𝑥 , 𝑦 } ∈ dom ( glb ‘ 𝐾 ) ) )
32 31 adantl ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) → { 𝑥 , 𝑦 } ∈ dom ( glb ‘ 𝐾 ) ) )
33 eqid ⊢ ( glb ‘ 𝐾 ) = ( glb ‘ 𝐾 )
34 8 a1i ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → 𝑥 ∈ V )
35 9 a1i ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → 𝑦 ∈ V )
36 33 26 27 34 35 meetdef ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → ( ⟨ 𝑥 , 𝑦 ⟩ ∈ dom ( meet ‘ 𝐾 ) ↔ { 𝑥 , 𝑦 } ∈ dom ( glb ‘ 𝐾 ) ) )
37 32 36 sylibrd ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → ( ⟨ 𝑥 , 𝑦 ⟩ ∈ ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) → ⟨ 𝑥 , 𝑦 ⟩ ∈ dom ( meet ‘ 𝐾 ) ) )
38 29 37 relssdv ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ⊆ dom ( meet ‘ 𝐾 ) )
39 28 38 eqssd ⊢ ( ( 𝐾 ∈ Poset ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → dom ( meet ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) )
40 39 ex ⊢ ( 𝐾 ∈ Poset → ( dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) → dom ( meet ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ) )
41 25 40 anim12d ⊢ ( 𝐾 ∈ Poset → ( ( dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) → ( dom ( join ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ∧ dom ( meet ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ) ) )
42 41 imdistani ⊢ ( ( 𝐾 ∈ Poset ∧ ( dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) ) → ( 𝐾 ∈ Poset ∧ ( dom ( join ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ∧ dom ( meet ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ) ) )
43 1 18 33 isclat ⊢ ( 𝐾 ∈ CLat ↔ ( 𝐾 ∈ Poset ∧ ( dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) ) )
44 1 2 26 islat ⊢ ( 𝐾 ∈ Lat ↔ ( 𝐾 ∈ Poset ∧ ( dom ( join ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ∧ dom ( meet ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ) ) )
45 42 43 44 3imtr4i ⊢ ( 𝐾 ∈ CLat → 𝐾 ∈ Lat )