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 40835
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 1209 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆 (𝑇 𝑉))
2 simp1l 1204 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ HL)
3 simp22l 1299 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑇𝐴)
4 simp23l 1301 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉𝐴)
5 cdleme22.l . . . . . . . 8 = (le‘𝐾)
6 cdleme22.j . . . . . . . 8 = (join‘𝐾)
7 cdleme22.a . . . . . . . 8 𝐴 = (Atoms‘𝐾)
85, 6, 7hlatlej1 39867 . . . . . . 7 ((𝐾 ∈ HL ∧ 𝑇𝐴𝑉𝐴) → 𝑇 (𝑇 𝑉))
92, 3, 4, 8syl3anc 1379 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑇 (𝑇 𝑉))
102hllatd 39856 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ Lat)
11 simp21l 1297 . . . . . . . 8 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆𝐴)
12 eqid 2739 . . . . . . . . 9 (Base‘𝐾) = (Base‘𝐾)
1312, 7atbase 39781 . . . . . . . 8 (𝑆𝐴𝑆 ∈ (Base‘𝐾))
1411, 13syl 17 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆 ∈ (Base‘𝐾))
1512, 7atbase 39781 . . . . . . . 8 (𝑇𝐴𝑇 ∈ (Base‘𝐾))
163, 15syl 17 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑇 ∈ (Base‘𝐾))
1712, 6, 7hlatjcl 39859 . . . . . . . 8 ((𝐾 ∈ HL ∧ 𝑇𝐴𝑉𝐴) → (𝑇 𝑉) ∈ (Base‘𝐾))
182, 3, 4, 17syl3anc 1379 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑇 𝑉) ∈ (Base‘𝐾))
1912, 5, 6latjle12 18407 . . . . . . 7 ((𝐾 ∈ Lat ∧ (𝑆 ∈ (Base‘𝐾) ∧ 𝑇 ∈ (Base‘𝐾) ∧ (𝑇 𝑉) ∈ (Base‘𝐾))) → ((𝑆 (𝑇 𝑉) ∧ 𝑇 (𝑇 𝑉)) ↔ (𝑆 𝑇) (𝑇 𝑉)))
2010, 14, 16, 18, 19syl13anc 1380 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 (𝑇 𝑉) ∧ 𝑇 (𝑇 𝑉)) ↔ (𝑆 𝑇) (𝑇 𝑉)))
211, 9, 20mpbi2and 718 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑆 𝑇) (𝑇 𝑉))
2212, 6, 7hlatjcl 39859 . . . . . . 7 ((𝐾 ∈ HL ∧ 𝑆𝐴𝑇𝐴) → (𝑆 𝑇) ∈ (Base‘𝐾))
232, 11, 3, 22syl3anc 1379 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑆 𝑇) ∈ (Base‘𝐾))
24 simp1r 1205 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑊𝐻)
25 cdleme22.h . . . . . . . 8 𝐻 = (LHyp‘𝐾)
2612, 25lhpbase 40490 . . . . . . 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 1380 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) (𝑇 𝑉) → ((𝑆 𝑇) 𝑊) ((𝑇 𝑉) 𝑊)))
3121, 30mpd 15 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) ((𝑇 𝑉) 𝑊))
32 simp1 1142 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝐾 ∈ HL ∧ 𝑊𝐻))
33 simp22 1214 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑇𝐴 ∧ ¬ 𝑇 𝑊))
34 eqid 2739 . . . . . . . 8 (0.‘𝐾) = (0.‘𝐾)
355, 28, 34, 7, 25lhpmat 40522 . . . . . . 7 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊)) → (𝑇 𝑊) = (0.‘𝐾))
3632, 33, 35syl2anc 590 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (𝑇 𝑊) = (0.‘𝐾))
3736oveq1d 7371 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑇 𝑊) 𝑉) = ((0.‘𝐾) 𝑉))
38 simp23r 1302 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 𝑊)
3912, 5, 6, 28, 7atmod4i1 40358 . . . . . 6 ((𝐾 ∈ HL ∧ (𝑉𝐴𝑇 ∈ (Base‘𝐾) ∧ 𝑊 ∈ (Base‘𝐾)) ∧ 𝑉 𝑊) → ((𝑇 𝑊) 𝑉) = ((𝑇 𝑉) 𝑊))
402, 4, 16, 27, 38, 39syl131anc 1391 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑇 𝑊) 𝑉) = ((𝑇 𝑉) 𝑊))
41 hlol 39853 . . . . . . 7 (𝐾 ∈ HL → 𝐾 ∈ OL)
422, 41syl 17 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ OL)
4312, 7atbase 39781 . . . . . . 7 (𝑉𝐴𝑉 ∈ (Base‘𝐾))
444, 43syl 17 . . . . . 6 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 ∈ (Base‘𝐾))
4512, 6, 34olj02 39718 . . . . . 6 ((𝐾 ∈ OL ∧ 𝑉 ∈ (Base‘𝐾)) → ((0.‘𝐾) 𝑉) = 𝑉)
4642, 44, 45syl2anc 590 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((0.‘𝐾) 𝑉) = 𝑉)
4737, 40, 463eqtr3d 2782 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑇 𝑉) 𝑊) = 𝑉)
4831, 47breqtrd 5098 . . 3 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) 𝑉)
49 hlatl 39852 . . . . 5 (𝐾 ∈ HL → 𝐾 ∈ AtLat)
502, 49syl 17 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝐾 ∈ AtLat)
51 simp21r 1298 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ¬ 𝑆 𝑊)
52 simp3l 1208 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑆𝑇)
535, 6, 28, 7, 25lhpat 40535 . . . . 5 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ (𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴𝑆𝑇)) → ((𝑆 𝑇) 𝑊) ∈ 𝐴)
542, 24, 11, 51, 3, 52, 53syl222anc 1394 . . . 4 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) ∈ 𝐴)
555, 7atcmp 39803 . . . 4 ((𝐾 ∈ AtLat ∧ ((𝑆 𝑇) 𝑊) ∈ 𝐴𝑉𝐴) → (((𝑆 𝑇) 𝑊) 𝑉 ↔ ((𝑆 𝑇) 𝑊) = 𝑉))
5650, 54, 4, 55syl3anc 1379 . . 3 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → (((𝑆 𝑇) 𝑊) 𝑉 ↔ ((𝑆 𝑇) 𝑊) = 𝑉))
5748, 56mpbid 233 . 2 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → ((𝑆 𝑇) 𝑊) = 𝑉)
5857eqcomd 2745 1 (((𝐾 ∈ HL ∧ 𝑊𝐻) ∧ ((𝑆𝐴 ∧ ¬ 𝑆 𝑊) ∧ (𝑇𝐴 ∧ ¬ 𝑇 𝑊) ∧ (𝑉𝐴𝑉 𝑊)) ∧ (𝑆𝑇𝑆 (𝑇 𝑉))) → 𝑉 = ((𝑆 𝑇) 𝑊))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 207  wa 396  w3a 1092   = wceq 1547  wcel 2119  wne 2934   class class class wbr 5072  cfv 6485  (class class class)co 7356  Basecbs 17170  lecple 17218  joincjn 18268  meetcmee 18269  0.cp0 18378  Latclat 18388  OLcol 39666  Atomscatm 39755  AtLatcal 39756  HLchlt 39842  LHypclh 40476
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2711  ax-rep 5199  ax-sep 5218  ax-nul 5228  ax-pow 5294  ax-pr 5362  ax-un 7678
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2718  df-cleq 2731  df-clel 2814  df-nfc 2888  df-ne 2935  df-ral 3054  df-rex 3064  df-rmo 3344  df-reu 3345  df-rab 3392  df-v 3433  df-sbc 3724  df-csb 3832  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-nul 4262  df-if 4455  df-pw 4531  df-sn 4556  df-pr 4558  df-op 4562  df-uni 4839  df-iun 4923  df-iin 4924  df-br 5073  df-opab 5135  df-mpt 5154  df-id 5513  df-xp 5624  df-rel 5625  df-cnv 5626  df-co 5627  df-dm 5628  df-rn 5629  df-res 5630  df-ima 5631  df-iota 6441  df-fun 6487  df-fn 6488  df-f 6489  df-f1 6490  df-fo 6491  df-f1o 6492  df-fv 6493  df-riota 7313  df-ov 7359  df-oprab 7360  df-mpo 7361  df-1st 7931  df-2nd 7932  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 39668  df-ol 39670  df-oml 39671  df-covers 39758  df-ats 39759  df-atl 39790  df-cvlat 39814  df-hlat 39843  df-psubsp 39995  df-pmap 39996  df-padd 40288  df-lhyp 40480
This theorem is referenced by:  cdleme22g  40840
  Copyright terms: Public domain W3C validator