Metamath Proof Explorer


Theorem iscvlat

Description: The predicate "is an atomic lattice with the covering (or exchange) property". (Contributed by NM, 5-Nov-2012)

Ref Expression
Hypotheses iscvlat.b ⊢ 𝐵 = ( Base ‘ 𝐾 )
iscvlat.l ⊢ ≤ = ( le ‘ 𝐾 )
iscvlat.j ⊢ ∨ = ( join ‘ 𝐾 )
iscvlat.a ⊢ 𝐴 = ( Atoms ‘ 𝐾 )
Assertion iscvlat ( 𝐾 ∈ CvLat ↔ ( 𝐾 ∈ AtLat ∧ ∀ 𝑝 ∈ 𝐴 ∀ 𝑞 ∈ 𝐴 ∀ 𝑥 ∈ 𝐵 ( ( ¬ 𝑝 ≤ 𝑥 ∧ 𝑝 ≤ ( 𝑥 ∨ 𝑞 ) ) → 𝑞 ≤ ( 𝑥 ∨ 𝑝 ) ) ) )

Proof

Step Hyp Ref Expression
1 iscvlat.b ⊢ 𝐵 = ( Base ‘ 𝐾 )
2 iscvlat.l ⊢ ≤ = ( le ‘ 𝐾 )
3 iscvlat.j ⊢ ∨ = ( join ‘ 𝐾 )
4 iscvlat.a ⊢ 𝐴 = ( Atoms ‘ 𝐾 )
5 fveq2 ⊢ ( 𝑘 = 𝐾 → ( Atoms ‘ 𝑘 ) = ( Atoms ‘ 𝐾 ) )
6 5 4 eqtr4di ⊢ ( 𝑘 = 𝐾 → ( Atoms ‘ 𝑘 ) = 𝐴 )
7 fveq2 ⊢ ( 𝑘 = 𝐾 → ( Base ‘ 𝑘 ) = ( Base ‘ 𝐾 ) )
8 7 1 eqtr4di ⊢ ( 𝑘 = 𝐾 → ( Base ‘ 𝑘 ) = 𝐵 )
9 fveq2 ⊢ ( 𝑘 = 𝐾 → ( le ‘ 𝑘 ) = ( le ‘ 𝐾 ) )
10 9 2 eqtr4di ⊢ ( 𝑘 = 𝐾 → ( le ‘ 𝑘 ) = ≤ )
11 10 breqd ⊢ ( 𝑘 = 𝐾 → ( 𝑝 ( le ‘ 𝑘 ) 𝑥 ↔ 𝑝 ≤ 𝑥 ) )
12 11 notbid ⊢ ( 𝑘 = 𝐾 → ( ¬ 𝑝 ( le ‘ 𝑘 ) 𝑥 ↔ ¬ 𝑝 ≤ 𝑥 ) )
13 eqidd ⊢ ( 𝑘 = 𝐾 → 𝑝 = 𝑝 )
14 fveq2 ⊢ ( 𝑘 = 𝐾 → ( join ‘ 𝑘 ) = ( join ‘ 𝐾 ) )
15 14 3 eqtr4di ⊢ ( 𝑘 = 𝐾 → ( join ‘ 𝑘 ) = ∨ )
16 15 oveqd ⊢ ( 𝑘 = 𝐾 → ( 𝑥 ( join ‘ 𝑘 ) 𝑞 ) = ( 𝑥 ∨ 𝑞 ) )
17 13 10 16 breq123d ⊢ ( 𝑘 = 𝐾 → ( 𝑝 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑞 ) ↔ 𝑝 ≤ ( 𝑥 ∨ 𝑞 ) ) )
18 12 17 anbi12d ⊢ ( 𝑘 = 𝐾 → ( ( ¬ 𝑝 ( le ‘ 𝑘 ) 𝑥 ∧ 𝑝 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑞 ) ) ↔ ( ¬ 𝑝 ≤ 𝑥 ∧ 𝑝 ≤ ( 𝑥 ∨ 𝑞 ) ) ) )
19 eqidd ⊢ ( 𝑘 = 𝐾 → 𝑞 = 𝑞 )
20 15 oveqd ⊢ ( 𝑘 = 𝐾 → ( 𝑥 ( join ‘ 𝑘 ) 𝑝 ) = ( 𝑥 ∨ 𝑝 ) )
21 19 10 20 breq123d ⊢ ( 𝑘 = 𝐾 → ( 𝑞 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑝 ) ↔ 𝑞 ≤ ( 𝑥 ∨ 𝑝 ) ) )
22 18 21 imbi12d ⊢ ( 𝑘 = 𝐾 → ( ( ( ¬ 𝑝 ( le ‘ 𝑘 ) 𝑥 ∧ 𝑝 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑞 ) ) → 𝑞 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑝 ) ) ↔ ( ( ¬ 𝑝 ≤ 𝑥 ∧ 𝑝 ≤ ( 𝑥 ∨ 𝑞 ) ) → 𝑞 ≤ ( 𝑥 ∨ 𝑝 ) ) ) )
23 8 22 raleqbidv ⊢ ( 𝑘 = 𝐾 → ( ∀ 𝑥 ∈ ( Base ‘ 𝑘 ) ( ( ¬ 𝑝 ( le ‘ 𝑘 ) 𝑥 ∧ 𝑝 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑞 ) ) → 𝑞 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑝 ) ) ↔ ∀ 𝑥 ∈ 𝐵 ( ( ¬ 𝑝 ≤ 𝑥 ∧ 𝑝 ≤ ( 𝑥 ∨ 𝑞 ) ) → 𝑞 ≤ ( 𝑥 ∨ 𝑝 ) ) ) )
24 6 23 raleqbidv ⊢ ( 𝑘 = 𝐾 → ( ∀ 𝑞 ∈ ( Atoms ‘ 𝑘 ) ∀ 𝑥 ∈ ( Base ‘ 𝑘 ) ( ( ¬ 𝑝 ( le ‘ 𝑘 ) 𝑥 ∧ 𝑝 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑞 ) ) → 𝑞 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑝 ) ) ↔ ∀ 𝑞 ∈ 𝐴 ∀ 𝑥 ∈ 𝐵 ( ( ¬ 𝑝 ≤ 𝑥 ∧ 𝑝 ≤ ( 𝑥 ∨ 𝑞 ) ) → 𝑞 ≤ ( 𝑥 ∨ 𝑝 ) ) ) )
25 6 24 raleqbidv ⊢ ( 𝑘 = 𝐾 → ( ∀ 𝑝 ∈ ( Atoms ‘ 𝑘 ) ∀ 𝑞 ∈ ( Atoms ‘ 𝑘 ) ∀ 𝑥 ∈ ( Base ‘ 𝑘 ) ( ( ¬ 𝑝 ( le ‘ 𝑘 ) 𝑥 ∧ 𝑝 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑞 ) ) → 𝑞 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑝 ) ) ↔ ∀ 𝑝 ∈ 𝐴 ∀ 𝑞 ∈ 𝐴 ∀ 𝑥 ∈ 𝐵 ( ( ¬ 𝑝 ≤ 𝑥 ∧ 𝑝 ≤ ( 𝑥 ∨ 𝑞 ) ) → 𝑞 ≤ ( 𝑥 ∨ 𝑝 ) ) ) )
26 df-cvlat ⊢ CvLat = { 𝑘 ∈ AtLat ∣ ∀ 𝑝 ∈ ( Atoms ‘ 𝑘 ) ∀ 𝑞 ∈ ( Atoms ‘ 𝑘 ) ∀ 𝑥 ∈ ( Base ‘ 𝑘 ) ( ( ¬ 𝑝 ( le ‘ 𝑘 ) 𝑥 ∧ 𝑝 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑞 ) ) → 𝑞 ( le ‘ 𝑘 ) ( 𝑥 ( join ‘ 𝑘 ) 𝑝 ) ) }
27 25 26 elrab2 ⊢ ( 𝐾 ∈ CvLat ↔ ( 𝐾 ∈ AtLat ∧ ∀ 𝑝 ∈ 𝐴 ∀ 𝑞 ∈ 𝐴 ∀ 𝑥 ∈ 𝐵 ( ( ¬ 𝑝 ≤ 𝑥 ∧ 𝑝 ≤ ( 𝑥 ∨ 𝑞 ) ) → 𝑞 ≤ ( 𝑥 ∨ 𝑝 ) ) ) )