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

Theorem cdlemg17a 40045
Description: TODO: FIX COMMENT. (Contributed by NM, 8-May-2013.)
Hypotheses
Ref Expression
cdlemg12.l ≀ = (leβ€˜πΎ)
cdlemg12.j ∨ = (joinβ€˜πΎ)
cdlemg12.m ∧ = (meetβ€˜πΎ)
cdlemg12.a 𝐴 = (Atomsβ€˜πΎ)
cdlemg12.h 𝐻 = (LHypβ€˜πΎ)
cdlemg12.t 𝑇 = ((LTrnβ€˜πΎ)β€˜π‘Š)
cdlemg12b.r 𝑅 = ((trLβ€˜πΎ)β€˜π‘Š)
Assertion
Ref Expression
cdlemg17a (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (πΊβ€˜π‘ƒ) ≀ (𝑃 ∨ 𝑄))

Proof of Theorem cdlemg17a
StepHypRef Expression
1 eqid 2726 . 2 (Baseβ€˜πΎ) = (Baseβ€˜πΎ)
2 cdlemg12.l . 2 ≀ = (leβ€˜πΎ)
3 simp1l 1194 . . 3 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ 𝐾 ∈ HL)
43hllatd 38747 . 2 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ 𝐾 ∈ Lat)
5 simp1 1133 . . . 4 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (𝐾 ∈ HL ∧ π‘Š ∈ 𝐻))
6 simp3l 1198 . . . 4 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ 𝐺 ∈ 𝑇)
7 simp2ll 1237 . . . 4 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ 𝑃 ∈ 𝐴)
8 cdlemg12.a . . . . 5 𝐴 = (Atomsβ€˜πΎ)
9 cdlemg12.h . . . . 5 𝐻 = (LHypβ€˜πΎ)
10 cdlemg12.t . . . . 5 𝑇 = ((LTrnβ€˜πΎ)β€˜π‘Š)
112, 8, 9, 10ltrnat 39524 . . . 4 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ 𝐺 ∈ 𝑇 ∧ 𝑃 ∈ 𝐴) β†’ (πΊβ€˜π‘ƒ) ∈ 𝐴)
125, 6, 7, 11syl3anc 1368 . . 3 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (πΊβ€˜π‘ƒ) ∈ 𝐴)
131, 8atbase 38672 . . 3 ((πΊβ€˜π‘ƒ) ∈ 𝐴 β†’ (πΊβ€˜π‘ƒ) ∈ (Baseβ€˜πΎ))
1412, 13syl 17 . 2 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (πΊβ€˜π‘ƒ) ∈ (Baseβ€˜πΎ))
15 cdlemg12.j . . . 4 ∨ = (joinβ€˜πΎ)
161, 15, 8hlatjcl 38750 . . 3 ((𝐾 ∈ HL ∧ 𝑃 ∈ 𝐴 ∧ (πΊβ€˜π‘ƒ) ∈ 𝐴) β†’ (𝑃 ∨ (πΊβ€˜π‘ƒ)) ∈ (Baseβ€˜πΎ))
173, 7, 12, 16syl3anc 1368 . 2 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (𝑃 ∨ (πΊβ€˜π‘ƒ)) ∈ (Baseβ€˜πΎ))
18 simp2rl 1239 . . 3 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ 𝑄 ∈ 𝐴)
191, 15, 8hlatjcl 38750 . . 3 ((𝐾 ∈ HL ∧ 𝑃 ∈ 𝐴 ∧ 𝑄 ∈ 𝐴) β†’ (𝑃 ∨ 𝑄) ∈ (Baseβ€˜πΎ))
203, 7, 18, 19syl3anc 1368 . 2 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (𝑃 ∨ 𝑄) ∈ (Baseβ€˜πΎ))
212, 15, 8hlatlej2 38759 . . 3 ((𝐾 ∈ HL ∧ 𝑃 ∈ 𝐴 ∧ (πΊβ€˜π‘ƒ) ∈ 𝐴) β†’ (πΊβ€˜π‘ƒ) ≀ (𝑃 ∨ (πΊβ€˜π‘ƒ)))
223, 7, 12, 21syl3anc 1368 . 2 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (πΊβ€˜π‘ƒ) ≀ (𝑃 ∨ (πΊβ€˜π‘ƒ)))
23 simp2l 1196 . . . 4 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š))
24 cdlemg12.m . . . . 5 ∧ = (meetβ€˜πΎ)
25 eqid 2726 . . . . 5 ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š) = ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š)
262, 15, 24, 8, 9, 25cdleme0cp 39598 . . . 4 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (πΊβ€˜π‘ƒ) ∈ 𝐴)) β†’ (𝑃 ∨ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š)) = (𝑃 ∨ (πΊβ€˜π‘ƒ)))
275, 23, 12, 26syl12anc 834 . . 3 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (𝑃 ∨ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š)) = (𝑃 ∨ (πΊβ€˜π‘ƒ)))
282, 15, 8hlatlej1 38758 . . . . 5 ((𝐾 ∈ HL ∧ 𝑃 ∈ 𝐴 ∧ 𝑄 ∈ 𝐴) β†’ 𝑃 ≀ (𝑃 ∨ 𝑄))
293, 7, 18, 28syl3anc 1368 . . . 4 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ 𝑃 ≀ (𝑃 ∨ 𝑄))
30 cdlemg12b.r . . . . . . 7 𝑅 = ((trLβ€˜πΎ)β€˜π‘Š)
312, 15, 24, 8, 9, 10, 30trlval2 39547 . . . . . 6 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ 𝐺 ∈ 𝑇 ∧ (𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š)) β†’ (π‘…β€˜πΊ) = ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š))
325, 6, 23, 31syl3anc 1368 . . . . 5 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (π‘…β€˜πΊ) = ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š))
33 simp3r 1199 . . . . 5 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))
3432, 33eqbrtrrd 5165 . . . 4 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š) ≀ (𝑃 ∨ 𝑄))
351, 8atbase 38672 . . . . . 6 (𝑃 ∈ 𝐴 β†’ 𝑃 ∈ (Baseβ€˜πΎ))
367, 35syl 17 . . . . 5 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ 𝑃 ∈ (Baseβ€˜πΎ))
37 simp1r 1195 . . . . . . 7 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ π‘Š ∈ 𝐻)
381, 9lhpbase 39382 . . . . . . 7 (π‘Š ∈ 𝐻 β†’ π‘Š ∈ (Baseβ€˜πΎ))
3937, 38syl 17 . . . . . 6 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ π‘Š ∈ (Baseβ€˜πΎ))
401, 24latmcl 18405 . . . . . 6 ((𝐾 ∈ Lat ∧ (𝑃 ∨ (πΊβ€˜π‘ƒ)) ∈ (Baseβ€˜πΎ) ∧ π‘Š ∈ (Baseβ€˜πΎ)) β†’ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š) ∈ (Baseβ€˜πΎ))
414, 17, 39, 40syl3anc 1368 . . . . 5 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š) ∈ (Baseβ€˜πΎ))
421, 2, 15latjle12 18415 . . . . 5 ((𝐾 ∈ Lat ∧ (𝑃 ∈ (Baseβ€˜πΎ) ∧ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š) ∈ (Baseβ€˜πΎ) ∧ (𝑃 ∨ 𝑄) ∈ (Baseβ€˜πΎ))) β†’ ((𝑃 ≀ (𝑃 ∨ 𝑄) ∧ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š) ≀ (𝑃 ∨ 𝑄)) ↔ (𝑃 ∨ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š)) ≀ (𝑃 ∨ 𝑄)))
434, 36, 41, 20, 42syl13anc 1369 . . . 4 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ ((𝑃 ≀ (𝑃 ∨ 𝑄) ∧ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š) ≀ (𝑃 ∨ 𝑄)) ↔ (𝑃 ∨ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š)) ≀ (𝑃 ∨ 𝑄)))
4429, 34, 43mpbi2and 709 . . 3 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (𝑃 ∨ ((𝑃 ∨ (πΊβ€˜π‘ƒ)) ∧ π‘Š)) ≀ (𝑃 ∨ 𝑄))
4527, 44eqbrtrrd 5165 . 2 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (𝑃 ∨ (πΊβ€˜π‘ƒ)) ≀ (𝑃 ∨ 𝑄))
461, 2, 4, 14, 17, 20, 22, 45lattrd 18411 1 (((𝐾 ∈ HL ∧ π‘Š ∈ 𝐻) ∧ ((𝑃 ∈ 𝐴 ∧ Β¬ 𝑃 ≀ π‘Š) ∧ (𝑄 ∈ 𝐴 ∧ Β¬ 𝑄 ≀ π‘Š)) ∧ (𝐺 ∈ 𝑇 ∧ (π‘…β€˜πΊ) ≀ (𝑃 ∨ 𝑄))) β†’ (πΊβ€˜π‘ƒ) ≀ (𝑃 ∨ 𝑄))
Colors of variables: wff setvar class
Syntax hints:  Β¬ wn 3   β†’ wi 4   ↔ wb 205   ∧ wa 395   ∧ w3a 1084   = wceq 1533   ∈ wcel 2098   class class class wbr 5141  β€˜cfv 6537  (class class class)co 7405  Basecbs 17153  lecple 17213  joincjn 18276  meetcmee 18277  Latclat 18396  Atomscatm 38646  HLchlt 38733  LHypclh 39368  LTrncltrn 39485  trLctrl 39542
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1905  ax-6 1963  ax-7 2003  ax-8 2100  ax-9 2108  ax-10 2129  ax-11 2146  ax-12 2163  ax-ext 2697  ax-rep 5278  ax-sep 5292  ax-nul 5299  ax-pow 5356  ax-pr 5420  ax-un 7722
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 845  df-3an 1086  df-tru 1536  df-fal 1546  df-ex 1774  df-nf 1778  df-sb 2060  df-mo 2528  df-eu 2557  df-clab 2704  df-cleq 2718  df-clel 2804  df-nfc 2879  df-ne 2935  df-ral 3056  df-rex 3065  df-rmo 3370  df-reu 3371  df-rab 3427  df-v 3470  df-sbc 3773  df-csb 3889  df-dif 3946  df-un 3948  df-in 3950  df-ss 3960  df-nul 4318  df-if 4524  df-pw 4599  df-sn 4624  df-pr 4626  df-op 4630  df-uni 4903  df-iun 4992  df-iin 4993  df-br 5142  df-opab 5204  df-mpt 5225  df-id 5567  df-xp 5675  df-rel 5676  df-cnv 5677  df-co 5678  df-dm 5679  df-rn 5680  df-res 5681  df-ima 5682  df-iota 6489  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-riota 7361  df-ov 7408  df-oprab 7409  df-mpo 7410  df-1st 7974  df-2nd 7975  df-map 8824  df-proset 18260  df-poset 18278  df-plt 18295  df-lub 18311  df-glb 18312  df-join 18313  df-meet 18314  df-p0 18390  df-p1 18391  df-lat 18397  df-clat 18464  df-oposet 38559  df-ol 38561  df-oml 38562  df-covers 38649  df-ats 38650  df-atl 38681  df-cvlat 38705  df-hlat 38734  df-psubsp 38887  df-pmap 38888  df-padd 39180  df-lhyp 39372  df-laut 39373  df-ldil 39488  df-ltrn 39489  df-trl 39543
This theorem is referenced by:  cdlemg17b  40046
  Copyright terms: Public domain W3C validator