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 40663
Description: A consequence of relative atomicity. (chrelat2i 33000 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 40623 . . . 4 (𝐾 ∈ HL → 𝐾 ∈ Lat)
2 hlrelat2.b . . . . 5 𝐵 = (Base‘𝐾)
3 hlrelat2.l . . . . 5 ≤ = (le‘𝐾)
4 eqid 2763 . . . . 5 (lt‘𝐾) = (lt‘𝐾)
5 eqid 2763 . . . . 5 (meet‘𝐾) = (meet‘𝐾)
62, 3, 4, 5latnlemlt 18678 . . . 4 ((𝐾 ∈ Lat ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋))
71, 6syl3an1 1181 . . 3 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋))
8 simp1 1154 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → 𝐾 ∈ HL)
92, 5latmcl 18646 . . . . . 6 ((𝐾 ∈ Lat ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋(meet‘𝐾)𝑌) ∈ 𝐵)
101, 9syl3an1 1181 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋(meet‘𝐾)𝑌) ∈ 𝐵)
11 simp2 1155 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → 𝑋 ∈ 𝐵)
12 eqid 2763 . . . . . . 7 (join‘𝐾) = (join‘𝐾)
13 hlrelat2.a . . . . . . 7 𝐴 = (Atoms‘𝐾)
142, 3, 4, 12, 13hlrelat 40662 . . . . . 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 1399 . . . 4 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋 → ∃𝑝 ∈ 𝐴 ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋)))
17 simpl1 1210 . . . . . . . . . 10 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝐾 ∈ HL)
1817hllatd 40624 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝐾 ∈ Lat)
1910adantr 486 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (𝑋(meet‘𝐾)𝑌) ∈ 𝐵)
202, 13atbase 40549 . . . . . . . . . 10 (𝑝 ∈ 𝐴 → 𝑝 ∈ 𝐵)
2120adantl 487 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝑝 ∈ 𝐵)
22 simpl2 1211 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝑋 ∈ 𝐵)
232, 3, 12latjle12 18656 . . . . . . . . 9 ((𝐾 ∈ Lat ∧ ((𝑋(meet‘𝐾)𝑌) ∈ 𝐵 ∧ 𝑝 ∈ 𝐵 ∧ 𝑋 ∈ 𝐵)) → (((𝑋(meet‘𝐾)𝑌) ≤ 𝑋 ∧ 𝑝 ≤ 𝑋) ↔ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋))
2418, 19, 21, 22, 23syl13anc 1400 . . . . . . . 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 18672 . . . . . . . . . . 11 ((𝐾 ∈ Lat ∧ (𝑝 ∈ 𝐵 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵)) → ((𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌)))
3018, 21, 22, 28, 29syl13anc 1400 . . . . . . . . . 10 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → ((𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌)))
3130notbid 321 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ ¬ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌)))
322, 3, 4, 12latnle 18679 . . . . . . . . . 10 ((𝐾 ∈ Lat ∧ (𝑋(meet‘𝐾)𝑌) ∈ 𝐵 ∧ 𝑝 ∈ 𝐵) → (¬ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌) ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝)))
3318, 19, 21, 32syl3anc 1399 . . . . . . . . 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 3179 . . . 4 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (∃𝑝 ∈ 𝐴 ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋) → ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
4716, 46syld 48 . . 3 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋 → ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
487, 47sylbid 243 . 2 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 → ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
492, 3lattr 18650 . . . . . . . . 9 ((𝐾 ∈ Lat ∧ (𝑝 ∈ 𝐵 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵)) → ((𝑝 ≤ 𝑋 ∧ 𝑋 ≤ 𝑌) → 𝑝 ≤ 𝑌))
5018, 21, 22, 28, 49syl13anc 1400 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → ((𝑝 ≤ 𝑋 ∧ 𝑋 ≤ 𝑌) → 𝑝 ≤ 𝑌))
5150exp4b 436 . . . . . . 7 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑝 ∈ 𝐴 → (𝑝 ≤ 𝑋 → (𝑋 ≤ 𝑌 → 𝑝 ≤ 𝑌))))
5251com34 92 . . . . . 6 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑝 ∈ 𝐴 → (𝑋 ≤ 𝑌 → (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌))))
5352com23 87 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋 ≤ 𝑌 → (𝑝 ∈ 𝐴 → (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌))))
5453ralrimdv 3164 . . . 4 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋 ≤ 𝑌 → ∀𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌)))
55 iman 407 . . . . . 6 ((𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌) ↔ ¬ (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌))
5655ralbii 3112 . . . . 5 (∀𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌) ↔ ∀𝑝 ∈ 𝐴 ¬ (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌))
57 ralnex 3092 . . . . 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 1570   ∈ wcel 2147  ∀wral 3080  ∃wrex 3090   class class class wbr 5106  ‘cfv 6561  (class class class)co 7446  Basecbs 17419  lecple 17467  ltcplt 18514  joincjn 18517  meetcmee 18518  Latclat 18637  Atomscatm 40523  HLchlt 40610
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5236  ax-sep 5253  ax-nul 5264  ax-pow 5332  ax-pr 5396  ax-un 7778
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4839  df-uni 4871  df-iun 4956  df-br 5107  df-opab 5172  df-mpt 5191  df-id 5551  df-xp 5662  df-rel 5663  df-cnv 5664  df-co 5665  df-dm 5666  df-rn 5667  df-res 5668  df-ima 5669  df-iota 6515  df-fun 6563  df-fn 6564  df-f 6565  df-f1 6566  df-fo 6567  df-f1o 6568  df-fv 6569  df-riota 7403  df-ov 7449  df-oprab 7450  df-proset 18500  df-poset 18519  df-plt 18534  df-lub 18550  df-glb 18551  df-join 18552  df-meet 18553  df-p0 18629  df-lat 18638  df-clat 18705  df-oposet 40436  df-ol 40438  df-oml 40439  df-covers 40526  df-ats 40527  df-atl 40558  df-cvlat 40582  df-hlat 40611
This theorem is used by:  lhpj1  41282
  Copyright terms: Public domain W3C validator