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

Theorem ftc1lem1 25543
Description: Lemma for ftc1a 25545 and ftc1 25550. (Contributed by Mario Carneiro, 31-Aug-2014.)
Hypotheses
Ref Expression
ftc1.g 𝐺 = (π‘₯ ∈ (𝐴[,]𝐡) ↦ ∫(𝐴(,)π‘₯)(πΉβ€˜π‘‘) d𝑑)
ftc1.a (πœ‘ β†’ 𝐴 ∈ ℝ)
ftc1.b (πœ‘ β†’ 𝐡 ∈ ℝ)
ftc1.le (πœ‘ β†’ 𝐴 ≀ 𝐡)
ftc1.s (πœ‘ β†’ (𝐴(,)𝐡) βŠ† 𝐷)
ftc1.d (πœ‘ β†’ 𝐷 βŠ† ℝ)
ftc1.i (πœ‘ β†’ 𝐹 ∈ 𝐿1)
ftc1a.f (πœ‘ β†’ 𝐹:π·βŸΆβ„‚)
ftc1lem1.x (πœ‘ β†’ 𝑋 ∈ (𝐴[,]𝐡))
ftc1lem1.y (πœ‘ β†’ π‘Œ ∈ (𝐴[,]𝐡))
Assertion
Ref Expression
ftc1lem1 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ ((πΊβ€˜π‘Œ) βˆ’ (πΊβ€˜π‘‹)) = ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑)
Distinct variable groups:   π‘₯,𝑑,𝐷   𝑑,𝐴,π‘₯   𝑑,𝐡,π‘₯   𝑑,𝑋,π‘₯   πœ‘,𝑑,π‘₯   𝑑,π‘Œ,π‘₯   𝑑,𝐹,π‘₯
Allowed substitution hints:   𝐺(π‘₯,𝑑)

