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 ∧ ∀ 𝑝𝐴𝑞𝐴𝑥𝐵 ( ( ¬ 𝑝 𝑥𝑝 ( 𝑥 𝑞 ) ) → 𝑞 ( 𝑥 𝑝 ) ) ) )