Metamath Proof Explorer


Theorem 2atlt

Description: Given an atom less than an element, there is another atom less than the element. (Contributed by NM, 6-May-2012)

Ref Expression
Hypotheses 2atomslt.b 𝐵 = ( Base ‘ 𝐾 )
2atomslt.s < = ( lt ‘ 𝐾 )
2atomslt.a 𝐴 = ( Atoms ‘ 𝐾 )
Assertion 2atlt ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) → ∃ 𝑞𝐴 ( 𝑞𝑃𝑞 < 𝑋 ) )

Proof

Step Hyp Ref Expression
1 2atomslt.b 𝐵 = ( Base ‘ 𝐾 )
2 2atomslt.s < = ( lt ‘ 𝐾 )
3 2atomslt.a 𝐴 = ( Atoms ‘ 𝐾 )
4 1 3 atbase ( 𝑃𝐴𝑃𝐵 )
5 eqid ( le ‘ 𝐾 ) = ( le ‘ 𝐾 )
6 eqid ( join ‘ 𝐾 ) = ( join ‘ 𝐾 )
7 1 5 2 6 3 hlrelat ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐵𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) → ∃ 𝑞𝐴 ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) )
8 4 7 syl3anl2 ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) → ∃ 𝑞𝐴 ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) )
9 simp3l ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) )
10 simp1l1 ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝐾 ∈ HL )
11 simp1l2 ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑃𝐴 )
12 simp2 ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑞𝐴 )
13 eqid ( ⋖ ‘ 𝐾 ) = ( ⋖ ‘ 𝐾 )
14 2 6 3 13 atltcvr ( ( 𝐾 ∈ HL ∧ ( 𝑃𝐴𝑃𝐴𝑞𝐴 ) ) → ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ↔ 𝑃 ( ⋖ ‘ 𝐾 ) ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ) )
15 10 11 11 12 14 syl13anc ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ↔ 𝑃 ( ⋖ ‘ 𝐾 ) ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ) )
16 9 15 mpbid ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑃 ( ⋖ ‘ 𝐾 ) ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) )
17 6 13 3 atcvr1 ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑞𝐴 ) → ( 𝑃𝑞𝑃 ( ⋖ ‘ 𝐾 ) ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ) )
18 10 11 12 17 syl3anc ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → ( 𝑃𝑞𝑃 ( ⋖ ‘ 𝐾 ) ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ) )
19 16 18 mpbird ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑃𝑞 )
20 19 necomd ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑞𝑃 )
21 2 6 3 atlt ( ( 𝐾 ∈ HL ∧ 𝑞𝐴𝑃𝐴 ) → ( 𝑞 < ( 𝑞 ( join ‘ 𝐾 ) 𝑃 ) ↔ 𝑞𝑃 ) )
22 10 12 11 21 syl3anc ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → ( 𝑞 < ( 𝑞 ( join ‘ 𝐾 ) 𝑃 ) ↔ 𝑞𝑃 ) )
23 20 22 mpbird ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑞 < ( 𝑞 ( join ‘ 𝐾 ) 𝑃 ) )
24 10 hllatd ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝐾 ∈ Lat )
25 11 4 syl ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑃𝐵 )
26 1 3 atbase ( 𝑞𝐴𝑞𝐵 )
27 26 3ad2ant2 ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑞𝐵 )
28 1 6 latjcom ( ( 𝐾 ∈ Lat ∧ 𝑃𝐵𝑞𝐵 ) → ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) = ( 𝑞 ( join ‘ 𝐾 ) 𝑃 ) )
29 24 25 27 28 syl3anc ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) = ( 𝑞 ( join ‘ 𝐾 ) 𝑃 ) )
30 23 29 breqtrrd ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑞 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) )
31 simp3r ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 )
32 hlpos ( 𝐾 ∈ HL → 𝐾 ∈ Poset )
33 10 32 syl ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝐾 ∈ Poset )
34 1 6 latjcl ( ( 𝐾 ∈ Lat ∧ 𝑃𝐵𝑞𝐵 ) → ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∈ 𝐵 )
35 24 25 27 34 syl3anc ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∈ 𝐵 )
36 simp1l3 ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑋𝐵 )
37 1 5 2 pltletr ( ( 𝐾 ∈ Poset ∧ ( 𝑞𝐵 ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∈ 𝐵𝑋𝐵 ) ) → ( ( 𝑞 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) → 𝑞 < 𝑋 ) )
38 33 27 35 36 37 syl13anc ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → ( ( 𝑞 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) → 𝑞 < 𝑋 ) )
39 30 31 38 mp2and ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → 𝑞 < 𝑋 )
40 20 39 jca ( ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) ∧ 𝑞𝐴 ∧ ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) ) → ( 𝑞𝑃𝑞 < 𝑋 ) )
41 40 3exp ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) → ( 𝑞𝐴 → ( ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) → ( 𝑞𝑃𝑞 < 𝑋 ) ) ) )
42 41 reximdvai ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) → ( ∃ 𝑞𝐴 ( 𝑃 < ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ∧ ( 𝑃 ( join ‘ 𝐾 ) 𝑞 ) ( le ‘ 𝐾 ) 𝑋 ) → ∃ 𝑞𝐴 ( 𝑞𝑃𝑞 < 𝑋 ) ) )
43 8 42 mpd ( ( ( 𝐾 ∈ HL ∧ 𝑃𝐴𝑋𝐵 ) ∧ 𝑃 < 𝑋 ) → ∃ 𝑞𝐴 ( 𝑞𝑃𝑞 < 𝑋 ) )