Users' Mathboxes Mathbox for Norm Megill < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  hlrelat2 Structured version   Visualization version   GIF version

Theorem hlrelat2 40554
Description: A consequence of relative atomicity. (chrelat2i 32973 analog.) (Contributed by NM, 5-Feb-2012.)
Hypotheses
Ref Expression
hlrelat2.b 𝐵 = (Base‘𝐾)
hlrelat2.l ≤ = (le‘𝐾)
hlrelat2.a 𝐴 = (Atoms‘𝐾)
Assertion
Ref Expression
hlrelat2 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 ↔ ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
Distinct variable groups:   𝐴,𝑝   𝐵,𝑝   𝐾,𝑝   ≤ ,𝑝   𝑋,𝑝   𝑌,𝑝

Proof of Theorem hlrelat2
StepHypRef Expression
1 hllat 40514 . . . 4 (𝐾 ∈ HL → 𝐾 ∈ Lat)
2 hlrelat2.b . . . . 5 𝐵 = (Base‘𝐾)
3 hlrelat2.l . . . . 5 ≤ = (le‘𝐾)
4 eqid 2760 . . . . 5 (lt‘𝐾) = (lt‘𝐾)
5 eqid 2760 . . . . 5 (meet‘𝐾) = (meet‘𝐾)
62, 3, 4, 5latnlemlt 18652 . . . 4 ((𝐾 ∈ Lat ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋))
71, 6syl3an1 1181 . . 3 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋))
8 simp1 1154 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → 𝐾 ∈ HL)
92, 5latmcl 18620 . . . . . 6 ((𝐾 ∈ Lat ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋(meet‘𝐾)𝑌) ∈ 𝐵)
101, 9syl3an1 1181 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋(meet‘𝐾)𝑌) ∈ 𝐵)
11 simp2 1155 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → 𝑋 ∈ 𝐵)
12 eqid 2760 . . . . . . 7 (join‘𝐾) = (join‘𝐾)
13 hlrelat2.a . . . . . . 7 𝐴 = (Atoms‘𝐾)
142, 3, 4, 12, 13hlrelat 40553 . . . . . 6 (((𝐾 ∈ HL ∧ (𝑋(meet‘𝐾)𝑌) ∈ 𝐵 ∧ 𝑋 ∈ 𝐵) ∧ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋) → ∃𝑝 ∈ 𝐴 ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋))
1514ex 418 . . . . 5 ((𝐾 ∈ HL ∧ (𝑋(meet‘𝐾)𝑌) ∈ 𝐵 ∧ 𝑋 ∈ 𝐵) → ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋 → ∃𝑝 ∈ 𝐴 ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋)))
168, 10, 11, 15syl3anc 1398 . . . 4 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋 → ∃𝑝 ∈ 𝐴 ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋)))
17 simpl1 1210 . . . . . . . . . 10 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝐾 ∈ HL)
1817hllatd 40515 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝐾 ∈ Lat)
1910adantr 486 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (𝑋(meet‘𝐾)𝑌) ∈ 𝐵)
202, 13atbase 40440 . . . . . . . . . 10 (𝑝 ∈ 𝐴 → 𝑝 ∈ 𝐵)
2120adantl 487 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝑝 ∈ 𝐵)
22 simpl2 1211 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝑋 ∈ 𝐵)
232, 3, 12latjle12 18630 . . . . . . . . 9 ((𝐾 ∈ Lat ∧ ((𝑋(meet‘𝐾)𝑌) ∈ 𝐵 ∧ 𝑝 ∈ 𝐵 ∧ 𝑋 ∈ 𝐵)) → (((𝑋(meet‘𝐾)𝑌) ≤ 𝑋 ∧ 𝑝 ≤ 𝑋) ↔ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋))
2418, 19, 21, 22, 23syl13anc 1399 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (((𝑋(meet‘𝐾)𝑌) ≤ 𝑋 ∧ 𝑝 ≤ 𝑋) ↔ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋))
25 simpr 490 . . . . . . . 8 (((𝑋(meet‘𝐾)𝑌) ≤ 𝑋 ∧ 𝑝 ≤ 𝑋) → 𝑝 ≤ 𝑋)
2624, 25biimtrrdi 257 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋 → 𝑝 ≤ 𝑋))
2726adantld 496 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋) → 𝑝 ≤ 𝑋))
28 simpl3 1212 . . . . . . . . . . 11 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝑌 ∈ 𝐵)
292, 3, 5latlem12 18646 . . . . . . . . . . 11 ((𝐾 ∈ Lat ∧ (𝑝 ∈ 𝐵 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵)) → ((𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌)))
3018, 21, 22, 28, 29syl13anc 1399 . . . . . . . . . 10 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → ((𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌)))
3130notbid 321 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ ¬ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌)))
322, 3, 4, 12latnle 18653 . . . . . . . . . 10 ((𝐾 ∈ Lat ∧ (𝑋(meet‘𝐾)𝑌) ∈ 𝐵 ∧ 𝑝 ∈ 𝐵) → (¬ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌) ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝)))
3318, 19, 21, 32syl3anc 1398 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (¬ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌) ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝)))
3431, 33bitrd 282 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝)))
3534, 24anbi12d 644 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → ((¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ∧ ((𝑋(meet‘𝐾)𝑌) ≤ 𝑋 ∧ 𝑝 ≤ 𝑋)) ↔ ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋)))
36 pm3.21 477 . . . . . . . . . 10 (𝑝 ≤ 𝑌 → (𝑝 ≤ 𝑋 → (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌)))
37 orcom 884 . . . . . . . . . . 11 (((𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ∨ ¬ 𝑝 ≤ 𝑋) ↔ (¬ 𝑝 ≤ 𝑋 ∨ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌)))
38 pm4.55 1003 . . . . . . . . . . 11 (¬ (¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ∧ 𝑝 ≤ 𝑋) ↔ ((𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ∨ ¬ 𝑝 ≤ 𝑋))
39 imor 867 . . . . . . . . . . 11 ((𝑝 ≤ 𝑋 → (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌)) ↔ (¬ 𝑝 ≤ 𝑋 ∨ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌)))
4037, 38, 393bitr4ri 307 . . . . . . . . . 10 ((𝑝 ≤ 𝑋 → (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌)) ↔ ¬ (¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ∧ 𝑝 ≤ 𝑋))
4136, 40sylib 221 . . . . . . . . 9 (𝑝 ≤ 𝑌 → ¬ (¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ∧ 𝑝 ≤ 𝑋))
4241con2i 140 . . . . . . . 8 ((¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ∧ 𝑝 ≤ 𝑋) → ¬ 𝑝 ≤ 𝑌)
4342adantrl 729 . . . . . . 7 ((¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ∧ ((𝑋(meet‘𝐾)𝑌) ≤ 𝑋 ∧ 𝑝 ≤ 𝑋)) → ¬ 𝑝 ≤ 𝑌)
4435, 43biimtrrdi 257 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋) → ¬ 𝑝 ≤ 𝑌))
4527, 44jcad 522 . . . . 5 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋) → (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
4645reximdva 3175 . . . 4 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (∃𝑝 ∈ 𝐴 ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋) → ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
4716, 46syld 48 . . 3 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋 → ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
487, 47sylbid 243 . 2 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 → ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
492, 3lattr 18624 . . . . . . . . 9 ((𝐾 ∈ Lat ∧ (𝑝 ∈ 𝐵 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵)) → ((𝑝 ≤ 𝑋 ∧ 𝑋 ≤ 𝑌) → 𝑝 ≤ 𝑌))
5018, 21, 22, 28, 49syl13anc 1399 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → ((𝑝 ≤ 𝑋 ∧ 𝑋 ≤ 𝑌) → 𝑝 ≤ 𝑌))
5150exp4b 436 . . . . . . 7 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑝 ∈ 𝐴 → (𝑝 ≤ 𝑋 → (𝑋 ≤ 𝑌 → 𝑝 ≤ 𝑌))))
5251com34 92 . . . . . 6 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑝 ∈ 𝐴 → (𝑋 ≤ 𝑌 → (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌))))
5352com23 87 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋 ≤ 𝑌 → (𝑝 ∈ 𝐴 → (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌))))
5453ralrimdv 3160 . . . 4 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋 ≤ 𝑌 → ∀𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌)))
55 iman 407 . . . . . 6 ((𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌) ↔ ¬ (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌))
5655ralbii 3108 . . . . 5 (∀𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌) ↔ ∀𝑝 ∈ 𝐴 ¬ (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌))
57 ralnex 3088 . . . . 5 (∀𝑝 ∈ 𝐴 ¬ (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌) ↔ ¬ ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌))
5856, 57bitri 278 . . . 4 (∀𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌) ↔ ¬ ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌))
5954, 58imbitrdi 254 . . 3 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋 ≤ 𝑌 → ¬ ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
6059con2d 135 . 2 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌) → ¬ 𝑋 ≤ 𝑌))
6148, 60impbid 215 1 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 ↔ ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3   → wi 4   ↔ wb 209   ∧ wa 401   ∨ wo 861   ∧ w3a 1103   = wceq 1569   ∈ wcel 2144  ∀wral 3076  ∃wrex 3086   class class class wbr 5102  ‘cfv 6539  (class class class)co 7421  Basecbs 17393  lecple 17441  ltcplt 18488  joincjn 18491  meetcmee 18492  Latclat 18611  Atomscatm 40414  HLchlt 40501
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7752
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5545  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-iota 6494  df-fun 6541  df-fn 6542  df-f 6543  df-f1 6544  df-fo 6545  df-f1o 6546  df-fv 6547  df-riota 7378  df-ov 7424  df-oprab 7425  df-proset 18474  df-poset 18493  df-plt 18508  df-lub 18524  df-glb 18525  df-join 18526  df-meet 18527  df-p0 18603  df-lat 18612  df-clat 18679  df-oposet 40327  df-ol 40329  df-oml 40330  df-covers 40417  df-ats 40418  df-atl 40449  df-cvlat 40473  df-hlat 40502
This theorem is used by:  lhpj1  41173
  Copyright terms: Public domain W3C validator