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 38730
Description: Eliminate conditions from cdlemg38 38729. TODO: Would this better be done at cdlemg35 38727? 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 1190 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝐾 ∈ HL ∧ 𝑊𝐻))
2 simpl2l 1225 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
3 simpl2r 1226 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
4 simpl31 1253 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → 𝐹𝑇)
5 simpl32 1254 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → 𝐺𝑇)
6 simpr 485 . . 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 38670 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇) ∧ (𝑅𝐹) = (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
151, 2, 3, 4, 5, 6, 14syl321anc 1391 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
16 simpll1 1211 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → (𝐾 ∈ HL ∧ 𝑊𝐻))
17 simpll2 1212 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)))
18 simpl31 1253 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → 𝐹𝑇)
1918adantr 481 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → 𝐹𝑇)
20 simpl32 1254 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → 𝐺𝑇)
2120adantr 481 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → 𝐺𝑇)
22 simpr 485 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → (𝐹𝑃) = 𝑃)
237, 8, 9, 10, 11, 12, 13cdlemg14f 38667 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇 ∧ (𝐹𝑃) = 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
2416, 17, 19, 21, 22, 23syl113anc 1381 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
25 simpll1 1211 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → (𝐾 ∈ HL ∧ 𝑊𝐻))
26 simpll2 1212 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)))
2718adantr 481 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → 𝐹𝑇)
2820adantr 481 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → 𝐺𝑇)
29 simpr 485 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → (𝐺𝑃) = 𝑃)
307, 8, 9, 10, 11, 12, 13cdlemg14g 38668 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇 ∧ (𝐺𝑃) = 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
3125, 26, 27, 28, 29, 30syl113anc 1381 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
32 simpll1 1211 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝐾 ∈ HL ∧ 𝑊𝐻))
33 simpl2l 1225 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
3433adantr 481 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
35 simpl2r 1226 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
3635adantr 481 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
37 simpll3 1213 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝐹𝑇𝐺𝑇𝑃𝑄))
38 simpr 485 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃))
39 simplr 766 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑅𝐹) ≠ (𝑅𝐺))
407, 8, 9, 10, 11, 12, 13cdlemg38 38729 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄) ∧ (((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃) ∧ (𝑅𝐹) ≠ (𝑅𝐺))) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4132, 34, 36, 37, 38, 39, 40syl312anc 1390 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4224, 31, 41pm2.61da2ne 3033 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4315, 42pm2.61dane 3032 1 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 396  w3a 1086   = wceq 1539  wcel 2106  wne 2943   class class class wbr 5074  cfv 6433  (class class class)co 7275  lecple 16969  joincjn 18029  meetcmee 18030  Atomscatm 37277  HLchlt 37364  LHypclh 37998  LTrncltrn 38115  trLctrl 38172
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2709  ax-rep 5209  ax-sep 5223  ax-nul 5230  ax-pow 5288  ax-pr 5352  ax-un 7588  ax-riotaBAD 36967
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3or 1087  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2068  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2816  df-nfc 2889  df-ne 2944  df-ral 3069  df-rex 3070  df-rmo 3071  df-reu 3072  df-rab 3073  df-v 3434  df-sbc 3717  df-csb 3833  df-dif 3890  df-un 3892  df-in 3894  df-ss 3904  df-nul 4257  df-if 4460  df-pw 4535  df-sn 4562  df-pr 4564  df-op 4568  df-uni 4840  df-iun 4926  df-iin 4927  df-br 5075  df-opab 5137  df-mpt 5158  df-id 5489  df-xp 5595  df-rel 5596  df-cnv 5597  df-co 5598  df-dm 5599  df-rn 5600  df-res 5601  df-ima 5602  df-iota 6391  df-fun 6435  df-fn 6436  df-f 6437  df-f1 6438  df-fo 6439  df-f1o 6440  df-fv 6441  df-riota 7232  df-ov 7278  df-oprab 7279  df-mpo 7280  df-1st 7831  df-2nd 7832  df-undef 8089  df-map 8617  df-proset 18013  df-poset 18031  df-plt 18048  df-lub 18064  df-glb 18065  df-join 18066  df-meet 18067  df-p0 18143  df-p1 18144  df-lat 18150  df-clat 18217  df-oposet 37190  df-ol 37192  df-oml 37193  df-covers 37280  df-ats 37281  df-atl 37312  df-cvlat 37336  df-hlat 37365  df-llines 37512  df-lplanes 37513  df-lvols 37514  df-lines 37515  df-psubsp 37517  df-pmap 37518  df-padd 37810  df-lhyp 38002  df-laut 38003  df-ldil 38118  df-ltrn 38119  df-trl 38173
This theorem is referenced by:  cdlemg40  38731
  Copyright terms: Public domain W3C validator