MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  efopnlem2 Structured version   Visualization version   GIF version

Theorem efopnlem2 24926
Description: Lemma for efopn 24927. (Contributed by Mario Carneiro, 2-May-2015.)
Hypothesis
Ref Expression
efopn.j 𝐽 = (TopOpen‘ℂfld)
Assertion
Ref Expression
efopnlem2 ((𝑅 ∈ ℝ+𝑅 < π) → (exp “ (0(ball‘(abs ∘ − ))𝑅)) ∈ 𝐽)

Proof of Theorem efopnlem2
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 logf1o 24834 . . . . . . . 8 log:(ℂ ∖ {0})–1-1-onto→ran log
2 f1orn 6498 . . . . . . . . 9 (log:(ℂ ∖ {0})–1-1-onto→ran log ↔ (log Fn (ℂ ∖ {0}) ∧ Fun log))
32simprbi 497 . . . . . . . 8 (log:(ℂ ∖ {0})–1-1-onto→ran log → Fun log)
4 funcnvres 6307 . . . . . . . 8 (Fun log → (log ↾ (ℂ ∖ (-∞(,]0))) = (log ↾ (log “ (ℂ ∖ (-∞(,]0)))))
51, 3, 4mp2b 10 . . . . . . 7 (log ↾ (ℂ ∖ (-∞(,]0))) = (log ↾ (log “ (ℂ ∖ (-∞(,]0))))
6 df-log 24826 . . . . . . . . . 10 log = (exp ↾ (ℑ “ (-π(,]π)))
76cnveqi 5636 . . . . . . . . 9 log = (exp ↾ (ℑ “ (-π(,]π)))
8 relres 5768 . . . . . . . . . 10 Rel (exp ↾ (ℑ “ (-π(,]π)))
9 dfrel2 5927 . . . . . . . . . 10 (Rel (exp ↾ (ℑ “ (-π(,]π))) ↔ (exp ↾ (ℑ “ (-π(,]π))) = (exp ↾ (ℑ “ (-π(,]π))))
108, 9mpbi 231 . . . . . . . . 9 (exp ↾ (ℑ “ (-π(,]π))) = (exp ↾ (ℑ “ (-π(,]π)))
117, 10eqtri 2819 . . . . . . . 8 log = (exp ↾ (ℑ “ (-π(,]π)))
1211reseq1i 5735 . . . . . . 7 (log ↾ (log “ (ℂ ∖ (-∞(,]0)))) = ((exp ↾ (ℑ “ (-π(,]π))) ↾ (log “ (ℂ ∖ (-∞(,]0))))
13 imassrn 5822 . . . . . . . . 9 (log “ (ℂ ∖ (-∞(,]0))) ⊆ ran log
14 logrn 24828 . . . . . . . . 9 ran log = (ℑ “ (-π(,]π))
1513, 14sseqtri 3928 . . . . . . . 8 (log “ (ℂ ∖ (-∞(,]0))) ⊆ (ℑ “ (-π(,]π))
16 resabs1 5769 . . . . . . . 8 ((log “ (ℂ ∖ (-∞(,]0))) ⊆ (ℑ “ (-π(,]π)) → ((exp ↾ (ℑ “ (-π(,]π))) ↾ (log “ (ℂ ∖ (-∞(,]0)))) = (exp ↾ (log “ (ℂ ∖ (-∞(,]0)))))
1715, 16ax-mp 5 . . . . . . 7 ((exp ↾ (ℑ “ (-π(,]π))) ↾ (log “ (ℂ ∖ (-∞(,]0)))) = (exp ↾ (log “ (ℂ ∖ (-∞(,]0))))
185, 12, 173eqtri 2823 . . . . . 6 (log ↾ (ℂ ∖ (-∞(,]0))) = (exp ↾ (log “ (ℂ ∖ (-∞(,]0))))
1918imaeq1i 5808 . . . . 5 ((log ↾ (ℂ ∖ (-∞(,]0))) “ (0(ball‘(abs ∘ − ))𝑅)) = ((exp ↾ (log “ (ℂ ∖ (-∞(,]0)))) “ (0(ball‘(abs ∘ − ))𝑅))
20 cnxmet 23069 . . . . . . . . . . . 12 (abs ∘ − ) ∈ (∞Met‘ℂ)
21 0cnd 10485 . . . . . . . . . . . 12 ((𝑅 ∈ ℝ+𝑅 < π) → 0 ∈ ℂ)
22 rpxr 12253 . . . . . . . . . . . . 13 (𝑅 ∈ ℝ+𝑅 ∈ ℝ*)
2322adantr 481 . . . . . . . . . . . 12 ((𝑅 ∈ ℝ+𝑅 < π) → 𝑅 ∈ ℝ*)
24 blssm 22716 . . . . . . . . . . . 12 (((abs ∘ − ) ∈ (∞Met‘ℂ) ∧ 0 ∈ ℂ ∧ 𝑅 ∈ ℝ*) → (0(ball‘(abs ∘ − ))𝑅) ⊆ ℂ)
2520, 21, 23, 24mp3an2i 1458 . . . . . . . . . . 11 ((𝑅 ∈ ℝ+𝑅 < π) → (0(ball‘(abs ∘ − ))𝑅) ⊆ ℂ)
2625sselda 3893 . . . . . . . . . 10 (((𝑅 ∈ ℝ+𝑅 < π) ∧ 𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅)) → 𝑥 ∈ ℂ)
2726imcld 14393 . . . . . . . . . . 11 (((𝑅 ∈ ℝ+𝑅 < π) ∧ 𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅)) → (ℑ‘𝑥) ∈ ℝ)
28 efopnlem1 24925 . . . . . . . . . . . . 13 (((𝑅 ∈ ℝ+𝑅 < π) ∧ 𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅)) → (abs‘(ℑ‘𝑥)) < π)
29 pire 24732 . . . . . . . . . . . . . 14 π ∈ ℝ
30 abslt 14513 . . . . . . . . . . . . . 14 (((ℑ‘𝑥) ∈ ℝ ∧ π ∈ ℝ) → ((abs‘(ℑ‘𝑥)) < π ↔ (-π < (ℑ‘𝑥) ∧ (ℑ‘𝑥) < π)))
3127, 29, 30sylancl 586 . . . . . . . . . . . . 13 (((𝑅 ∈ ℝ+𝑅 < π) ∧ 𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅)) → ((abs‘(ℑ‘𝑥)) < π ↔ (-π < (ℑ‘𝑥) ∧ (ℑ‘𝑥) < π)))
3228, 31mpbid 233 . . . . . . . . . . . 12 (((𝑅 ∈ ℝ+𝑅 < π) ∧ 𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅)) → (-π < (ℑ‘𝑥) ∧ (ℑ‘𝑥) < π))
3332simpld 495 . . . . . . . . . . 11 (((𝑅 ∈ ℝ+𝑅 < π) ∧ 𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅)) → -π < (ℑ‘𝑥))
3432simprd 496 . . . . . . . . . . 11 (((𝑅 ∈ ℝ+𝑅 < π) ∧ 𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅)) → (ℑ‘𝑥) < π)
3529renegcli 10800 . . . . . . . . . . . . 13 -π ∈ ℝ
3635rexri 10551 . . . . . . . . . . . 12 -π ∈ ℝ*
3729rexri 10551 . . . . . . . . . . . 12 π ∈ ℝ*
38 elioo2 12634 . . . . . . . . . . . 12 ((-π ∈ ℝ* ∧ π ∈ ℝ*) → ((ℑ‘𝑥) ∈ (-π(,)π) ↔ ((ℑ‘𝑥) ∈ ℝ ∧ -π < (ℑ‘𝑥) ∧ (ℑ‘𝑥) < π)))
3936, 37, 38mp2an 688 . . . . . . . . . . 11 ((ℑ‘𝑥) ∈ (-π(,)π) ↔ ((ℑ‘𝑥) ∈ ℝ ∧ -π < (ℑ‘𝑥) ∧ (ℑ‘𝑥) < π))
4027, 33, 34, 39syl3anbrc 1336 . . . . . . . . . 10 (((𝑅 ∈ ℝ+𝑅 < π) ∧ 𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅)) → (ℑ‘𝑥) ∈ (-π(,)π))
41 imf 14311 . . . . . . . . . . 11 ℑ:ℂ⟶ℝ
42 ffn 6387 . . . . . . . . . . 11 (ℑ:ℂ⟶ℝ → ℑ Fn ℂ)
43 elpreima 6698 . . . . . . . . . . 11 (ℑ Fn ℂ → (𝑥 ∈ (ℑ “ (-π(,)π)) ↔ (𝑥 ∈ ℂ ∧ (ℑ‘𝑥) ∈ (-π(,)π))))
4441, 42, 43mp2b 10 . . . . . . . . . 10 (𝑥 ∈ (ℑ “ (-π(,)π)) ↔ (𝑥 ∈ ℂ ∧ (ℑ‘𝑥) ∈ (-π(,)π)))
4526, 40, 44sylanbrc 583 . . . . . . . . 9 (((𝑅 ∈ ℝ+𝑅 < π) ∧ 𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅)) → 𝑥 ∈ (ℑ “ (-π(,)π)))
4645ex 413 . . . . . . . 8 ((𝑅 ∈ ℝ+𝑅 < π) → (𝑥 ∈ (0(ball‘(abs ∘ − ))𝑅) → 𝑥 ∈ (ℑ “ (-π(,)π))))
4746ssrdv 3899 . . . . . . 7 ((𝑅 ∈ ℝ+𝑅 < π) → (0(ball‘(abs ∘ − ))𝑅) ⊆ (ℑ “ (-π(,)π)))
48 df-ima 5461 . . . . . . . 8 (log “ (ℂ ∖ (-∞(,]0))) = ran (log ↾ (ℂ ∖ (-∞(,]0)))
49 eqid 2795 . . . . . . . . . 10 (ℂ ∖ (-∞(,]0)) = (ℂ ∖ (-∞(,]0))
5049logf1o2 24919 . . . . . . . . 9 (log ↾ (ℂ ∖ (-∞(,]0))):(ℂ ∖ (-∞(,]0))–1-1-onto→(ℑ “ (-π(,)π))
51 f1ofo 6495 . . . . . . . . 9 ((log ↾ (ℂ ∖ (-∞(,]0))):(ℂ ∖ (-∞(,]0))–1-1-onto→(ℑ “ (-π(,)π)) → (log ↾ (ℂ ∖ (-∞(,]0))):(ℂ ∖ (-∞(,]0))–onto→(ℑ “ (-π(,)π)))
52 forn 6466 . . . . . . . . 9 ((log ↾ (ℂ ∖ (-∞(,]0))):(ℂ ∖ (-∞(,]0))–onto→(ℑ “ (-π(,)π)) → ran (log ↾ (ℂ ∖ (-∞(,]0))) = (ℑ “ (-π(,)π)))
5350, 51, 52mp2b 10 . . . . . . . 8 ran (log ↾ (ℂ ∖ (-∞(,]0))) = (ℑ “ (-π(,)π))
5448, 53eqtri 2819 . . . . . . 7 (log “ (ℂ ∖ (-∞(,]0))) = (ℑ “ (-π(,)π))
5547, 54syl6sseqr 3943 . . . . . 6 ((𝑅 ∈ ℝ+𝑅 < π) → (0(ball‘(abs ∘ − ))𝑅) ⊆ (log “ (ℂ ∖ (-∞(,]0))))
56 resima2 5774 . . . . . 6 ((0(ball‘(abs ∘ − ))𝑅) ⊆ (log “ (ℂ ∖ (-∞(,]0))) → ((exp ↾ (log “ (ℂ ∖ (-∞(,]0)))) “ (0(ball‘(abs ∘ − ))𝑅)) = (exp “ (0(ball‘(abs ∘ − ))𝑅)))
5755, 56syl 17 . . . . 5 ((𝑅 ∈ ℝ+𝑅 < π) → ((exp ↾ (log “ (ℂ ∖ (-∞(,]0)))) “ (0(ball‘(abs ∘ − ))𝑅)) = (exp “ (0(ball‘(abs ∘ − ))𝑅)))
5819, 57syl5eq 2843 . . . 4 ((𝑅 ∈ ℝ+𝑅 < π) → ((log ↾ (ℂ ∖ (-∞(,]0))) “ (0(ball‘(abs ∘ − ))𝑅)) = (exp “ (0(ball‘(abs ∘ − ))𝑅)))
5949logcn 24916 . . . . . 6 (log ↾ (ℂ ∖ (-∞(,]0))) ∈ ((ℂ ∖ (-∞(,]0))–cn→ℂ)
60 difss 4033 . . . . . . 7 (ℂ ∖ (-∞(,]0)) ⊆ ℂ
61 ssid 3914 . . . . . . 7 ℂ ⊆ ℂ
62 efopn.j . . . . . . . 8 𝐽 = (TopOpen‘ℂfld)
63 eqid 2795 . . . . . . . 8 (𝐽t (ℂ ∖ (-∞(,]0))) = (𝐽t (ℂ ∖ (-∞(,]0)))
6462cnfldtopon 23079 . . . . . . . . 9 𝐽 ∈ (TopOn‘ℂ)
6564toponrestid 21218 . . . . . . . 8 𝐽 = (𝐽t ℂ)
6662, 63, 65cncfcn 23205 . . . . . . 7 (((ℂ ∖ (-∞(,]0)) ⊆ ℂ ∧ ℂ ⊆ ℂ) → ((ℂ ∖ (-∞(,]0))–cn→ℂ) = ((𝐽t (ℂ ∖ (-∞(,]0))) Cn 𝐽))
6760, 61, 66mp2an 688 . . . . . 6 ((ℂ ∖ (-∞(,]0))–cn→ℂ) = ((𝐽t (ℂ ∖ (-∞(,]0))) Cn 𝐽)
6859, 67eleqtri 2881 . . . . 5 (log ↾ (ℂ ∖ (-∞(,]0))) ∈ ((𝐽t (ℂ ∖ (-∞(,]0))) Cn 𝐽)
6962cnfldtopn 23078 . . . . . . 7 𝐽 = (MetOpen‘(abs ∘ − ))
7069blopn 22798 . . . . . 6 (((abs ∘ − ) ∈ (∞Met‘ℂ) ∧ 0 ∈ ℂ ∧ 𝑅 ∈ ℝ*) → (0(ball‘(abs ∘ − ))𝑅) ∈ 𝐽)
7120, 21, 23, 70mp3an2i 1458 . . . . 5 ((𝑅 ∈ ℝ+𝑅 < π) → (0(ball‘(abs ∘ − ))𝑅) ∈ 𝐽)
72 cnima 21562 . . . . 5 (((log ↾ (ℂ ∖ (-∞(,]0))) ∈ ((𝐽t (ℂ ∖ (-∞(,]0))) Cn 𝐽) ∧ (0(ball‘(abs ∘ − ))𝑅) ∈ 𝐽) → ((log ↾ (ℂ ∖ (-∞(,]0))) “ (0(ball‘(abs ∘ − ))𝑅)) ∈ (𝐽t (ℂ ∖ (-∞(,]0))))
7368, 71, 72sylancr 587 . . . 4 ((𝑅 ∈ ℝ+𝑅 < π) → ((log ↾ (ℂ ∖ (-∞(,]0))) “ (0(ball‘(abs ∘ − ))𝑅)) ∈ (𝐽t (ℂ ∖ (-∞(,]0))))
7458, 73eqeltrrd 2884 . . 3 ((𝑅 ∈ ℝ+𝑅 < π) → (exp “ (0(ball‘(abs ∘ − ))𝑅)) ∈ (𝐽t (ℂ ∖ (-∞(,]0))))
7562cnfldtop 23080 . . . 4 𝐽 ∈ Top
7649logdmopn 24918 . . . . 5 (ℂ ∖ (-∞(,]0)) ∈ (TopOpen‘ℂfld)
7776, 62eleqtrri 2882 . . . 4 (ℂ ∖ (-∞(,]0)) ∈ 𝐽
78 restopn2 21474 . . . 4 ((𝐽 ∈ Top ∧ (ℂ ∖ (-∞(,]0)) ∈ 𝐽) → ((exp “ (0(ball‘(abs ∘ − ))𝑅)) ∈ (𝐽t (ℂ ∖ (-∞(,]0))) ↔ ((exp “ (0(ball‘(abs ∘ − ))𝑅)) ∈ 𝐽 ∧ (exp “ (0(ball‘(abs ∘ − ))𝑅)) ⊆ (ℂ ∖ (-∞(,]0)))))
7975, 77, 78mp2an 688 . . 3 ((exp “ (0(ball‘(abs ∘ − ))𝑅)) ∈ (𝐽t (ℂ ∖ (-∞(,]0))) ↔ ((exp “ (0(ball‘(abs ∘ − ))𝑅)) ∈ 𝐽 ∧ (exp “ (0(ball‘(abs ∘ − ))𝑅)) ⊆ (ℂ ∖ (-∞(,]0))))
8074, 79sylib 219 . 2 ((𝑅 ∈ ℝ+𝑅 < π) → ((exp “ (0(ball‘(abs ∘ − ))𝑅)) ∈ 𝐽 ∧ (exp “ (0(ball‘(abs ∘ − ))𝑅)) ⊆ (ℂ ∖ (-∞(,]0))))
8180simpld 495 1 ((𝑅 ∈ ℝ+𝑅 < π) → (exp “ (0(ball‘(abs ∘ − ))𝑅)) ∈ 𝐽)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 207  wa 396  w3a 1080   = wceq 1522  wcel 2081  cdif 3860  wss 3863  {csn 4476   class class class wbr 4966  ccnv 5447  ran crn 5449  cres 5450  cima 5451  ccom 5452  Rel wrel 5453  Fun wfun 6224   Fn wfn 6225  wf 6226  ontowfo 6228  1-1-ontowf1o 6229  cfv 6230  (class class class)co 7021  cc 10386  cr 10387  0cc0 10388  -∞cmnf 10524  *cxr 10525   < clt 10526  cmin 10722  -cneg 10723  +crp 12244  (,)cioo 12593  (,]cioc 12594  cim 14296  abscabs 14432  expce 15253  πcpi 15258  t crest 16528  TopOpenctopn 16529  ∞Metcxmet 20217  ballcbl 20219  fldccnfld 20232  Topctop 21190   Cn ccn 21521  cnccncf 23172  logclog 24824
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1777  ax-4 1791  ax-5 1888  ax-6 1947  ax-7 1992  ax-8 2083  ax-9 2091  ax-10 2112  ax-11 2126  ax-12 2141  ax-13 2344  ax-ext 2769  ax-rep 5086  ax-sep 5099  ax-nul 5106  ax-pow 5162  ax-pr 5226  ax-un 7324  ax-inf2 8955  ax-cnex 10444  ax-resscn 10445  ax-1cn 10446  ax-icn 10447  ax-addcl 10448  ax-addrcl 10449  ax-mulcl 10450  ax-mulrcl 10451  ax-mulcom 10452  ax-addass 10453  ax-mulass 10454  ax-distr 10455  ax-i2m1 10456  ax-1ne0 10457  ax-1rid 10458  ax-rnegex 10459  ax-rrecex 10460  ax-cnre 10461  ax-pre-lttri 10462  ax-pre-lttrn 10463  ax-pre-ltadd 10464  ax-pre-mulgt0 10465  ax-pre-sup 10466  ax-addf 10467  ax-mulf 10468
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 843  df-3or 1081  df-3an 1082  df-tru 1525  df-fal 1535  df-ex 1762  df-nf 1766  df-sb 2043  df-mo 2576  df-eu 2612  df-clab 2776  df-cleq 2788  df-clel 2863  df-nfc 2935  df-ne 2985  df-nel 3091  df-ral 3110  df-rex 3111  df-reu 3112  df-rmo 3113  df-rab 3114  df-v 3439  df-sbc 3710  df-csb 3816  df-dif 3866  df-un 3868  df-in 3870  df-ss 3878  df-pss 3880  df-nul 4216  df-if 4386  df-pw 4459  df-sn 4477  df-pr 4479  df-tp 4481  df-op 4483  df-uni 4750  df-int 4787  df-iun 4831  df-iin 4832  df-br 4967  df-opab 5029  df-mpt 5046  df-tr 5069  df-id 5353  df-eprel 5358  df-po 5367  df-so 5368  df-fr 5407  df-se 5408  df-we 5409  df-xp 5454  df-rel 5455  df-cnv 5456  df-co 5457  df-dm 5458  df-rn 5459  df-res 5460  df-ima 5461  df-pred 6028  df-ord 6074  df-on 6075  df-lim 6076  df-suc 6077  df-iota 6194  df-fun 6232  df-fn 6233  df-f 6234  df-f1 6235  df-fo 6236  df-f1o 6237  df-fv 6238  df-isom 6239  df-riota 6982  df-ov 7024  df-oprab 7025  df-mpo 7026  df-of 7272  df-om 7442  df-1st 7550  df-2nd 7551  df-supp 7687  df-wrecs 7803  df-recs 7865  df-rdg 7903  df-1o 7958  df-2o 7959  df-oadd 7962  df-er 8144  df-map 8263  df-pm 8264  df-ixp 8316  df-en 8363  df-dom 8364  df-sdom 8365  df-fin 8366  df-fsupp 8685  df-fi 8726  df-sup 8757  df-inf 8758  df-oi 8825  df-card 9219  df-pnf 10528  df-mnf 10529  df-xr 10530  df-ltxr 10531  df-le 10532  df-sub 10724  df-neg 10725  df-div 11151  df-nn 11492  df-2 11553  df-3 11554  df-4 11555  df-5 11556  df-6 11557  df-7 11558  df-8 11559  df-9 11560  df-n0 11751  df-z 11835  df-dec 11953  df-uz 12099  df-q 12203  df-rp 12245  df-xneg 12362  df-xadd 12363  df-xmul 12364  df-ioo 12597  df-ioc 12598  df-ico 12599  df-icc 12600  df-fz 12748  df-fzo 12889  df-fl 13017  df-mod 13093  df-seq 13225  df-exp 13285  df-fac 13489  df-bc 13518  df-hash 13546  df-shft 14265  df-cj 14297  df-re 14298  df-im 14299  df-sqrt 14433  df-abs 14434  df-limsup 14667  df-clim 14684  df-rlim 14685  df-sum 14882  df-ef 15259  df-sin 15261  df-cos 15262  df-tan 15263  df-pi 15264  df-struct 16319  df-ndx 16320  df-slot 16321  df-base 16323  df-sets 16324  df-ress 16325  df-plusg 16412  df-mulr 16413  df-starv 16414  df-sca 16415  df-vsca 16416  df-ip 16417  df-tset 16418  df-ple 16419  df-ds 16421  df-unif 16422  df-hom 16423  df-cco 16424  df-rest 16530  df-topn 16531  df-0g 16549  df-gsum 16550  df-topgen 16551  df-pt 16552  df-prds 16555  df-xrs 16609  df-qtop 16614  df-imas 16615  df-xps 16617  df-mre 16691  df-mrc 16692  df-acs 16694  df-mgm 17686  df-sgrp 17728  df-mnd 17739  df-submnd 17780  df-mulg 17987  df-cntz 18193  df-cmn 18640  df-psmet 20224  df-xmet 20225  df-met 20226  df-bl 20227  df-mopn 20228  df-fbas 20229  df-fg 20230  df-cnfld 20233  df-top 21191  df-topon 21208  df-topsp 21230  df-bases 21243  df-cld 21316  df-ntr 21317  df-cls 21318  df-nei 21395  df-lp 21433  df-perf 21434  df-cn 21524  df-cnp 21525  df-haus 21612  df-cmp 21684  df-tx 21859  df-hmeo 22052  df-fil 22143  df-fm 22235  df-flim 22236  df-flf 22237  df-xms 22618  df-ms 22619  df-tms 22620  df-cncf 23174  df-limc 24152  df-dv 24153  df-log 24826
This theorem is referenced by:  efopn  24927
  Copyright terms: Public domain W3C validator