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 40428
Description: A consequence of relative atomicity. (chrelat2i 32949 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 40388 . . . 4 (𝐾 ∈ HL → 𝐾 ∈ Lat)
2 hlrelat2.b . . . . 5 𝐵 = (Base‘𝐾)
3 hlrelat2.l . . . . 5 ≤ = (le‘𝐾)
4 eqid 2761 . . . . 5 (lt‘𝐾) = (lt‘𝐾)
5 eqid 2761 . . . . 5 (meet‘𝐾) = (meet‘𝐾)
62, 3, 4, 5latnlemlt 18626 . . . 4 ((𝐾 ∈ Lat ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋))
71, 6syl3an1 1181 . . 3 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 ↔ (𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋))
8 simp1 1154 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → 𝐾 ∈ HL)
92, 5latmcl 18594 . . . . . 6 ((𝐾 ∈ Lat ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋(meet‘𝐾)𝑌) ∈ 𝐵)
101, 9syl3an1 1181 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋(meet‘𝐾)𝑌) ∈ 𝐵)
11 simp2 1155 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → 𝑋 ∈ 𝐵)
12 eqid 2761 . . . . . . 7 (join‘𝐾) = (join‘𝐾)
13 hlrelat2.a . . . . . . 7 𝐴 = (Atoms‘𝐾)
142, 3, 4, 12, 13hlrelat 40427 . . . . . 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 40389 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝐾 ∈ Lat)
1910adantr 486 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (𝑋(meet‘𝐾)𝑌) ∈ 𝐵)
202, 13atbase 40314 . . . . . . . . . 10 (𝑝 ∈ 𝐴 → 𝑝 ∈ 𝐵)
2120adantl 487 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝑝 ∈ 𝐵)
22 simpl2 1211 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → 𝑋 ∈ 𝐵)
232, 3, 12latjle12 18604 . . . . . . . . 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 18620 . . . . . . . . . . 11 ((𝐾 ∈ Lat ∧ (𝑝 ∈ 𝐵 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵)) → ((𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌)))
3018, 21, 22, 28, 29syl13anc 1399 . . . . . . . . . 10 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → ((𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌)))
3130notbid 321 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → (¬ (𝑝 ≤ 𝑋 ∧ 𝑝 ≤ 𝑌) ↔ ¬ 𝑝 ≤ (𝑋(meet‘𝐾)𝑌)))
322, 3, 4, 12latnle 18627 . . . . . . . . . 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 3176 . . . 4 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (∃𝑝 ∈ 𝐴 ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ∧ ((𝑋(meet‘𝐾)𝑌)(join‘𝐾)𝑝) ≤ 𝑋) → ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
4716, 46syld 48 . . 3 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → ((𝑋(meet‘𝐾)𝑌)(lt‘𝐾)𝑋 → ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
487, 47sylbid 243 . 2 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (¬ 𝑋 ≤ 𝑌 → ∃𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌)))
492, 3lattr 18598 . . . . . . . . 9 ((𝐾 ∈ Lat ∧ (𝑝 ∈ 𝐵 ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵)) → ((𝑝 ≤ 𝑋 ∧ 𝑋 ≤ 𝑌) → 𝑝 ≤ 𝑌))
5018, 21, 22, 28, 49syl13anc 1399 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) ∧ 𝑝 ∈ 𝐴) → ((𝑝 ≤ 𝑋 ∧ 𝑋 ≤ 𝑌) → 𝑝 ≤ 𝑌))
5150exp4b 436 . . . . . . 7 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑝 ∈ 𝐴 → (𝑝 ≤ 𝑋 → (𝑋 ≤ 𝑌 → 𝑝 ≤ 𝑌))))
5251com34 92 . . . . . 6 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑝 ∈ 𝐴 → (𝑋 ≤ 𝑌 → (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌))))
5352com23 87 . . . . 5 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋 ≤ 𝑌 → (𝑝 ∈ 𝐴 → (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌))))
5453ralrimdv 3161 . . . 4 ((𝐾 ∈ HL ∧ 𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝐵) → (𝑋 ≤ 𝑌 → ∀𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌)))
55 iman 407 . . . . . 6 ((𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌) ↔ ¬ (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌))
5655ralbii 3109 . . . . 5 (∀𝑝 ∈ 𝐴 (𝑝 ≤ 𝑋 → 𝑝 ≤ 𝑌) ↔ ∀𝑝 ∈ 𝐴 ¬ (𝑝 ≤ 𝑋 ∧ ¬ 𝑝 ≤ 𝑌))
57 ralnex 3089 . . . . 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 2145  ∀wral 3077  ∃wrex 3087   class class class wbr 5103  ‘cfv 6531  (class class class)co 7412  Basecbs 17367  lecple 17415  ltcplt 18462  joincjn 18465  meetcmee 18466  Latclat 18585  Atomscatm 40288  HLchlt 40375
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 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7740
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 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-rmo 3366  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5546  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-iota 6487  df-fun 6533  df-fn 6534  df-f 6535  df-f1 6536  df-fo 6537  df-f1o 6538  df-fv 6539  df-riota 7369  df-ov 7415  df-oprab 7416  df-proset 18448  df-poset 18467  df-plt 18482  df-lub 18498  df-glb 18499  df-join 18500  df-meet 18501  df-p0 18577  df-lat 18586  df-clat 18653  df-oposet 40201  df-ol 40203  df-oml 40204  df-covers 40291  df-ats 40292  df-atl 40323  df-cvlat 40347  df-hlat 40376
This theorem is used by:  lhpj1  41047
  Copyright terms: Public domain W3C validator