Metamath Proof Explorer


Theorem toslat

Description: A toset is a lattice. (Contributed by Zhi Wang, 26-Sep-2024)

Ref Expression
Assertion toslat ( 𝐾 ∈ Toset → 𝐾 ∈ Lat )

Proof

Step Hyp Ref Expression
1 tospos ( 𝐾 ∈ Toset → 𝐾 ∈ Poset )
2 1 ad2antrr ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑥 ( le ‘ 𝐾 ) 𝑦 ) → 𝐾 ∈ Poset )
3 eqid ( Base ‘ 𝐾 ) = ( Base ‘ 𝐾 )
4 simplrl ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑥 ( le ‘ 𝐾 ) 𝑦 ) → 𝑥 ∈ ( Base ‘ 𝐾 ) )
5 simplrr ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑥 ( le ‘ 𝐾 ) 𝑦 ) → 𝑦 ∈ ( Base ‘ 𝐾 ) )
6 eqid ( le ‘ 𝐾 ) = ( le ‘ 𝐾 )
7 simpr ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑥 ( le ‘ 𝐾 ) 𝑦 ) → 𝑥 ( le ‘ 𝐾 ) 𝑦 )
8 eqidd ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑥 ( le ‘ 𝐾 ) 𝑦 ) → { 𝑥 , 𝑦 } = { 𝑥 , 𝑦 } )
9 eqid ( lub ‘ 𝐾 ) = ( lub ‘ 𝐾 )
10 2 3 4 5 6 7 8 9 lubprdm ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑥 ( le ‘ 𝐾 ) 𝑦 ) → { 𝑥 , 𝑦 } ∈ dom ( lub ‘ 𝐾 ) )
11 1 ad2antrr ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑦 ( le ‘ 𝐾 ) 𝑥 ) → 𝐾 ∈ Poset )
12 simplrr ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑦 ( le ‘ 𝐾 ) 𝑥 ) → 𝑦 ∈ ( Base ‘ 𝐾 ) )
13 simplrl ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑦 ( le ‘ 𝐾 ) 𝑥 ) → 𝑥 ∈ ( Base ‘ 𝐾 ) )
14 simpr ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑦 ( le ‘ 𝐾 ) 𝑥 ) → 𝑦 ( le ‘ 𝐾 ) 𝑥 )
15 prcom { 𝑥 , 𝑦 } = { 𝑦 , 𝑥 }
16 15 a1i ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑦 ( le ‘ 𝐾 ) 𝑥 ) → { 𝑥 , 𝑦 } = { 𝑦 , 𝑥 } )
17 11 3 12 13 6 14 16 9 lubprdm ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑦 ( le ‘ 𝐾 ) 𝑥 ) → { 𝑥 , 𝑦 } ∈ dom ( lub ‘ 𝐾 ) )
18 3 6 tleile ( ( 𝐾 ∈ Toset ∧ 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) → ( 𝑥 ( le ‘ 𝐾 ) 𝑦𝑦 ( le ‘ 𝐾 ) 𝑥 ) )
19 18 3expb ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) → ( 𝑥 ( le ‘ 𝐾 ) 𝑦𝑦 ( le ‘ 𝐾 ) 𝑥 ) )
20 10 17 19 mpjaodan ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) → { 𝑥 , 𝑦 } ∈ dom ( lub ‘ 𝐾 ) )
21 20 ralrimivva ( 𝐾 ∈ Toset → ∀ 𝑥 ∈ ( Base ‘ 𝐾 ) ∀ 𝑦 ∈ ( Base ‘ 𝐾 ) { 𝑥 , 𝑦 } ∈ dom ( lub ‘ 𝐾 ) )
22 eqid ( join ‘ 𝐾 ) = ( join ‘ 𝐾 )
23 3 1 9 22 joindm2 ( 𝐾 ∈ Toset → ( dom ( join ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ↔ ∀ 𝑥 ∈ ( Base ‘ 𝐾 ) ∀ 𝑦 ∈ ( Base ‘ 𝐾 ) { 𝑥 , 𝑦 } ∈ dom ( lub ‘ 𝐾 ) ) )
24 21 23 mpbird ( 𝐾 ∈ Toset → dom ( join ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) )
25 eqid ( glb ‘ 𝐾 ) = ( glb ‘ 𝐾 )
26 2 3 4 5 6 7 8 25 glbprdm ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑥 ( le ‘ 𝐾 ) 𝑦 ) → { 𝑥 , 𝑦 } ∈ dom ( glb ‘ 𝐾 ) )
27 11 3 12 13 6 14 16 25 glbprdm ( ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) ∧ 𝑦 ( le ‘ 𝐾 ) 𝑥 ) → { 𝑥 , 𝑦 } ∈ dom ( glb ‘ 𝐾 ) )
28 26 27 19 mpjaodan ( ( 𝐾 ∈ Toset ∧ ( 𝑥 ∈ ( Base ‘ 𝐾 ) ∧ 𝑦 ∈ ( Base ‘ 𝐾 ) ) ) → { 𝑥 , 𝑦 } ∈ dom ( glb ‘ 𝐾 ) )
29 28 ralrimivva ( 𝐾 ∈ Toset → ∀ 𝑥 ∈ ( Base ‘ 𝐾 ) ∀ 𝑦 ∈ ( Base ‘ 𝐾 ) { 𝑥 , 𝑦 } ∈ dom ( glb ‘ 𝐾 ) )
30 eqid ( meet ‘ 𝐾 ) = ( meet ‘ 𝐾 )
31 3 1 25 30 meetdm2 ( 𝐾 ∈ Toset → ( dom ( meet ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ↔ ∀ 𝑥 ∈ ( Base ‘ 𝐾 ) ∀ 𝑦 ∈ ( Base ‘ 𝐾 ) { 𝑥 , 𝑦 } ∈ dom ( glb ‘ 𝐾 ) ) )
32 29 31 mpbird ( 𝐾 ∈ Toset → dom ( meet ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) )
33 24 32 jca ( 𝐾 ∈ Toset → ( dom ( join ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ∧ dom ( meet ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ) )
34 3 22 30 islat ( 𝐾 ∈ Lat ↔ ( 𝐾 ∈ Poset ∧ ( dom ( join ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ∧ dom ( meet ‘ 𝐾 ) = ( ( Base ‘ 𝐾 ) × ( Base ‘ 𝐾 ) ) ) ) )
35 1 33 34 sylanbrc ( 𝐾 ∈ Toset → 𝐾 ∈ Lat )