Users' Mathboxes Mathbox for Stefan O'Rear < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  isnumbasgrplem2 Structured version   Visualization version   GIF version

Theorem isnumbasgrplem2 41832
Description: If the (to be thought of as disjoint, although the proof does not require this) union of a set and its Hartogs number supports a group structure (more generally, a cancellative magma), then the set must be numerable. (Contributed by Stefan O'Rear, 9-Jul-2015.)
Assertion
Ref Expression
isnumbasgrplem2 ((𝑆 βˆͺ (harβ€˜π‘†)) ∈ (Base β€œ Grp) β†’ 𝑆 ∈ dom card)

Proof of Theorem isnumbasgrplem2
Dummy variables π‘Ž 𝑏 𝑐 𝑑 π‘₯ are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 basfn 17145 . . 3 Base Fn V
2 ssv 4006 . . 3 Grp βŠ† V
3 fvelimab 6962 . . 3 ((Base Fn V ∧ Grp βŠ† V) β†’ ((𝑆 βˆͺ (harβ€˜π‘†)) ∈ (Base β€œ Grp) ↔ βˆƒπ‘₯ ∈ Grp (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))))
41, 2, 3mp2an 691 . 2 ((𝑆 βˆͺ (harβ€˜π‘†)) ∈ (Base β€œ Grp) ↔ βˆƒπ‘₯ ∈ Grp (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†)))
5 harcl 9551 . . . . . 6 (harβ€˜π‘†) ∈ On
6 onenon 9941 . . . . . 6 ((harβ€˜π‘†) ∈ On β†’ (harβ€˜π‘†) ∈ dom card)
75, 6ax-mp 5 . . . . 5 (harβ€˜π‘†) ∈ dom card
8 xpnum 9943 . . . . 5 (((harβ€˜π‘†) ∈ dom card ∧ (harβ€˜π‘†) ∈ dom card) β†’ ((harβ€˜π‘†) Γ— (harβ€˜π‘†)) ∈ dom card)
97, 7, 8mp2an 691 . . . 4 ((harβ€˜π‘†) Γ— (harβ€˜π‘†)) ∈ dom card
10 ssun1 4172 . . . . . . . 8 𝑆 βŠ† (𝑆 βˆͺ (harβ€˜π‘†))
11 simpr 486 . . . . . . . 8 ((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) β†’ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†)))
1210, 11sseqtrrid 4035 . . . . . . 7 ((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) β†’ 𝑆 βŠ† (Baseβ€˜π‘₯))
13 fvex 6902 . . . . . . . 8 (Baseβ€˜π‘₯) ∈ V
1413ssex 5321 . . . . . . 7 (𝑆 βŠ† (Baseβ€˜π‘₯) β†’ 𝑆 ∈ V)
1512, 14syl 17 . . . . . 6 ((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) β†’ 𝑆 ∈ V)
167a1i 11 . . . . . 6 ((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) β†’ (harβ€˜π‘†) ∈ dom card)
17 simp1l 1198 . . . . . . . 8 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ π‘₯ ∈ Grp)
18123ad2ant1 1134 . . . . . . . . 9 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ 𝑆 βŠ† (Baseβ€˜π‘₯))
19 simp2 1138 . . . . . . . . 9 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ π‘Ž ∈ 𝑆)
2018, 19sseldd 3983 . . . . . . . 8 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ π‘Ž ∈ (Baseβ€˜π‘₯))
21 ssun2 4173 . . . . . . . . . . 11 (harβ€˜π‘†) βŠ† (𝑆 βˆͺ (harβ€˜π‘†))
2221, 11sseqtrrid 4035 . . . . . . . . . 10 ((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) β†’ (harβ€˜π‘†) βŠ† (Baseβ€˜π‘₯))
23223ad2ant1 1134 . . . . . . . . 9 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ (harβ€˜π‘†) βŠ† (Baseβ€˜π‘₯))
24 simp3 1139 . . . . . . . . 9 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ 𝑐 ∈ (harβ€˜π‘†))
2523, 24sseldd 3983 . . . . . . . 8 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ 𝑐 ∈ (Baseβ€˜π‘₯))
26 eqid 2733 . . . . . . . . 9 (Baseβ€˜π‘₯) = (Baseβ€˜π‘₯)
27 eqid 2733 . . . . . . . . 9 (+gβ€˜π‘₯) = (+gβ€˜π‘₯)
2826, 27grpcl 18824 . . . . . . . 8 ((π‘₯ ∈ Grp ∧ π‘Ž ∈ (Baseβ€˜π‘₯) ∧ 𝑐 ∈ (Baseβ€˜π‘₯)) β†’ (π‘Ž(+gβ€˜π‘₯)𝑐) ∈ (Baseβ€˜π‘₯))
2917, 20, 25, 28syl3anc 1372 . . . . . . 7 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ (π‘Ž(+gβ€˜π‘₯)𝑐) ∈ (Baseβ€˜π‘₯))
30 simp1r 1199 . . . . . . 7 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†)))
3129, 30eleqtrd 2836 . . . . . 6 (((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆 ∧ 𝑐 ∈ (harβ€˜π‘†)) β†’ (π‘Ž(+gβ€˜π‘₯)𝑐) ∈ (𝑆 βˆͺ (harβ€˜π‘†)))
32 simplll 774 . . . . . . 7 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ π‘₯ ∈ Grp)
3322ad2antrr 725 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ (harβ€˜π‘†) βŠ† (Baseβ€˜π‘₯))
34 simprl 770 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ 𝑐 ∈ (harβ€˜π‘†))
3533, 34sseldd 3983 . . . . . . 7 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ 𝑐 ∈ (Baseβ€˜π‘₯))
36 simprr 772 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ 𝑑 ∈ (harβ€˜π‘†))
3733, 36sseldd 3983 . . . . . . 7 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ 𝑑 ∈ (Baseβ€˜π‘₯))
3812ad2antrr 725 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ 𝑆 βŠ† (Baseβ€˜π‘₯))
39 simplr 768 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ π‘Ž ∈ 𝑆)
4038, 39sseldd 3983 . . . . . . 7 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ π‘Ž ∈ (Baseβ€˜π‘₯))
4126, 27grplcan 18882 . . . . . . 7 ((π‘₯ ∈ Grp ∧ (𝑐 ∈ (Baseβ€˜π‘₯) ∧ 𝑑 ∈ (Baseβ€˜π‘₯) ∧ π‘Ž ∈ (Baseβ€˜π‘₯))) β†’ ((π‘Ž(+gβ€˜π‘₯)𝑐) = (π‘Ž(+gβ€˜π‘₯)𝑑) ↔ 𝑐 = 𝑑))
4232, 35, 37, 40, 41syl13anc 1373 . . . . . 6 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ π‘Ž ∈ 𝑆) ∧ (𝑐 ∈ (harβ€˜π‘†) ∧ 𝑑 ∈ (harβ€˜π‘†))) β†’ ((π‘Ž(+gβ€˜π‘₯)𝑐) = (π‘Ž(+gβ€˜π‘₯)𝑑) ↔ 𝑐 = 𝑑))
43 simplll 774 . . . . . . 7 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ π‘₯ ∈ Grp)
4412ad2antrr 725 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ 𝑆 βŠ† (Baseβ€˜π‘₯))
45 simprr 772 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ 𝑑 ∈ 𝑆)
4644, 45sseldd 3983 . . . . . . 7 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ 𝑑 ∈ (Baseβ€˜π‘₯))
47 simprl 770 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ π‘Ž ∈ 𝑆)
4844, 47sseldd 3983 . . . . . . 7 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ π‘Ž ∈ (Baseβ€˜π‘₯))
4922ad2antrr 725 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ (harβ€˜π‘†) βŠ† (Baseβ€˜π‘₯))
50 simplr 768 . . . . . . . 8 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ 𝑏 ∈ (harβ€˜π‘†))
5149, 50sseldd 3983 . . . . . . 7 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ 𝑏 ∈ (Baseβ€˜π‘₯))
5226, 27grprcan 18855 . . . . . . 7 ((π‘₯ ∈ Grp ∧ (𝑑 ∈ (Baseβ€˜π‘₯) ∧ π‘Ž ∈ (Baseβ€˜π‘₯) ∧ 𝑏 ∈ (Baseβ€˜π‘₯))) β†’ ((𝑑(+gβ€˜π‘₯)𝑏) = (π‘Ž(+gβ€˜π‘₯)𝑏) ↔ 𝑑 = π‘Ž))
5343, 46, 48, 51, 52syl13anc 1373 . . . . . 6 ((((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) ∧ 𝑏 ∈ (harβ€˜π‘†)) ∧ (π‘Ž ∈ 𝑆 ∧ 𝑑 ∈ 𝑆)) β†’ ((𝑑(+gβ€˜π‘₯)𝑏) = (π‘Ž(+gβ€˜π‘₯)𝑏) ↔ 𝑑 = π‘Ž))
54 harndom 9554 . . . . . . 7 Β¬ (harβ€˜π‘†) β‰Ό 𝑆
5554a1i 11 . . . . . 6 ((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) β†’ Β¬ (harβ€˜π‘†) β‰Ό 𝑆)
5615, 16, 16, 31, 42, 53, 55unxpwdom3 41823 . . . . 5 ((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) β†’ 𝑆 β‰Ό* ((harβ€˜π‘†) Γ— (harβ€˜π‘†)))
57 wdomnumr 10056 . . . . . 6 (((harβ€˜π‘†) Γ— (harβ€˜π‘†)) ∈ dom card β†’ (𝑆 β‰Ό* ((harβ€˜π‘†) Γ— (harβ€˜π‘†)) ↔ 𝑆 β‰Ό ((harβ€˜π‘†) Γ— (harβ€˜π‘†))))
589, 57ax-mp 5 . . . . 5 (𝑆 β‰Ό* ((harβ€˜π‘†) Γ— (harβ€˜π‘†)) ↔ 𝑆 β‰Ό ((harβ€˜π‘†) Γ— (harβ€˜π‘†)))
5956, 58sylib 217 . . . 4 ((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) β†’ 𝑆 β‰Ό ((harβ€˜π‘†) Γ— (harβ€˜π‘†)))
60 numdom 10030 . . . 4 ((((harβ€˜π‘†) Γ— (harβ€˜π‘†)) ∈ dom card ∧ 𝑆 β‰Ό ((harβ€˜π‘†) Γ— (harβ€˜π‘†))) β†’ 𝑆 ∈ dom card)
619, 59, 60sylancr 588 . . 3 ((π‘₯ ∈ Grp ∧ (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†))) β†’ 𝑆 ∈ dom card)
6261rexlimiva 3148 . 2 (βˆƒπ‘₯ ∈ Grp (Baseβ€˜π‘₯) = (𝑆 βˆͺ (harβ€˜π‘†)) β†’ 𝑆 ∈ dom card)
634, 62sylbi 216 1 ((𝑆 βˆͺ (harβ€˜π‘†)) ∈ (Base β€œ Grp) β†’ 𝑆 ∈ dom card)
Colors of variables: wff setvar class
Syntax hints:  Β¬ wn 3   β†’ wi 4   ↔ wb 205   ∧ wa 397   ∧ w3a 1088   = wceq 1542   ∈ wcel 2107  βˆƒwrex 3071  Vcvv 3475   βˆͺ cun 3946   βŠ† wss 3948   class class class wbr 5148   Γ— cxp 5674  dom cdm 5676   β€œ cima 5679  Oncon0 6362   Fn wfn 6536  β€˜cfv 6541  (class class class)co 7406   β‰Ό cdom 8934  harchar 9548   β‰Ό* cwdom 9556  cardccrd 9927  Basecbs 17141  +gcplusg 17194  Grpcgrp 18816
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2109  ax-9 2117  ax-10 2138  ax-11 2155  ax-12 2172  ax-ext 2704  ax-rep 5285  ax-sep 5299  ax-nul 5306  ax-pow 5363  ax-pr 5427  ax-un 7722  ax-cnex 11163  ax-1cn 11165  ax-addcl 11167
This theorem depends on definitions:  df-bi 206  df-an 398  df-or 847  df-3or 1089  df-3an 1090  df-tru 1545  df-fal 1555  df-ex 1783  df-nf 1787  df-sb 2069  df-mo 2535  df-eu 2564  df-clab 2711  df-cleq 2725  df-clel 2811  df-nfc 2886  df-ne 2942  df-ral 3063  df-rex 3072  df-rmo 3377  df-reu 3378  df-rab 3434  df-v 3477  df-sbc 3778  df-csb 3894  df-dif 3951  df-un 3953  df-in 3955  df-ss 3965  df-pss 3967  df-nul 4323  df-if 4529  df-pw 4604  df-sn 4629  df-pr 4631  df-op 4635  df-uni 4909  df-int 4951  df-iun 4999  df-br 5149  df-opab 5211  df-mpt 5232  df-tr 5266  df-id 5574  df-eprel 5580  df-po 5588  df-so 5589  df-fr 5631  df-se 5632  df-we 5633  df-xp 5682  df-rel 5683  df-cnv 5684  df-co 5685  df-dm 5686  df-rn 5687  df-res 5688  df-ima 5689  df-pred 6298  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6493  df-fun 6543  df-fn 6544  df-f 6545  df-f1 6546  df-fo 6547  df-f1o 6548  df-fv 6549  df-isom 6550  df-riota 7362  df-ov 7409  df-oprab 7410  df-mpo 7411  df-om 7853  df-1st 7972  df-2nd 7973  df-frecs 8263  df-wrecs 8294  df-recs 8368  df-rdg 8407  df-1o 8463  df-oadd 8467  df-omul 8468  df-er 8700  df-map 8819  df-en 8937  df-dom 8938  df-sdom 8939  df-oi 9502  df-har 9549  df-wdom 9557  df-card 9931  df-acn 9934  df-nn 12210  df-slot 17112  df-ndx 17124  df-base 17142  df-0g 17384  df-mgm 18558  df-sgrp 18607  df-mnd 18623  df-grp 18819  df-minusg 18820
This theorem is referenced by:  isnumbasabl  41834  isnumbasgrp  41835
  Copyright terms: Public domain W3C validator