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

Theorem cdlemg39 41341
Description: Eliminate conditions from cdlemg38 41340. TODO: Would this better be done at cdlemg35 41338? TODO: Fix comment. (Contributed by NM, 31-May-2013.)
Hypotheses
Ref Expression
cdlemg35.l = (le‘𝐾)
cdlemg35.j = (join‘𝐾)
cdlemg35.m = (meet‘𝐾)
cdlemg35.a 𝐴 = (Atoms‘𝐾)
cdlemg35.h 𝐻 = (LHyp‘𝐾)
cdlemg35.t 𝑇 = ((LTrn‘𝐾)‘𝑊)
cdlemg35.r 𝑅 = ((trL‘𝐾)‘𝑊)
Assertion
Ref Expression
cdlemg39 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))

Proof of Theorem cdlemg39
StepHypRef Expression
1 simpl1 1206 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝐾 ∈ HL ∧ 𝑊𝐻))
2 simpl2l 1241 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
3 simpl2r 1242 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
4 simpl31 1269 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → 𝐹𝑇)
5 simpl32 1270 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → 𝐺𝑇)
6 simpr 488 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝑅𝐹) = (𝑅𝐺))
7 cdlemg35.l . . . 4 = (le‘𝐾)
8 cdlemg35.j . . . 4 = (join‘𝐾)
9 cdlemg35.m . . . 4 = (meet‘𝐾)
10 cdlemg35.a . . . 4 𝐴 = (Atoms‘𝐾)
11 cdlemg35.h . . . 4 𝐻 = (LHyp‘𝐾)
12 cdlemg35.t . . . 4 𝑇 = ((LTrn‘𝐾)‘𝑊)
13 cdlemg35.r . . . 4 𝑅 = ((trL‘𝐾)‘𝑊)
147, 8, 9, 10, 11, 12, 13cdlemg15 41281 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇) ∧ (𝑅𝐹) = (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
151, 2, 3, 4, 5, 6, 14syl321anc 1412 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
16 simpll1 1227 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → (𝐾 ∈ HL ∧ 𝑊𝐻))
17 simpll2 1228 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)))
18 simpl31 1269 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → 𝐹𝑇)
1918adantr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → 𝐹𝑇)
20 simpl32 1270 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → 𝐺𝑇)
2120adantr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → 𝐺𝑇)
22 simpr 488 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → (𝐹𝑃) = 𝑃)
237, 8, 9, 10, 11, 12, 13cdlemg14f 41278 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇 ∧ (𝐹𝑃) = 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
2416, 17, 19, 21, 22, 23syl113anc 1402 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
25 simpll1 1227 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → (𝐾 ∈ HL ∧ 𝑊𝐻))
26 simpll2 1228 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)))
2718adantr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → 𝐹𝑇)
2820adantr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → 𝐺𝑇)
29 simpr 488 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → (𝐺𝑃) = 𝑃)
307, 8, 9, 10, 11, 12, 13cdlemg14g 41279 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇 ∧ (𝐺𝑃) = 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
3125, 26, 27, 28, 29, 30syl113anc 1402 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
32 simpll1 1227 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝐾 ∈ HL ∧ 𝑊𝐻))
33 simpl2l 1241 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
3433adantr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
35 simpl2r 1242 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
3635adantr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
37 simpll3 1229 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝐹𝑇𝐺𝑇𝑃𝑄))
38 simpr 488 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃))
39 simplr 778 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑅𝐹) ≠ (𝑅𝐺))
407, 8, 9, 10, 11, 12, 13cdlemg38 41340 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄) ∧ (((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃) ∧ (𝑅𝐹) ≠ (𝑅𝐺))) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4132, 34, 36, 37, 38, 39, 40syl312anc 1411 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4224, 31, 41pm2.61da2ne 3046 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4315, 42pm2.61dane 3045 1 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 399  w3a 1099   = wceq 1561  wcel 2143  wne 2958   class class class wbr 5101  cfv 6522  (class class class)co 7397  lecple 17294  joincjn 18344  meetcmee 18345  Atomscatm 39888  HLchlt 39975  LHypclh 40609  LTrncltrn 40726  trLctrl 40783
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1816  ax-4 1830  ax-5 1931  ax-6 1988  ax-7 2029  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-rep 5228  ax-sep 5247  ax-nul 5257  ax-pow 5323  ax-pr 5391  ax-un 7719  ax-riotaBAD 39578
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3or 1100  df-3an 1101  df-tru 1564  df-fal 1574  df-ex 1801  df-nf 1805  df-sb 2092  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-ral 3078  df-rex 3088  df-rmo 3368  df-reu 3369  df-rab 3416  df-v 3457  df-sbc 3746  df-csb 3854  df-dif 3908  df-un 3910  df-in 3912  df-ss 3922  df-nul 4287  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-iun 4952  df-iin 4953  df-br 5102  df-opab 5164  df-mpt 5183  df-id 5543  df-xp 5654  df-rel 5655  df-cnv 5656  df-co 5657  df-dm 5658  df-rn 5659  df-res 5660  df-ima 5661  df-iota 6478  df-fun 6524  df-fn 6525  df-f 6526  df-f1 6527  df-fo 6528  df-f1o 6529  df-fv 6530  df-riota 7354  df-ov 7400  df-oprab 7401  df-mpo 7402  df-1st 7971  df-2nd 7972  df-undef 8254  df-map 8811  df-proset 18327  df-poset 18346  df-plt 18361  df-lub 18377  df-glb 18378  df-join 18379  df-meet 18380  df-p0 18456  df-p1 18457  df-lat 18465  df-clat 18532  df-oposet 39801  df-ol 39803  df-oml 39804  df-covers 39891  df-ats 39892  df-atl 39923  df-cvlat 39947  df-hlat 39976  df-llines 40123  df-lplanes 40124  df-lvols 40125  df-lines 40126  df-psubsp 40128  df-pmap 40129  df-padd 40421  df-lhyp 40613  df-laut 40614  df-ldil 40729  df-ltrn 40730  df-trl 40784
This theorem is referenced by:  cdlemg40  41342
  Copyright terms: Public domain W3C validator