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

Theorem cdleme22d 41216
Description: Part of proof of Lemma E in [Crawley] p. 113, 3rd paragraph, 9th line on p. 115. (Contributed by NM, 4-Dec-2012.)
Hypotheses
Ref Expression
cdleme22.l = (le‘𝐾)
cdleme22.j = (join‘𝐾)
cdleme22.m = (meet‘𝐾)
cdleme22.a 𝐴 = (Atoms‘𝐾)
cdleme22.h 𝐻 = (LHyp‘𝐾)
Assertion
Ref Expression
cdleme22d (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 = ((𝑆 𝑇) 𝑊))

Proof of Theorem cdleme22d
StepHypRef Expression
1 simp3r 1221 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆 (𝑇 𝑉))
2 simp1l 1216 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ HL)
3 simp22l 1311 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑇𝐴)
4 simp23l 1313 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉𝐴)
5 cdleme22.l . . . . . . . 8 = (le‘𝐾)
6 cdleme22.j . . . . . . . 8 = (join‘𝐾)
7 cdleme22.a . . . . . . . 8 𝐴 = (Atoms‘𝐾)
85, 6, 7hlatlej1 40248 . . . . . . 7 ((𝐾 ∈ HL ∧ 𝑇𝐴𝑉𝐴) → 𝑇 (𝑇 𝑉))
92, 3, 4, 8syl3anc 1398 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑇 (𝑇 𝑉))
102hllatd 40237 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ Lat)
11 simp21l 1309 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆𝐴)
12 eqid 2760 . . . . . . . . 9 (Base‘𝐾) = (Base‘𝐾)
1312, 7atbase 40162 . . . . . . . 8 (𝑆𝐴𝑆 ∈ (Base‘𝐾))
1411, 13syl 18 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆 ∈ (Base‘𝐾))
1512, 7atbase 40162 . . . . . . . 8 (𝑇𝐴𝑇 ∈ (Base‘𝐾))
163, 15syl 18 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑇 ∈ (Base‘𝐾))
1712, 6, 7hlatjcl 40240 . . . . . . . 8 ((𝐾 ∈ HL ∧ 𝑇𝐴𝑉𝐴) → (𝑇 𝑉) ∈ (Base‘𝐾))
182, 3, 4, 17syl3anc 1398 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑇 𝑉) ∈ (Base‘𝐾))
1912, 5, 6latjle12 18538 . . . . . . 7 ((𝐾 ∈ Lat ∧ (𝑆 ∈ (Base‘𝐾) ∧ 𝑇 ∈ (Base‘𝐾) ∧ (𝑇 𝑉) ∈ (Base‘𝐾))) → ((𝑆 (𝑇 𝑉) ∧ 𝑇 (𝑇 𝑉)) ↔ (𝑆 𝑇) (𝑇 𝑉)))
2010, 14, 16, 18, 19syl13anc 1399 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 (𝑇 𝑉) ∧ 𝑇 (𝑇 𝑉)) ↔ (𝑆 𝑇) (𝑇 𝑉)))
211, 9, 20mpbi2and 725 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑆 𝑇) (𝑇 𝑉))
2212, 6, 7hlatjcl 40240 . . . . . . 7 ((𝐾 ∈ HL ∧ 𝑆𝐴𝑇𝐴) → (𝑆 𝑇) ∈ (Base‘𝐾))
232, 11, 3, 22syl3anc 1398 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑆 𝑇) ∈ (Base‘𝐾))
24 simp1r 1217 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑊𝐻)
25 cdleme22.h . . . . . . . 8 𝐻 = (LHyp‘𝐾)
2612, 25lhpbase 40871 . . . . . . 7 (𝑊𝐻𝑊 ∈ (Base‘𝐾))
2724, 26syl 18 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑊 ∈ (Base‘𝐾))
28 cdleme22.m . . . . . . 7 = (meet‘𝐾)
2912, 5, 28latmlem1 18557 . . . . . 6 ((𝐾 ∈ Lat ∧ ((𝑆 𝑇) ∈ (Base‘𝐾) ∧ (𝑇 𝑉) ∈ (Base‘𝐾) ∧ 𝑊 ∈ (Base‘𝐾))) → ((𝑆 𝑇) (𝑇 𝑉) → ((𝑆 𝑇) 𝑊) ((𝑇 𝑉) 𝑊)))
3010, 23, 18, 27, 29syl13anc 1399 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) (𝑇 𝑉) → ((𝑆 𝑇) 𝑊) ((𝑇 𝑉) 𝑊)))
3121, 30mpd 16 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) ((𝑇 𝑉) 𝑊))
32 simp1 1154 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝐾 ∈ HL ∧ 𝑊𝐻))
33 simp22 1226 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑇𝐴 ∧ ¬ 𝑇 𝑊))
34 eqid 2760 . . . . . . . 8 (0.‘𝐾) = (0.‘𝐾)
355, 28, 34, 7, 25lhpmat 40903 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊)) → (𝑇 𝑊) = (0.‘𝐾))
3632, 33, 35syl2anc 596 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑇 𝑊) = (0.‘𝐾))
3736oveq1d 7428 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑇 𝑊) 𝑉) = ((0.‘𝐾) 𝑉))
38 simp23r 1314 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 𝑊)
3912, 5, 6, 28, 7atmod4i1 40739 . . . . . 6 ((𝐾 ∈ HL ∧ (𝑉𝐴𝑇 ∈ (Base‘𝐾) ∧ 𝑊 ∈ (Base‘𝐾)) ∧ 𝑉 𝑊) → ((𝑇 𝑊) 𝑉) = ((𝑇 𝑉) 𝑊))
402, 4, 16, 27, 38, 39syl131anc 1410 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑇 𝑊) 𝑉) = ((𝑇 𝑉) 𝑊))
41 hlol 40234 . . . . . . 7 (𝐾 ∈ HL → 𝐾 ∈ OL)
422, 41syl 18 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ OL)
4312, 7atbase 40162 . . . . . . 7 (𝑉𝐴𝑉 ∈ (Base‘𝐾))
444, 43syl 18 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 ∈ (Base‘𝐾))
4512, 6, 34olj02 40099 . . . . . 6 ((𝐾 ∈ OL ∧ 𝑉 ∈ (Base‘𝐾)) → ((0.‘𝐾) 𝑉) = 𝑉)
4642, 44, 45syl2anc 596 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((0.‘𝐾) 𝑉) = 𝑉)
4737, 40, 463eqtr3d 2803 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑇 𝑉) 𝑊) = 𝑉)
4831, 47breqtrd 5131 . . 3 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) 𝑉)
49 hlatl 40233 . . . . 5 (𝐾 ∈ HL → 𝐾 ∈ AtLat)
502, 49syl 18 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ AtLat)
51 simp21r 1310 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ¬ 𝑆 𝑊)
52 simp3l 1220 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆𝑇)
535, 6, 28, 7, 25lhpat 40916 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴𝑆𝑇)) → ((𝑆 𝑇) 𝑊) ∈ 𝐴)
542, 24, 11, 51, 3, 52, 53syl222anc 1413 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) ∈ 𝐴)
555, 7atcmp 40184 . . . 4 ((𝐾 ∈ AtLat ∧ ((𝑆 𝑇) 𝑊) ∈ 𝐴𝑉𝐴) → (((𝑆 𝑇) 𝑊) 𝑉 ↔ ((𝑆 𝑇) 𝑊) = 𝑉))
5650, 54, 4, 55syl3anc 1398 . . 3 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (((𝑆 𝑇) 𝑊) 𝑉 ↔ ((𝑆 𝑇) 𝑊) = 𝑉))
5748, 56mpbid 235 . 2 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) = 𝑉)
5857eqcomd 2766 1 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 = ((𝑆 𝑇) 𝑊))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wb 209  wa 401  w3a 1103   = wceq 1570  wcel 2145  wne 2955   class class class wbr 5103  cfv 6533  (class class class)co 7413  Basecbs 17301  lecple 17349  joincjn 18399  meetcmee 18400  0.cp0 18509  Latclat 18519  OLcol 40047  Atomscatm 40136  AtLatcal 40137  HLchlt 40223  LHypclh 40857
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-rep 5232  ax-sep 5251  ax-nul 5263  ax-pow 5330  ax-pr 5398  ax-un 7736
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-iun 4953  df-iin 4954  df-br 5104  df-opab 5168  df-mpt 5187  df-id 5550  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-iota 6489  df-fun 6535  df-fn 6536  df-f 6537  df-f1 6538  df-fo 6539  df-f1o 6540  df-fv 6541  df-riota 7370  df-ov 7416  df-oprab 7417  df-mpo 7418  df-1st 7986  df-2nd 7987  df-proset 18382  df-poset 18401  df-plt 18416  df-lub 18432  df-glb 18433  df-join 18434  df-meet 18435  df-p0 18511  df-p1 18512  df-lat 18520  df-clat 18587  df-oposet 40049  df-ol 40051  df-oml 40052  df-covers 40139  df-ats 40140  df-atl 40171  df-cvlat 40195  df-hlat 40224  df-psubsp 40376  df-pmap 40377  df-padd 40669  df-lhyp 40861
This theorem is used by:  cdleme22g  41221
  Copyright terms: Public domain W3C validator