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 41096
Description: Eliminate conditions from cdlemg38 41095. TODO: Would this better be done at cdlemg35 41093? 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 1193 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝐾 ∈ HL ∧ 𝑊𝐻))
2 simpl2l 1228 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
3 simpl2r 1229 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
4 simpl31 1256 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → 𝐹𝑇)
5 simpl32 1257 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → 𝐺𝑇)
6 simpr 484 . . 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 41036 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇) ∧ (𝑅𝐹) = (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
151, 2, 3, 4, 5, 6, 14syl321anc 1395 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
16 simpll1 1214 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → (𝐾 ∈ HL ∧ 𝑊𝐻))
17 simpll2 1215 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)))
18 simpl31 1256 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → 𝐹𝑇)
1918adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → 𝐹𝑇)
20 simpl32 1257 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → 𝐺𝑇)
2120adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → 𝐺𝑇)
22 simpr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → (𝐹𝑃) = 𝑃)
237, 8, 9, 10, 11, 12, 13cdlemg14f 41033 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇 ∧ (𝐹𝑃) = 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
2416, 17, 19, 21, 22, 23syl113anc 1385 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
25 simpll1 1214 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → (𝐾 ∈ HL ∧ 𝑊𝐻))
26 simpll2 1215 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)))
2718adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → 𝐹𝑇)
2820adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → 𝐺𝑇)
29 simpr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → (𝐺𝑃) = 𝑃)
307, 8, 9, 10, 11, 12, 13cdlemg14g 41034 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇 ∧ (𝐺𝑃) = 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
3125, 26, 27, 28, 29, 30syl113anc 1385 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
32 simpll1 1214 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝐾 ∈ HL ∧ 𝑊𝐻))
33 simpl2l 1228 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
3433adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
35 simpl2r 1229 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
3635adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
37 simpll3 1216 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝐹𝑇𝐺𝑇𝑃𝑄))
38 simpr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃))
39 simplr 769 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑅𝐹) ≠ (𝑅𝐺))
407, 8, 9, 10, 11, 12, 13cdlemg38 41095 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄) ∧ (((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃) ∧ (𝑅𝐹) ≠ (𝑅𝐺))) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4132, 34, 36, 37, 38, 39, 40syl312anc 1394 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4224, 31, 41pm2.61da2ne 3021 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4315, 42pm2.61dane 3020 1 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 395  w3a 1087   = wceq 1542  wcel 2114  wne 2933   class class class wbr 5100  cfv 6500  (class class class)co 7368  lecple 17196  joincjn 18246  meetcmee 18247  Atomscatm 39643  HLchlt 39730  LHypclh 40364  LTrncltrn 40481  trLctrl 40538
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5226  ax-sep 5243  ax-nul 5253  ax-pow 5312  ax-pr 5379  ax-un 7690  ax-riotaBAD 39333
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-ral 3053  df-rex 3063  df-rmo 3352  df-reu 3353  df-rab 3402  df-v 3444  df-sbc 3743  df-csb 3852  df-dif 3906  df-un 3908  df-in 3910  df-ss 3920  df-nul 4288  df-if 4482  df-pw 4558  df-sn 4583  df-pr 4585  df-op 4589  df-uni 4866  df-iun 4950  df-iin 4951  df-br 5101  df-opab 5163  df-mpt 5182  df-id 5527  df-xp 5638  df-rel 5639  df-cnv 5640  df-co 5641  df-dm 5642  df-rn 5643  df-res 5644  df-ima 5645  df-iota 6456  df-fun 6502  df-fn 6503  df-f 6504  df-f1 6505  df-fo 6506  df-f1o 6507  df-fv 6508  df-riota 7325  df-ov 7371  df-oprab 7372  df-mpo 7373  df-1st 7943  df-2nd 7944  df-undef 8225  df-map 8777  df-proset 18229  df-poset 18248  df-plt 18263  df-lub 18279  df-glb 18280  df-join 18281  df-meet 18282  df-p0 18358  df-p1 18359  df-lat 18367  df-clat 18434  df-oposet 39556  df-ol 39558  df-oml 39559  df-covers 39646  df-ats 39647  df-atl 39678  df-cvlat 39702  df-hlat 39731  df-llines 39878  df-lplanes 39879  df-lvols 39880  df-lines 39881  df-psubsp 39883  df-pmap 39884  df-padd 40176  df-lhyp 40368  df-laut 40369  df-ldil 40484  df-ltrn 40485  df-trl 40539
This theorem is referenced by:  cdlemg40  41097
  Copyright terms: Public domain W3C validator