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 40803
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 1204 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆 (𝑇 𝑉))
2 simp1l 1199 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ HL)
3 simp22l 1294 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑇𝐴)
4 simp23l 1296 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉𝐴)
5 cdleme22.l . . . . . . . 8 = (le‘𝐾)
6 cdleme22.j . . . . . . . 8 = (join‘𝐾)
7 cdleme22.a . . . . . . . 8 𝐴 = (Atoms‘𝐾)
85, 6, 7hlatlej1 39835 . . . . . . 7 ((𝐾 ∈ HL ∧ 𝑇𝐴𝑉𝐴) → 𝑇 (𝑇 𝑉))
92, 3, 4, 8syl3anc 1374 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑇 (𝑇 𝑉))
102hllatd 39824 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ Lat)
11 simp21l 1292 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆𝐴)
12 eqid 2737 . . . . . . . . 9 (Base‘𝐾) = (Base‘𝐾)
1312, 7atbase 39749 . . . . . . . 8 (𝑆𝐴𝑆 ∈ (Base‘𝐾))
1411, 13syl 17 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆 ∈ (Base‘𝐾))
1512, 7atbase 39749 . . . . . . . 8 (𝑇𝐴𝑇 ∈ (Base‘𝐾))
163, 15syl 17 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑇 ∈ (Base‘𝐾))
1712, 6, 7hlatjcl 39827 . . . . . . . 8 ((𝐾 ∈ HL ∧ 𝑇𝐴𝑉𝐴) → (𝑇 𝑉) ∈ (Base‘𝐾))
182, 3, 4, 17syl3anc 1374 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑇 𝑉) ∈ (Base‘𝐾))
1912, 5, 6latjle12 18407 . . . . . . 7 ((𝐾 ∈ Lat ∧ (𝑆 ∈ (Base‘𝐾) ∧ 𝑇 ∈ (Base‘𝐾) ∧ (𝑇 𝑉) ∈ (Base‘𝐾))) → ((𝑆 (𝑇 𝑉) ∧ 𝑇 (𝑇 𝑉)) ↔ (𝑆 𝑇) (𝑇 𝑉)))
2010, 14, 16, 18, 19syl13anc 1375 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 (𝑇 𝑉) ∧ 𝑇 (𝑇 𝑉)) ↔ (𝑆 𝑇) (𝑇 𝑉)))
211, 9, 20mpbi2and 713 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑆 𝑇) (𝑇 𝑉))
2212, 6, 7hlatjcl 39827 . . . . . . 7 ((𝐾 ∈ HL ∧ 𝑆𝐴𝑇𝐴) → (𝑆 𝑇) ∈ (Base‘𝐾))
232, 11, 3, 22syl3anc 1374 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑆 𝑇) ∈ (Base‘𝐾))
24 simp1r 1200 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑊𝐻)
25 cdleme22.h . . . . . . . 8 𝐻 = (LHyp‘𝐾)
2612, 25lhpbase 40458 . . . . . . 7 (𝑊𝐻𝑊 ∈ (Base‘𝐾))
2724, 26syl 17 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑊 ∈ (Base‘𝐾))
28 cdleme22.m . . . . . . 7 = (meet‘𝐾)
2912, 5, 28latmlem1 18426 . . . . . 6 ((𝐾 ∈ Lat ∧ ((𝑆 𝑇) ∈ (Base‘𝐾) ∧ (𝑇 𝑉) ∈ (Base‘𝐾) ∧ 𝑊 ∈ (Base‘𝐾))) → ((𝑆 𝑇) (𝑇 𝑉) → ((𝑆 𝑇) 𝑊) ((𝑇 𝑉) 𝑊)))
3010, 23, 18, 27, 29syl13anc 1375 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) (𝑇 𝑉) → ((𝑆 𝑇) 𝑊) ((𝑇 𝑉) 𝑊)))
3121, 30mpd 15 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) ((𝑇 𝑉) 𝑊))
32 simp1 1137 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝐾 ∈ HL ∧ 𝑊𝐻))
33 simp22 1209 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑇𝐴 ∧ ¬ 𝑇 𝑊))
34 eqid 2737 . . . . . . . 8 (0.‘𝐾) = (0.‘𝐾)
355, 28, 34, 7, 25lhpmat 40490 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊)) → (𝑇 𝑊) = (0.‘𝐾))
3632, 33, 35syl2anc 585 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑇 𝑊) = (0.‘𝐾))
3736oveq1d 7375 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑇 𝑊) 𝑉) = ((0.‘𝐾) 𝑉))
38 simp23r 1297 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 𝑊)
3912, 5, 6, 28, 7atmod4i1 40326 . . . . . 6 ((𝐾 ∈ HL ∧ (𝑉𝐴𝑇 ∈ (Base‘𝐾) ∧ 𝑊 ∈ (Base‘𝐾)) ∧ 𝑉 𝑊) → ((𝑇 𝑊) 𝑉) = ((𝑇 𝑉) 𝑊))
402, 4, 16, 27, 38, 39syl131anc 1386 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑇 𝑊) 𝑉) = ((𝑇 𝑉) 𝑊))
41 hlol 39821 . . . . . . 7 (𝐾 ∈ HL → 𝐾 ∈ OL)
422, 41syl 17 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ OL)
4312, 7atbase 39749 . . . . . . 7 (𝑉𝐴𝑉 ∈ (Base‘𝐾))
444, 43syl 17 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 ∈ (Base‘𝐾))
4512, 6, 34olj02 39686 . . . . . 6 ((𝐾 ∈ OL ∧ 𝑉 ∈ (Base‘𝐾)) → ((0.‘𝐾) 𝑉) = 𝑉)
4642, 44, 45syl2anc 585 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((0.‘𝐾) 𝑉) = 𝑉)
4737, 40, 463eqtr3d 2780 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑇 𝑉) 𝑊) = 𝑉)
4831, 47breqtrd 5112 . . 3 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) 𝑉)
49 hlatl 39820 . . . . 5 (𝐾 ∈ HL → 𝐾 ∈ AtLat)
502, 49syl 17 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ AtLat)
51 simp21r 1293 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ¬ 𝑆 𝑊)
52 simp3l 1203 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆𝑇)
535, 6, 28, 7, 25lhpat 40503 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴𝑆𝑇)) → ((𝑆 𝑇) 𝑊) ∈ 𝐴)
542, 24, 11, 51, 3, 52, 53syl222anc 1389 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) ∈ 𝐴)
555, 7atcmp 39771 . . . 4 ((𝐾 ∈ AtLat ∧ ((𝑆 𝑇) 𝑊) ∈ 𝐴𝑉𝐴) → (((𝑆 𝑇) 𝑊) 𝑉 ↔ ((𝑆 𝑇) 𝑊) = 𝑉))
5650, 54, 4, 55syl3anc 1374 . . 3 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (((𝑆 𝑇) 𝑊) 𝑉 ↔ ((𝑆 𝑇) 𝑊) = 𝑉))
5748, 56mpbid 232 . 2 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) = 𝑉)
5857eqcomd 2743 1 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 = ((𝑆 𝑇) 𝑊))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395  w3a 1087   = wceq 1542  wcel 2114  wne 2933   class class class wbr 5086  cfv 6492  (class class class)co 7360  Basecbs 17170  lecple 17218  joincjn 18268  meetcmee 18269  0.cp0 18378  Latclat 18388  OLcol 39634  Atomscatm 39723  AtLatcal 39724  HLchlt 39810  LHypclh 40444
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 5212  ax-sep 5231  ax-nul 5241  ax-pow 5302  ax-pr 5370  ax-un 7682
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  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 3343  df-reu 3344  df-rab 3391  df-v 3432  df-sbc 3730  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-nul 4275  df-if 4468  df-pw 4544  df-sn 4569  df-pr 4571  df-op 4575  df-uni 4852  df-iun 4936  df-iin 4937  df-br 5087  df-opab 5149  df-mpt 5168  df-id 5519  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-riota 7317  df-ov 7363  df-oprab 7364  df-mpo 7365  df-1st 7935  df-2nd 7936  df-proset 18251  df-poset 18270  df-plt 18285  df-lub 18301  df-glb 18302  df-join 18303  df-meet 18304  df-p0 18380  df-p1 18381  df-lat 18389  df-clat 18456  df-oposet 39636  df-ol 39638  df-oml 39639  df-covers 39726  df-ats 39727  df-atl 39758  df-cvlat 39782  df-hlat 39811  df-psubsp 39963  df-pmap 39964  df-padd 40256  df-lhyp 40448
This theorem is referenced by:  cdleme22g  40808
  Copyright terms: Public domain W3C validator