Metamath Proof Explorer


Theorem islat

Description: The predicate "is a lattice". (Contributed by NM, 18-Oct-2012) (Revised by NM, 12-Sep-2018)

Ref Expression
Hypotheses islat.b ⊢ 𝐵 = ( Base ‘ 𝐾 )
islat.j ⊢ ∨ = ( join ‘ 𝐾 )
islat.m ⊢ ∧ = ( meet ‘ 𝐾 )
Assertion islat ( 𝐾 ∈ Lat ↔ ( 𝐾 ∈ Poset ∧ ( dom ∨ = ( 𝐵 × 𝐵 ) ∧ dom ∧ = ( 𝐵 × 𝐵 ) ) ) )

Proof

Step Hyp Ref Expression
1 islat.b ⊢ 𝐵 = ( Base ‘ 𝐾 )
2 islat.j ⊢ ∨ = ( join ‘ 𝐾 )
3 islat.m ⊢ ∧ = ( meet ‘ 𝐾 )
4 fveq2 ⊢ ( 𝑙 = 𝐾 → ( join ‘ 𝑙 ) = ( join ‘ 𝐾 ) )
5 4 2 eqtr4di ⊢ ( 𝑙 = 𝐾 → ( join ‘ 𝑙 ) = ∨ )
6 5 dmeqd ⊢ ( 𝑙 = 𝐾 → dom ( join ‘ 𝑙 ) = dom ∨ )
7 fveq2 ⊢ ( 𝑙 = 𝐾 → ( Base ‘ 𝑙 ) = ( Base ‘ 𝐾 ) )
8 7 1 eqtr4di ⊢ ( 𝑙 = 𝐾 → ( Base ‘ 𝑙 ) = 𝐵 )
9 8 sqxpeqd ⊢ ( 𝑙 = 𝐾 → ( ( Base ‘ 𝑙 ) × ( Base ‘ 𝑙 ) ) = ( 𝐵 × 𝐵 ) )
10 6 9 eqeq12d ⊢ ( 𝑙 = 𝐾 → ( dom ( join ‘ 𝑙 ) = ( ( Base ‘ 𝑙 ) × ( Base ‘ 𝑙 ) ) ↔ dom ∨ = ( 𝐵 × 𝐵 ) ) )
11 fveq2 ⊢ ( 𝑙 = 𝐾 → ( meet ‘ 𝑙 ) = ( meet ‘ 𝐾 ) )
12 11 3 eqtr4di ⊢ ( 𝑙 = 𝐾 → ( meet ‘ 𝑙 ) = ∧ )
13 12 dmeqd ⊢ ( 𝑙 = 𝐾 → dom ( meet ‘ 𝑙 ) = dom ∧ )
14 13 9 eqeq12d ⊢ ( 𝑙 = 𝐾 → ( dom ( meet ‘ 𝑙 ) = ( ( Base ‘ 𝑙 ) × ( Base ‘ 𝑙 ) ) ↔ dom ∧ = ( 𝐵 × 𝐵 ) ) )
15 10 14 anbi12d ⊢ ( 𝑙 = 𝐾 → ( ( dom ( join ‘ 𝑙 ) = ( ( Base ‘ 𝑙 ) × ( Base ‘ 𝑙 ) ) ∧ dom ( meet ‘ 𝑙 ) = ( ( Base ‘ 𝑙 ) × ( Base ‘ 𝑙 ) ) ) ↔ ( dom ∨ = ( 𝐵 × 𝐵 ) ∧ dom ∧ = ( 𝐵 × 𝐵 ) ) ) )
16 df-lat ⊢ Lat = { 𝑙 ∈ Poset ∣ ( dom ( join ‘ 𝑙 ) = ( ( Base ‘ 𝑙 ) × ( Base ‘ 𝑙 ) ) ∧ dom ( meet ‘ 𝑙 ) = ( ( Base ‘ 𝑙 ) × ( Base ‘ 𝑙 ) ) ) }
17 15 16 elrab2 ⊢ ( 𝐾 ∈ Lat ↔ ( 𝐾 ∈ Poset ∧ ( dom ∨ = ( 𝐵 × 𝐵 ) ∧ dom ∧ = ( 𝐵 × 𝐵 ) ) ) )