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 40719
Description: Eliminate conditions from cdlemg38 40718. TODO: Would this better be done at cdlemg35 40716? 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 1191 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝐾 ∈ HL ∧ 𝑊𝐻))
2 simpl2l 1226 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
3 simpl2r 1227 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
4 simpl31 1254 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → 𝐹𝑇)
5 simpl32 1255 . . 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 40659 . . 3 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇) ∧ (𝑅𝐹) = (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
151, 2, 3, 4, 5, 6, 14syl321anc 1393 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) = (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
16 simpll1 1212 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → (𝐾 ∈ HL ∧ 𝑊𝐻))
17 simpll2 1213 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)))
18 simpl31 1254 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → 𝐹𝑇)
1918adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → 𝐹𝑇)
20 simpl32 1255 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → 𝐺𝑇)
2120adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → 𝐺𝑇)
22 simpr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → (𝐹𝑃) = 𝑃)
237, 8, 9, 10, 11, 12, 13cdlemg14f 40656 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇 ∧ (𝐹𝑃) = 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
2416, 17, 19, 21, 22, 23syl113anc 1383 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐹𝑃) = 𝑃) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
25 simpll1 1212 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → (𝐾 ∈ HL ∧ 𝑊𝐻))
26 simpll2 1213 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)))
2718adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → 𝐹𝑇)
2820adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → 𝐺𝑇)
29 simpr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → (𝐺𝑃) = 𝑃)
307, 8, 9, 10, 11, 12, 13cdlemg14g 40657 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇 ∧ (𝐺𝑃) = 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
3125, 26, 27, 28, 29, 30syl113anc 1383 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ (𝐺𝑃) = 𝑃) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
32 simpll1 1212 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝐾 ∈ HL ∧ 𝑊𝐻))
33 simpl2l 1226 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
3433adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑃𝐴 ∧ ¬ 𝑃 𝑊))
35 simpl2r 1227 . . . . 5 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
3635adantr 480 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑄𝐴 ∧ ¬ 𝑄 𝑊))
37 simpll3 1214 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝐹𝑇𝐺𝑇𝑃𝑄))
38 simpr 484 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃))
39 simplr 768 . . . 4 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → (𝑅𝐹) ≠ (𝑅𝐺))
407, 8, 9, 10, 11, 12, 13cdlemg38 40718 . . . 4 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄) ∧ (((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃) ∧ (𝑅𝐹) ≠ (𝑅𝐺))) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4132, 34, 36, 37, 38, 39, 40syl312anc 1392 . . 3 (((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) ∧ ((𝐹𝑃) ≠ 𝑃 ∧ (𝐺𝑃) ≠ 𝑃)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4224, 31, 41pm2.61da2ne 3029 . 2 ((((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) ∧ (𝑅𝐹) ≠ (𝑅𝐺)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
4315, 42pm2.61dane 3028 1 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑃𝐴 ∧ ¬ 𝑃 𝑊) ∧ (𝑄𝐴 ∧ ¬ 𝑄 𝑊)) ∧ (𝐹𝑇𝐺𝑇𝑃𝑄)) → ((𝑃 (𝐹‘(𝐺𝑃))) 𝑊) = ((𝑄 (𝐹‘(𝐺𝑄))) 𝑊))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 395  w3a 1086   = wceq 1539  wcel 2107  wne 2939   class class class wbr 5142  cfv 6560  (class class class)co 7432  lecple 17305  joincjn 18358  meetcmee 18359  Atomscatm 39265  HLchlt 39352  LHypclh 39987  LTrncltrn 40104  trLctrl 40161
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1794  ax-4 1808  ax-5 1909  ax-6 1966  ax-7 2006  ax-8 2109  ax-9 2117  ax-10 2140  ax-11 2156  ax-12 2176  ax-ext 2707  ax-rep 5278  ax-sep 5295  ax-nul 5305  ax-pow 5364  ax-pr 5431  ax-un 7756  ax-riotaBAD 38955
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1779  df-nf 1783  df-sb 2064  df-mo 2539  df-eu 2568  df-clab 2714  df-cleq 2728  df-clel 2815  df-nfc 2891  df-ne 2940  df-ral 3061  df-rex 3070  df-rmo 3379  df-reu 3380  df-rab 3436  df-v 3481  df-sbc 3788  df-csb 3899  df-dif 3953  df-un 3955  df-in 3957  df-ss 3967  df-nul 4333  df-if 4525  df-pw 4601  df-sn 4626  df-pr 4628  df-op 4632  df-uni 4907  df-iun 4992  df-iin 4993  df-br 5143  df-opab 5205  df-mpt 5225  df-id 5577  df-xp 5690  df-rel 5691  df-cnv 5692  df-co 5693  df-dm 5694  df-rn 5695  df-res 5696  df-ima 5697  df-iota 6513  df-fun 6562  df-fn 6563  df-f 6564  df-f1 6565  df-fo 6566  df-f1o 6567  df-fv 6568  df-riota 7389  df-ov 7435  df-oprab 7436  df-mpo 7437  df-1st 8015  df-2nd 8016  df-undef 8299  df-map 8869  df-proset 18341  df-poset 18360  df-plt 18376  df-lub 18392  df-glb 18393  df-join 18394  df-meet 18395  df-p0 18471  df-p1 18472  df-lat 18478  df-clat 18545  df-oposet 39178  df-ol 39180  df-oml 39181  df-covers 39268  df-ats 39269  df-atl 39300  df-cvlat 39324  df-hlat 39353  df-llines 39501  df-lplanes 39502  df-lvols 39503  df-lines 39504  df-psubsp 39506  df-pmap 39507  df-padd 39799  df-lhyp 39991  df-laut 39992  df-ldil 40107  df-ltrn 40108  df-trl 40162
This theorem is referenced by:  cdlemg40  40720
  Copyright terms: Public domain W3C validator