Metamath Proof Explorer


Theorem isclatd

Description: The predicate "is a complete lattice" (deduction form). (Contributed by Zhi Wang, 29-Sep-2024)

Ref Expression
Hypotheses isclatd.b ( 𝜑𝐵 = ( Base ‘ 𝐾 ) )
isclatd.u ( 𝜑𝑈 = ( lub ‘ 𝐾 ) )
isclatd.g ( 𝜑𝐺 = ( glb ‘ 𝐾 ) )
isclatd.k ( 𝜑𝐾 ∈ Poset )
isclatd.1 ( ( 𝜑𝑠𝐵 ) → 𝑠 ∈ dom 𝑈 )
isclatd.2 ( ( 𝜑𝑠𝐵 ) → 𝑠 ∈ dom 𝐺 )
Assertion isclatd ( 𝜑𝐾 ∈ CLat )

Proof

Step Hyp Ref Expression
1 isclatd.b ( 𝜑𝐵 = ( Base ‘ 𝐾 ) )
2 isclatd.u ( 𝜑𝑈 = ( lub ‘ 𝐾 ) )
3 isclatd.g ( 𝜑𝐺 = ( glb ‘ 𝐾 ) )
4 isclatd.k ( 𝜑𝐾 ∈ Poset )
5 isclatd.1 ( ( 𝜑𝑠𝐵 ) → 𝑠 ∈ dom 𝑈 )
6 isclatd.2 ( ( 𝜑𝑠𝐵 ) → 𝑠 ∈ dom 𝐺 )
7 eqid ( Base ‘ 𝐾 ) = ( Base ‘ 𝐾 )
8 eqid ( le ‘ 𝐾 ) = ( le ‘ 𝐾 )
9 eqid ( lub ‘ 𝐾 ) = ( lub ‘ 𝐾 )
10 biid ( ( ∀ 𝑦𝑡 𝑦 ( le ‘ 𝐾 ) 𝑥 ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑦 ( le ‘ 𝐾 ) 𝑧𝑥 ( le ‘ 𝐾 ) 𝑧 ) ) ↔ ( ∀ 𝑦𝑡 𝑦 ( le ‘ 𝐾 ) 𝑥 ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑦 ( le ‘ 𝐾 ) 𝑧𝑥 ( le ‘ 𝐾 ) 𝑧 ) ) )
11 7 8 9 10 4 lubdm ( 𝜑 → dom ( lub ‘ 𝐾 ) = { 𝑡 ∈ 𝒫 ( Base ‘ 𝐾 ) ∣ ∃! 𝑥 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑦 ( le ‘ 𝐾 ) 𝑥 ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑦 ( le ‘ 𝐾 ) 𝑧𝑥 ( le ‘ 𝐾 ) 𝑧 ) ) } )
12 ssrab2 { 𝑡 ∈ 𝒫 ( Base ‘ 𝐾 ) ∣ ∃! 𝑥 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑦 ( le ‘ 𝐾 ) 𝑥 ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑦 ( le ‘ 𝐾 ) 𝑧𝑥 ( le ‘ 𝐾 ) 𝑧 ) ) } ⊆ 𝒫 ( Base ‘ 𝐾 )
13 11 12 eqsstrdi ( 𝜑 → dom ( lub ‘ 𝐾 ) ⊆ 𝒫 ( Base ‘ 𝐾 ) )
14 elpwi ( 𝑠 ∈ 𝒫 𝐵𝑠𝐵 )
15 14 5 sylan2 ( ( 𝜑𝑠 ∈ 𝒫 𝐵 ) → 𝑠 ∈ dom 𝑈 )
16 15 ralrimiva ( 𝜑 → ∀ 𝑠 ∈ 𝒫 𝐵 𝑠 ∈ dom 𝑈 )
17 dfss3 ( 𝒫 𝐵 ⊆ dom 𝑈 ↔ ∀ 𝑠 ∈ 𝒫 𝐵 𝑠 ∈ dom 𝑈 )
18 16 17 sylibr ( 𝜑 → 𝒫 𝐵 ⊆ dom 𝑈 )
19 1 pweqd ( 𝜑 → 𝒫 𝐵 = 𝒫 ( Base ‘ 𝐾 ) )
20 2 dmeqd ( 𝜑 → dom 𝑈 = dom ( lub ‘ 𝐾 ) )
21 18 19 20 3sstr3d ( 𝜑 → 𝒫 ( Base ‘ 𝐾 ) ⊆ dom ( lub ‘ 𝐾 ) )
22 13 21 eqssd ( 𝜑 → dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) )
23 eqid ( glb ‘ 𝐾 ) = ( glb ‘ 𝐾 )
24 biid ( ( ∀ 𝑦𝑡 𝑥 ( le ‘ 𝐾 ) 𝑦 ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑧 ( le ‘ 𝐾 ) 𝑦𝑧 ( le ‘ 𝐾 ) 𝑥 ) ) ↔ ( ∀ 𝑦𝑡 𝑥 ( le ‘ 𝐾 ) 𝑦 ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑧 ( le ‘ 𝐾 ) 𝑦𝑧 ( le ‘ 𝐾 ) 𝑥 ) ) )
25 7 8 23 24 4 glbdm ( 𝜑 → dom ( glb ‘ 𝐾 ) = { 𝑡 ∈ 𝒫 ( Base ‘ 𝐾 ) ∣ ∃! 𝑥 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑥 ( le ‘ 𝐾 ) 𝑦 ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑧 ( le ‘ 𝐾 ) 𝑦𝑧 ( le ‘ 𝐾 ) 𝑥 ) ) } )
26 ssrab2 { 𝑡 ∈ 𝒫 ( Base ‘ 𝐾 ) ∣ ∃! 𝑥 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑥 ( le ‘ 𝐾 ) 𝑦 ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐾 ) ( ∀ 𝑦𝑡 𝑧 ( le ‘ 𝐾 ) 𝑦𝑧 ( le ‘ 𝐾 ) 𝑥 ) ) } ⊆ 𝒫 ( Base ‘ 𝐾 )
27 25 26 eqsstrdi ( 𝜑 → dom ( glb ‘ 𝐾 ) ⊆ 𝒫 ( Base ‘ 𝐾 ) )
28 14 6 sylan2 ( ( 𝜑𝑠 ∈ 𝒫 𝐵 ) → 𝑠 ∈ dom 𝐺 )
29 28 ralrimiva ( 𝜑 → ∀ 𝑠 ∈ 𝒫 𝐵 𝑠 ∈ dom 𝐺 )
30 dfss3 ( 𝒫 𝐵 ⊆ dom 𝐺 ↔ ∀ 𝑠 ∈ 𝒫 𝐵 𝑠 ∈ dom 𝐺 )
31 29 30 sylibr ( 𝜑 → 𝒫 𝐵 ⊆ dom 𝐺 )
32 3 dmeqd ( 𝜑 → dom 𝐺 = dom ( glb ‘ 𝐾 ) )
33 31 19 32 3sstr3d ( 𝜑 → 𝒫 ( Base ‘ 𝐾 ) ⊆ dom ( glb ‘ 𝐾 ) )
34 27 33 eqssd ( 𝜑 → dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) )
35 7 9 23 isclat ( 𝐾 ∈ CLat ↔ ( 𝐾 ∈ Poset ∧ ( dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) ) )
36 35 biimpri ( ( 𝐾 ∈ Poset ∧ ( dom ( lub ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ∧ dom ( glb ‘ 𝐾 ) = 𝒫 ( Base ‘ 𝐾 ) ) ) → 𝐾 ∈ CLat )
37 4 22 34 36 syl12anc ( 𝜑𝐾 ∈ CLat )