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

Theorem cdleme1 38168
Description: Part of proof of Lemma E in [Crawley] p. 113. 𝐹 represents their f(r). Here we show r f(r) = r u (7th through 5th lines from bottom on p. 113). (Contributed by NM, 4-Jun-2012.)
Hypotheses
Ref Expression
cdleme1.l = (le‘𝐾)
cdleme1.j = (join‘𝐾)
cdleme1.m = (meet‘𝐾)
cdleme1.a 𝐴 = (Atoms‘𝐾)
cdleme1.h 𝐻 = (LHyp‘𝐾)
cdleme1.u 𝑈 = ((𝑃 𝑄) 𝑊)
cdleme1.f 𝐹 = ((𝑅 𝑈) (𝑄 ((𝑃 𝑅) 𝑊)))
Assertion
Ref Expression
cdleme1 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 𝐹) = (𝑅 𝑈))

Proof of Theorem cdleme1
StepHypRef Expression
1 cdleme1.f . . 3 𝐹 = ((𝑅 𝑈) (𝑄 ((𝑃 𝑅) 𝑊)))
21oveq2i 7266 . 2 (𝑅 𝐹) = (𝑅 ((𝑅 𝑈) (𝑄 ((𝑃 𝑅) 𝑊))))
3 simpll 763 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝐾 ∈ HL)
4 simpr3l 1232 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑅𝐴)
5 hllat 37304 . . . . . 6 (𝐾 ∈ HL → 𝐾 ∈ Lat)
65ad2antrr 722 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝐾 ∈ Lat)
7 eqid 2738 . . . . . . 7 (Base‘𝐾) = (Base‘𝐾)
8 cdleme1.a . . . . . . 7 𝐴 = (Atoms‘𝐾)
97, 8atbase 37230 . . . . . 6 (𝑅𝐴𝑅 ∈ (Base‘𝐾))
104, 9syl 17 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑅 ∈ (Base‘𝐾))
11 cdleme1.u . . . . . 6 𝑈 = ((𝑃 𝑄) 𝑊)
12 simpr1 1192 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑃𝐴)
137, 8atbase 37230 . . . . . . . . 9 (𝑃𝐴𝑃 ∈ (Base‘𝐾))
1412, 13syl 17 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑃 ∈ (Base‘𝐾))
15 simpr2 1193 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑄𝐴)
167, 8atbase 37230 . . . . . . . . 9 (𝑄𝐴𝑄 ∈ (Base‘𝐾))
1715, 16syl 17 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑄 ∈ (Base‘𝐾))
18 cdleme1.j . . . . . . . . 9 = (join‘𝐾)
197, 18latjcl 18072 . . . . . . . 8 ((𝐾 ∈ Lat ∧ 𝑃 ∈ (Base‘𝐾) ∧ 𝑄 ∈ (Base‘𝐾)) → (𝑃 𝑄) ∈ (Base‘𝐾))
206, 14, 17, 19syl3anc 1369 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑃 𝑄) ∈ (Base‘𝐾))
21 cdleme1.h . . . . . . . . 9 𝐻 = (LHyp‘𝐾)
227, 21lhpbase 37939 . . . . . . . 8 (𝑊𝐻𝑊 ∈ (Base‘𝐾))
2322ad2antlr 723 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑊 ∈ (Base‘𝐾))
24 cdleme1.m . . . . . . . 8 = (meet‘𝐾)
257, 24latmcl 18073 . . . . . . 7 ((𝐾 ∈ Lat ∧ (𝑃 𝑄) ∈ (Base‘𝐾) ∧ 𝑊 ∈ (Base‘𝐾)) → ((𝑃 𝑄) 𝑊) ∈ (Base‘𝐾))
266, 20, 23, 25syl3anc 1369 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → ((𝑃 𝑄) 𝑊) ∈ (Base‘𝐾))
2711, 26eqeltrid 2843 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑈 ∈ (Base‘𝐾))
287, 18latjcl 18072 . . . . 5 ((𝐾 ∈ Lat ∧ 𝑅 ∈ (Base‘𝐾) ∧ 𝑈 ∈ (Base‘𝐾)) → (𝑅 𝑈) ∈ (Base‘𝐾))
296, 10, 27, 28syl3anc 1369 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 𝑈) ∈ (Base‘𝐾))
307, 18latjcl 18072 . . . . . . 7 ((𝐾 ∈ Lat ∧ 𝑃 ∈ (Base‘𝐾) ∧ 𝑅 ∈ (Base‘𝐾)) → (𝑃 𝑅) ∈ (Base‘𝐾))
316, 14, 10, 30syl3anc 1369 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑃 𝑅) ∈ (Base‘𝐾))
327, 24latmcl 18073 . . . . . 6 ((𝐾 ∈ Lat ∧ (𝑃 𝑅) ∈ (Base‘𝐾) ∧ 𝑊 ∈ (Base‘𝐾)) → ((𝑃 𝑅) 𝑊) ∈ (Base‘𝐾))
336, 31, 23, 32syl3anc 1369 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → ((𝑃 𝑅) 𝑊) ∈ (Base‘𝐾))
347, 18latjcl 18072 . . . . 5 ((𝐾 ∈ Lat ∧ 𝑄 ∈ (Base‘𝐾) ∧ ((𝑃 𝑅) 𝑊) ∈ (Base‘𝐾)) → (𝑄 ((𝑃 𝑅) 𝑊)) ∈ (Base‘𝐾))
356, 17, 33, 34syl3anc 1369 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑄 ((𝑃 𝑅) 𝑊)) ∈ (Base‘𝐾))
36 cdleme1.l . . . . . 6 = (le‘𝐾)
377, 36, 18latlej1 18081 . . . . 5 ((𝐾 ∈ Lat ∧ 𝑅 ∈ (Base‘𝐾) ∧ 𝑈 ∈ (Base‘𝐾)) → 𝑅 (𝑅 𝑈))
386, 10, 27, 37syl3anc 1369 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑅 (𝑅 𝑈))
397, 36, 18, 24, 8atmod3i1 37805 . . . 4 ((𝐾 ∈ HL ∧ (𝑅𝐴 ∧ (𝑅 𝑈) ∈ (Base‘𝐾) ∧ (𝑄 ((𝑃 𝑅) 𝑊)) ∈ (Base‘𝐾)) ∧ 𝑅 (𝑅 𝑈)) → (𝑅 ((𝑅 𝑈) (𝑄 ((𝑃 𝑅) 𝑊)))) = ((𝑅 𝑈) (𝑅 (𝑄 ((𝑃 𝑅) 𝑊)))))
403, 4, 29, 35, 38, 39syl131anc 1381 . . 3 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 ((𝑅 𝑈) (𝑄 ((𝑃 𝑅) 𝑊)))) = ((𝑅 𝑈) (𝑅 (𝑄 ((𝑃 𝑅) 𝑊)))))
417, 36, 18latlej2 18082 . . . . . . . . 9 ((𝐾 ∈ Lat ∧ 𝑃 ∈ (Base‘𝐾) ∧ 𝑅 ∈ (Base‘𝐾)) → 𝑅 (𝑃 𝑅))
426, 14, 10, 41syl3anc 1369 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑅 (𝑃 𝑅))
437, 36, 18, 24, 8atmod3i1 37805 . . . . . . . 8 ((𝐾 ∈ HL ∧ (𝑅𝐴 ∧ (𝑃 𝑅) ∈ (Base‘𝐾) ∧ 𝑊 ∈ (Base‘𝐾)) ∧ 𝑅 (𝑃 𝑅)) → (𝑅 ((𝑃 𝑅) 𝑊)) = ((𝑃 𝑅) (𝑅 𝑊)))
443, 4, 31, 23, 42, 43syl131anc 1381 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 ((𝑃 𝑅) 𝑊)) = ((𝑃 𝑅) (𝑅 𝑊)))
45 eqid 2738 . . . . . . . . . 10 (1.‘𝐾) = (1.‘𝐾)
4636, 18, 45, 8, 21lhpjat2 37962 . . . . . . . . 9 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊)) → (𝑅 𝑊) = (1.‘𝐾))
47463ad2antr3 1188 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 𝑊) = (1.‘𝐾))
4847oveq2d 7271 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → ((𝑃 𝑅) (𝑅 𝑊)) = ((𝑃 𝑅) (1.‘𝐾)))
49 hlol 37302 . . . . . . . . 9 (𝐾 ∈ HL → 𝐾 ∈ OL)
5049ad2antrr 722 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝐾 ∈ OL)
517, 24, 45olm11 37168 . . . . . . . 8 ((𝐾 ∈ OL ∧ (𝑃 𝑅) ∈ (Base‘𝐾)) → ((𝑃 𝑅) (1.‘𝐾)) = (𝑃 𝑅))
5250, 31, 51syl2anc 583 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → ((𝑃 𝑅) (1.‘𝐾)) = (𝑃 𝑅))
5344, 48, 523eqtrd 2782 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 ((𝑃 𝑅) 𝑊)) = (𝑃 𝑅))
5453oveq2d 7271 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑄 (𝑅 ((𝑃 𝑅) 𝑊))) = (𝑄 (𝑃 𝑅)))
557, 18latj12 18117 . . . . . 6 ((𝐾 ∈ Lat ∧ (𝑄 ∈ (Base‘𝐾) ∧ 𝑅 ∈ (Base‘𝐾) ∧ ((𝑃 𝑅) 𝑊) ∈ (Base‘𝐾))) → (𝑄 (𝑅 ((𝑃 𝑅) 𝑊))) = (𝑅 (𝑄 ((𝑃 𝑅) 𝑊))))
566, 17, 10, 33, 55syl13anc 1370 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑄 (𝑅 ((𝑃 𝑅) 𝑊))) = (𝑅 (𝑄 ((𝑃 𝑅) 𝑊))))
577, 18latj13 18119 . . . . . 6 ((𝐾 ∈ Lat ∧ (𝑄 ∈ (Base‘𝐾) ∧ 𝑃 ∈ (Base‘𝐾) ∧ 𝑅 ∈ (Base‘𝐾))) → (𝑄 (𝑃 𝑅)) = (𝑅 (𝑃 𝑄)))
586, 17, 14, 10, 57syl13anc 1370 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑄 (𝑃 𝑅)) = (𝑅 (𝑃 𝑄)))
5954, 56, 583eqtr3rd 2787 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 (𝑃 𝑄)) = (𝑅 (𝑄 ((𝑃 𝑅) 𝑊))))
6059oveq2d 7271 . . 3 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → ((𝑅 𝑈) (𝑅 (𝑃 𝑄))) = ((𝑅 𝑈) (𝑅 (𝑄 ((𝑃 𝑅) 𝑊)))))
6136, 18, 24, 8, 21, 11cdlemeulpq 38161 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴)) → 𝑈 (𝑃 𝑄))
62613adantr3 1169 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → 𝑈 (𝑃 𝑄))
637, 36, 18latjlej2 18087 . . . . . 6 ((𝐾 ∈ Lat ∧ (𝑈 ∈ (Base‘𝐾) ∧ (𝑃 𝑄) ∈ (Base‘𝐾) ∧ 𝑅 ∈ (Base‘𝐾))) → (𝑈 (𝑃 𝑄) → (𝑅 𝑈) (𝑅 (𝑃 𝑄))))
646, 27, 20, 10, 63syl13anc 1370 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑈 (𝑃 𝑄) → (𝑅 𝑈) (𝑅 (𝑃 𝑄))))
6562, 64mpd 15 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 𝑈) (𝑅 (𝑃 𝑄)))
667, 18latjcl 18072 . . . . . 6 ((𝐾 ∈ Lat ∧ 𝑅 ∈ (Base‘𝐾) ∧ (𝑃 𝑄) ∈ (Base‘𝐾)) → (𝑅 (𝑃 𝑄)) ∈ (Base‘𝐾))
676, 10, 20, 66syl3anc 1369 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 (𝑃 𝑄)) ∈ (Base‘𝐾))
687, 36, 24latleeqm1 18100 . . . . 5 ((𝐾 ∈ Lat ∧ (𝑅 𝑈) ∈ (Base‘𝐾) ∧ (𝑅 (𝑃 𝑄)) ∈ (Base‘𝐾)) → ((𝑅 𝑈) (𝑅 (𝑃 𝑄)) ↔ ((𝑅 𝑈) (𝑅 (𝑃 𝑄))) = (𝑅 𝑈)))
696, 29, 67, 68syl3anc 1369 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → ((𝑅 𝑈) (𝑅 (𝑃 𝑄)) ↔ ((𝑅 𝑈) (𝑅 (𝑃 𝑄))) = (𝑅 𝑈)))
7065, 69mpbid 231 . . 3 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → ((𝑅 𝑈) (𝑅 (𝑃 𝑄))) = (𝑅 𝑈))
7140, 60, 703eqtr2rd 2785 . 2 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 𝑈) = (𝑅 ((𝑅 𝑈) (𝑄 ((𝑃 𝑅) 𝑊)))))
722, 71eqtr4id 2798 1 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑃𝐴𝑄𝐴 ∧ (𝑅𝐴 ∧ ¬ 𝑅 𝑊))) → (𝑅 𝐹) = (𝑅 𝑈))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 395  w3a 1085   = wceq 1539  wcel 2108   class class class wbr 5070  cfv 6418  (class class class)co 7255  Basecbs 16840  lecple 16895  joincjn 17944  meetcmee 17945  1.cp1 18057  Latclat 18064  OLcol 37115  Atomscatm 37204  HLchlt 37291  LHypclh 37925
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1799  ax-4 1813  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2110  ax-9 2118  ax-10 2139  ax-11 2156  ax-12 2173  ax-ext 2709  ax-rep 5205  ax-sep 5218  ax-nul 5225  ax-pow 5283  ax-pr 5347  ax-un 7566
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 844  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1784  df-nf 1788  df-sb 2069  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2817  df-nfc 2888  df-ne 2943  df-ral 3068  df-rex 3069  df-reu 3070  df-rab 3072  df-v 3424  df-sbc 3712  df-csb 3829  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-nul 4254  df-if 4457  df-pw 4532  df-sn 4559  df-pr 4561  df-op 4565  df-uni 4837  df-iun 4923  df-iin 4924  df-br 5071  df-opab 5133  df-mpt 5154  df-id 5480  df-xp 5586  df-rel 5587  df-cnv 5588  df-co 5589  df-dm 5590  df-rn 5591  df-res 5592  df-ima 5593  df-iota 6376  df-fun 6420  df-fn 6421  df-f 6422  df-f1 6423  df-fo 6424  df-f1o 6425  df-fv 6426  df-riota 7212  df-ov 7258  df-oprab 7259  df-mpo 7260  df-1st 7804  df-2nd 7805  df-proset 17928  df-poset 17946  df-plt 17963  df-lub 17979  df-glb 17980  df-join 17981  df-meet 17982  df-p0 18058  df-p1 18059  df-lat 18065  df-clat 18132  df-oposet 37117  df-ol 37119  df-oml 37120  df-covers 37207  df-ats 37208  df-atl 37239  df-cvlat 37263  df-hlat 37292  df-psubsp 37444  df-pmap 37445  df-padd 37737  df-lhyp 37929
This theorem is referenced by:  cdleme2  38169  cdleme3b  38170  cdleme3c  38171  cdleme5  38181  cdleme11  38211  cdleme12  38212  cdleme16c  38221  cdleme20g  38256  cdleme35a  38389  cdleme36a  38401
  Copyright terms: Public domain W3C validator