Proof of Theorem ftc1lem1
StepHypRef Expression
1 ftc1lem1.y . . . . . 6 (πœ‘ β†’ π‘Œ ∈ (𝐴[,]𝐡))
2 oveq2 7413 . . . . . . . 8 (π‘₯ = π‘Œ β†’ (𝐴(,)π‘₯) = (𝐴(,)π‘Œ))
3 itgeq1 25281 . . . . . . . 8 ((𝐴(,)π‘₯) = (𝐴(,)π‘Œ) β†’ ∫(𝐴(,)π‘₯)(πΉβ€˜π‘‘) d𝑑 = ∫(𝐴(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑)
42, 3syl 17 . . . . . . 7 (π‘₯ = π‘Œ β†’ ∫(𝐴(,)π‘₯)(πΉβ€˜π‘‘) d𝑑 = ∫(𝐴(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑)
5 ftc1.g . . . . . . 7 𝐺 = (π‘₯ ∈ (𝐴[,]𝐡) ↦ ∫(𝐴(,)π‘₯)(πΉβ€˜π‘‘) d𝑑)
6 itgex 25279 . . . . . . 7 ∫(𝐴(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑 ∈ V
74, 5, 6fvmpt 6995 . . . . . 6 (π‘Œ ∈ (𝐴[,]𝐡) β†’ (πΊβ€˜π‘Œ) = ∫(𝐴(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑)
81, 7syl 17 . . . . 5 (πœ‘ β†’ (πΊβ€˜π‘Œ) = ∫(𝐴(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑)
98adantr 481 . . . 4 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ (πΊβ€˜π‘Œ) = ∫(𝐴(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑)
10 ftc1.a . . . . . 6 (πœ‘ β†’ 𝐴 ∈ ℝ)
1110adantr 481 . . . . 5 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ 𝐴 ∈ ℝ)
12 ftc1.b . . . . . . . 8 (πœ‘ β†’ 𝐡 ∈ ℝ)
13 iccssre 13402 . . . . . . . 8 ((𝐴 ∈ ℝ ∧ 𝐡 ∈ ℝ) β†’ (𝐴[,]𝐡) βŠ† ℝ)
1410, 12, 13syl2anc 584 . . . . . . 7 (πœ‘ β†’ (𝐴[,]𝐡) βŠ† ℝ)
1514, 1sseldd 3982 . . . . . 6 (πœ‘ β†’ π‘Œ ∈ ℝ)
1615adantr 481 . . . . 5 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ π‘Œ ∈ ℝ)
17 ftc1lem1.x . . . . . . . 8 (πœ‘ β†’ 𝑋 ∈ (𝐴[,]𝐡))
1814, 17sseldd 3982 . . . . . . 7 (πœ‘ β†’ 𝑋 ∈ ℝ)
1918adantr 481 . . . . . 6 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ 𝑋 ∈ ℝ)
20 elicc2 13385 . . . . . . . . . 10 ((𝐴 ∈ ℝ ∧ 𝐡 ∈ ℝ) β†’ (𝑋 ∈ (𝐴[,]𝐡) ↔ (𝑋 ∈ ℝ ∧ 𝐴 ≀ 𝑋 ∧ 𝑋 ≀ 𝐡)))
2110, 12, 20syl2anc 584 . . . . . . . . 9 (πœ‘ β†’ (𝑋 ∈ (𝐴[,]𝐡) ↔ (𝑋 ∈ ℝ ∧ 𝐴 ≀ 𝑋 ∧ 𝑋 ≀ 𝐡)))
2217, 21mpbid 231 . . . . . . . 8 (πœ‘ β†’ (𝑋 ∈ ℝ ∧ 𝐴 ≀ 𝑋 ∧ 𝑋 ≀ 𝐡))
2322simp2d 1143 . . . . . . 7 (πœ‘ β†’ 𝐴 ≀ 𝑋)
2423adantr 481 . . . . . 6 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ 𝐴 ≀ 𝑋)
25 simpr 485 . . . . . 6 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ 𝑋 ≀ π‘Œ)
26 elicc2 13385 . . . . . . . 8 ((𝐴 ∈ ℝ ∧ π‘Œ ∈ ℝ) β†’ (𝑋 ∈ (𝐴[,]π‘Œ) ↔ (𝑋 ∈ ℝ ∧ 𝐴 ≀ 𝑋 ∧ 𝑋 ≀ π‘Œ)))
2710, 15, 26syl2anc 584 . . . . . . 7 (πœ‘ β†’ (𝑋 ∈ (𝐴[,]π‘Œ) ↔ (𝑋 ∈ ℝ ∧ 𝐴 ≀ 𝑋 ∧ 𝑋 ≀ π‘Œ)))
2827adantr 481 . . . . . 6 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ (𝑋 ∈ (𝐴[,]π‘Œ) ↔ (𝑋 ∈ ℝ ∧ 𝐴 ≀ 𝑋 ∧ 𝑋 ≀ π‘Œ)))
2919, 24, 25, 28mpbir3and 1342 . . . . 5 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ 𝑋 ∈ (𝐴[,]π‘Œ))
3012rexrd 11260 . . . . . . . . . 10 (πœ‘ β†’ 𝐡 ∈ ℝ*)
31 elicc2 13385 . . . . . . . . . . . . 13 ((𝐴 ∈ ℝ ∧ 𝐡 ∈ ℝ) β†’ (π‘Œ ∈ (𝐴[,]𝐡) ↔ (π‘Œ ∈ ℝ ∧ 𝐴 ≀ π‘Œ ∧ π‘Œ ≀ 𝐡)))
3210, 12, 31syl2anc 584 . . . . . . . . . . . 12 (πœ‘ β†’ (π‘Œ ∈ (𝐴[,]𝐡) ↔ (π‘Œ ∈ ℝ ∧ 𝐴 ≀ π‘Œ ∧ π‘Œ ≀ 𝐡)))
331, 32mpbid 231 . . . . . . . . . . 11 (πœ‘ β†’ (π‘Œ ∈ ℝ ∧ 𝐴 ≀ π‘Œ ∧ π‘Œ ≀ 𝐡))
3433simp3d 1144 . . . . . . . . . 10 (πœ‘ β†’ π‘Œ ≀ 𝐡)
35 iooss2 13356 . . . . . . . . . 10 ((𝐡 ∈ ℝ* ∧ π‘Œ ≀ 𝐡) β†’ (𝐴(,)π‘Œ) βŠ† (𝐴(,)𝐡))
3630, 34, 35syl2anc 584 . . . . . . . . 9 (πœ‘ β†’ (𝐴(,)π‘Œ) βŠ† (𝐴(,)𝐡))
37 ftc1.s . . . . . . . . 9 (πœ‘ β†’ (𝐴(,)𝐡) βŠ† 𝐷)
3836, 37sstrd 3991 . . . . . . . 8 (πœ‘ β†’ (𝐴(,)π‘Œ) βŠ† 𝐷)
3938adantr 481 . . . . . . 7 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ (𝐴(,)π‘Œ) βŠ† 𝐷)
4039sselda 3981 . . . . . 6 (((πœ‘ ∧ 𝑋 ≀ π‘Œ) ∧ 𝑑 ∈ (𝐴(,)π‘Œ)) β†’ 𝑑 ∈ 𝐷)
41 ftc1a.f . . . . . . . 8 (πœ‘ β†’ 𝐹:π·βŸΆβ„‚)
4241ffvelcdmda 7083 . . . . . . 7 ((πœ‘ ∧ 𝑑 ∈ 𝐷) β†’ (πΉβ€˜π‘‘) ∈ β„‚)
4342adantlr 713 . . . . . 6 (((πœ‘ ∧ 𝑋 ≀ π‘Œ) ∧ 𝑑 ∈ 𝐷) β†’ (πΉβ€˜π‘‘) ∈ β„‚)
4440, 43syldan 591 . . . . 5 (((πœ‘ ∧ 𝑋 ≀ π‘Œ) ∧ 𝑑 ∈ (𝐴(,)π‘Œ)) β†’ (πΉβ€˜π‘‘) ∈ β„‚)
4522simp3d 1144 . . . . . . . . 9 (πœ‘ β†’ 𝑋 ≀ 𝐡)
46 iooss2 13356 . . . . . . . . 9 ((𝐡 ∈ ℝ* ∧ 𝑋 ≀ 𝐡) β†’ (𝐴(,)𝑋) βŠ† (𝐴(,)𝐡))
4730, 45, 46syl2anc 584 . . . . . . . 8 (πœ‘ β†’ (𝐴(,)𝑋) βŠ† (𝐴(,)𝐡))
4847, 37sstrd 3991 . . . . . . 7 (πœ‘ β†’ (𝐴(,)𝑋) βŠ† 𝐷)
49 ioombl 25073 . . . . . . . 8 (𝐴(,)𝑋) ∈ dom vol
5049a1i 11 . . . . . . 7 (πœ‘ β†’ (𝐴(,)𝑋) ∈ dom vol)
51 fvexd 6903 . . . . . . 7 ((πœ‘ ∧ 𝑑 ∈ 𝐷) β†’ (πΉβ€˜π‘‘) ∈ V)
5241feqmptd 6957 . . . . . . . 8 (πœ‘ β†’ 𝐹 = (𝑑 ∈ 𝐷 ↦ (πΉβ€˜π‘‘)))
53 ftc1.i . . . . . . . 8 (πœ‘ β†’ 𝐹 ∈ 𝐿1)
5452, 53eqeltrrd 2834 . . . . . . 7 (πœ‘ β†’ (𝑑 ∈ 𝐷 ↦ (πΉβ€˜π‘‘)) ∈ 𝐿1)
5548, 50, 51, 54iblss 25313 . . . . . 6 (πœ‘ β†’ (𝑑 ∈ (𝐴(,)𝑋) ↦ (πΉβ€˜π‘‘)) ∈ 𝐿1)
5655adantr 481 . . . . 5 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ (𝑑 ∈ (𝐴(,)𝑋) ↦ (πΉβ€˜π‘‘)) ∈ 𝐿1)
5710rexrd 11260 . . . . . . . . . 10 (πœ‘ β†’ 𝐴 ∈ ℝ*)
58 iooss1 13355 . . . . . . . . . 10 ((𝐴 ∈ ℝ* ∧ 𝐴 ≀ 𝑋) β†’ (𝑋(,)π‘Œ) βŠ† (𝐴(,)π‘Œ))
5957, 23, 58syl2anc 584 . . . . . . . . 9 (πœ‘ β†’ (𝑋(,)π‘Œ) βŠ† (𝐴(,)π‘Œ))
6059, 36sstrd 3991 . . . . . . . 8 (πœ‘ β†’ (𝑋(,)π‘Œ) βŠ† (𝐴(,)𝐡))
6160, 37sstrd 3991 . . . . . . 7 (πœ‘ β†’ (𝑋(,)π‘Œ) βŠ† 𝐷)
62 ioombl 25073 . . . . . . . 8 (𝑋(,)π‘Œ) ∈ dom vol
6362a1i 11 . . . . . . 7 (πœ‘ β†’ (𝑋(,)π‘Œ) ∈ dom vol)
6461, 63, 51, 54iblss 25313 . . . . . 6 (πœ‘ β†’ (𝑑 ∈ (𝑋(,)π‘Œ) ↦ (πΉβ€˜π‘‘)) ∈ 𝐿1)
6564adantr 481 . . . . 5 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ (𝑑 ∈ (𝑋(,)π‘Œ) ↦ (πΉβ€˜π‘‘)) ∈ 𝐿1)
6611, 16, 29, 44, 56, 65itgsplitioo 25346 . . . 4 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ ∫(𝐴(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑 = (∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑 + ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑))
679, 66eqtrd 2772 . . 3 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ (πΊβ€˜π‘Œ) = (∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑 + ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑))
68 oveq2 7413 . . . . . . 7 (π‘₯ = 𝑋 β†’ (𝐴(,)π‘₯) = (𝐴(,)𝑋))
69 itgeq1 25281 . . . . . . 7 ((𝐴(,)π‘₯) = (𝐴(,)𝑋) β†’ ∫(𝐴(,)π‘₯)(πΉβ€˜π‘‘) d𝑑 = ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑)
7068, 69syl 17 . . . . . 6 (π‘₯ = 𝑋 β†’ ∫(𝐴(,)π‘₯)(πΉβ€˜π‘‘) d𝑑 = ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑)
71 itgex 25279 . . . . . 6 ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑 ∈ V
7270, 5, 71fvmpt 6995 . . . . 5 (𝑋 ∈ (𝐴[,]𝐡) β†’ (πΊβ€˜π‘‹) = ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑)
7317, 72syl 17 . . . 4 (πœ‘ β†’ (πΊβ€˜π‘‹) = ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑)
7473adantr 481 . . 3 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ (πΊβ€˜π‘‹) = ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑)
7567, 74oveq12d 7423 . 2 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ ((πΊβ€˜π‘Œ) βˆ’ (πΊβ€˜π‘‹)) = ((∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑 + ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑) βˆ’ ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑))
76 fvexd 6903 . . . . 5 ((πœ‘ ∧ 𝑑 ∈ (𝐴(,)𝑋)) β†’ (πΉβ€˜π‘‘) ∈ V)
7776, 55itgcl 25292 . . . 4 (πœ‘ β†’ ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑 ∈ β„‚)
7861sselda 3981 . . . . . 6 ((πœ‘ ∧ 𝑑 ∈ (𝑋(,)π‘Œ)) β†’ 𝑑 ∈ 𝐷)
7978, 42syldan 591 . . . . 5 ((πœ‘ ∧ 𝑑 ∈ (𝑋(,)π‘Œ)) β†’ (πΉβ€˜π‘‘) ∈ β„‚)
8079, 64itgcl 25292 . . . 4 (πœ‘ β†’ ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑 ∈ β„‚)
8177, 80pncan2d 11569 . . 3 (πœ‘ β†’ ((∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑 + ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑) βˆ’ ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑) = ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑)
8281adantr 481 . 2 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ ((∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑 + ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑) βˆ’ ∫(𝐴(,)𝑋)(πΉβ€˜π‘‘) d𝑑) = ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑)
8375, 82eqtrd 2772 1 ((πœ‘ ∧ 𝑋 ≀ π‘Œ) β†’ ((πΊβ€˜π‘Œ) βˆ’ (πΊβ€˜π‘‹)) = ∫(𝑋(,)π‘Œ)(πΉβ€˜π‘‘) d𝑑)
Colors of variables: wff setvar class
Syntax hints:   β†’ wi 4   ↔ wb 205   ∧ wa 396   ∧ w3a 1087   = wceq 1541   ∈ wcel 2106  Vcvv 3474   βŠ† wss 3947   class class class wbr 5147   ↦ cmpt 5230  dom cdm 5675  βŸΆwf 6536  β€˜cfv 6540  (class class class)co 7405  β„‚cc 11104  β„cr 11105   + caddc 11109  β„*cxr 11243   ≀ cle 11245   βˆ’ cmin 11440  (,)cioo 13320  [,]cicc 13323  volcvol 24971  πΏ1cibl 25125  βˆ«citg 25126
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 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2703  ax-rep 5284  ax-sep 5298  ax-nul 5305  ax-pow 5362  ax-pr 5426  ax-un 7721  ax-inf2 9632  ax-cnex 11162  ax-resscn 11163  ax-1cn 11164  ax-icn 11165  ax-addcl 11166  ax-addrcl 11167  ax-mulcl 11168  ax-mulrcl 11169  ax-mulcom 11170  ax-addass 11171  ax-mulass 11172  ax-distr 11173  ax-i2m1 11174  ax-1ne0 11175  ax-1rid 11176  ax-rnegex 11177  ax-rrecex 11178  ax-cnre 11179  ax-pre-lttri 11180  ax-pre-lttrn 11181  ax-pre-ltadd 11182  ax-pre-mulgt0 11183  ax-pre-sup 11184  ax-addf 11185
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2534  df-eu 2563  df-clab 2710  df-cleq 2724  df-clel 2810  df-nfc 2885  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-rmo 3376  df-reu 3377  df-rab 3433  df-v 3476  df-sbc 3777  df-csb 3893  df-dif 3950  df-un 3952  df-in 3954  df-ss 3964  df-pss 3966  df-symdif 4241  df-nul 4322  df-if 4528  df-pw 4603  df-sn 4628  df-pr 4630  df-op 4634  df-uni 4908  df-int 4950  df-iun 4998  df-disj 5113  df-br 5148  df-opab 5210  df-mpt 5231  df-tr 5265  df-id 5573  df-eprel 5579  df-po 5587  df-so 5588  df-fr 5630  df-se 5631  df-we 5632  df-xp 5681  df-rel 5682  df-cnv 5683  df-co 5684  df-dm 5685  df-rn 5686  df-res 5687  df-ima 5688  df-pred 6297  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6492  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-isom 6549  df-riota 7361  df-ov 7408  df-oprab 7409  df-mpo 7410  df-of 7666  df-ofr 7667  df-om 7852  df-1st 7971  df-2nd 7972  df-frecs 8262  df-wrecs 8293  df-recs 8367  df-rdg 8406  df-1o 8462  df-2o 8463  df-er 8699  df-map 8818  df-pm 8819  df-en 8936  df-dom 8937  df-sdom 8938  df-fin 8939  df-fi 9402  df-sup 9433  df-inf 9434  df-oi 9501  df-dju 9892  df-card 9930  df-pnf 11246  df-mnf 11247  df-xr 11248  df-ltxr 11249  df-le 11250  df-sub 11442  df-neg 11443  df-div 11868  df-nn 12209  df-2 12271  df-3 12272  df-4 12273  df-n0 12469  df-z 12555  df-uz 12819  df-q 12929  df-rp 12971  df-xneg 13088  df-xadd 13089  df-xmul 13090  df-ioo 13324  df-ico 13326  df-icc 13327  df-fz 13481  df-fzo 13624  df-fl 13753  df-mod 13831  df-seq 13963  df-exp 14024  df-hash 14287  df-cj 15042  df-re 15043  df-im 15044  df-sqrt 15178  df-abs 15179  df-clim 15428  df-rlim 15429  df-sum 15629  df-rest 17364  df-topgen 17385  df-psmet 20928  df-xmet 20929  df-met 20930  df-bl 20931  df-mopn 20932  df-top 22387  df-topon 22404  df-bases 22440  df-cmp 22882  df-ovol 24972  df-vol 24973  df-mbf 25127  df-itg1 25128  df-itg2 25129  df-ibl 25130  df-itg 25131  df-0p 25178
This theorem is referenced by:  ftc1a  25545  ftc1lem4  25547  ftc1cnnclem  36547
  Copyright terms: Public domain W3C validator