![]() |
Mathbox for Glauco Siliprandi |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > MPE Home > Th. List > Mathboxes > vonn0icc2 | Structured version Visualization version GIF version |
Description: The n-dimensional Lebesgue measure of a closed interval, when the dimension of the space is nonzero. This is the second statement in Proposition 115G (d) of [Fremlin1] p. 32. (Contributed by Glauco Siliprandi, 8-Apr-2021.) |
Ref | Expression |
---|---|
vonn0icc2.k | ⊢ Ⅎ𝑘𝜑 |
vonn0icc2.x | ⊢ (𝜑 → 𝑋 ∈ Fin) |
vonn0icc2.n | ⊢ (𝜑 → 𝑋 ≠ ∅) |
vonn0icc2.a | ⊢ ((𝜑 ∧ 𝑘 ∈ 𝑋) → 𝐴 ∈ ℝ) |
vonn0icc2.b | ⊢ ((𝜑 ∧ 𝑘 ∈ 𝑋) → 𝐵 ∈ ℝ) |
vonn0icc2.i | ⊢ 𝐼 = X𝑘 ∈ 𝑋 (𝐴[,]𝐵) |
Ref | Expression |
---|---|
vonn0icc2 | ⊢ (𝜑 → ((voln‘𝑋)‘𝐼) = ∏𝑘 ∈ 𝑋 (vol‘(𝐴[,]𝐵))) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | vonn0icc2.i | . . . . 5 ⊢ 𝐼 = X𝑘 ∈ 𝑋 (𝐴[,]𝐵) | |
2 | 1 | a1i 11 | . . . 4 ⊢ (𝜑 → 𝐼 = X𝑘 ∈ 𝑋 (𝐴[,]𝐵)) |
3 | simpr 477 | . . . . . . . 8 ⊢ ((𝜑 ∧ 𝑗 ∈ 𝑋) → 𝑗 ∈ 𝑋) | |
4 | vonn0icc2.k | . . . . . . . . . . 11 ⊢ Ⅎ𝑘𝜑 | |
5 | nfv 1873 | . . . . . . . . . . 11 ⊢ Ⅎ𝑘 𝑗 ∈ 𝑋 | |
6 | 4, 5 | nfan 1862 | . . . . . . . . . 10 ⊢ Ⅎ𝑘(𝜑 ∧ 𝑗 ∈ 𝑋) |
7 | nfcsb1v 3800 | . . . . . . . . . . 11 ⊢ Ⅎ𝑘⦋𝑗 / 𝑘⦌𝐴 | |
8 | nfcv 2926 | . . . . . . . . . . 11 ⊢ Ⅎ𝑘ℝ | |
9 | 7, 8 | nfel 2938 | . . . . . . . . . 10 ⊢ Ⅎ𝑘⦋𝑗 / 𝑘⦌𝐴 ∈ ℝ |
10 | 6, 9 | nfim 1859 | . . . . . . . . 9 ⊢ Ⅎ𝑘((𝜑 ∧ 𝑗 ∈ 𝑋) → ⦋𝑗 / 𝑘⦌𝐴 ∈ ℝ) |
11 | eleq1w 2842 | . . . . . . . . . . 11 ⊢ (𝑘 = 𝑗 → (𝑘 ∈ 𝑋 ↔ 𝑗 ∈ 𝑋)) | |
12 | 11 | anbi2d 619 | . . . . . . . . . 10 ⊢ (𝑘 = 𝑗 → ((𝜑 ∧ 𝑘 ∈ 𝑋) ↔ (𝜑 ∧ 𝑗 ∈ 𝑋))) |
13 | csbeq1a 3791 | . . . . . . . . . . 11 ⊢ (𝑘 = 𝑗 → 𝐴 = ⦋𝑗 / 𝑘⦌𝐴) | |
14 | 13 | eleq1d 2844 | . . . . . . . . . 10 ⊢ (𝑘 = 𝑗 → (𝐴 ∈ ℝ ↔ ⦋𝑗 / 𝑘⦌𝐴 ∈ ℝ)) |
15 | 12, 14 | imbi12d 337 | . . . . . . . . 9 ⊢ (𝑘 = 𝑗 → (((𝜑 ∧ 𝑘 ∈ 𝑋) → 𝐴 ∈ ℝ) ↔ ((𝜑 ∧ 𝑗 ∈ 𝑋) → ⦋𝑗 / 𝑘⦌𝐴 ∈ ℝ))) |
16 | vonn0icc2.a | . . . . . . . . 9 ⊢ ((𝜑 ∧ 𝑘 ∈ 𝑋) → 𝐴 ∈ ℝ) | |
17 | 10, 15, 16 | chvar 2324 | . . . . . . . 8 ⊢ ((𝜑 ∧ 𝑗 ∈ 𝑋) → ⦋𝑗 / 𝑘⦌𝐴 ∈ ℝ) |
18 | eqid 2772 | . . . . . . . . 9 ⊢ (𝑘 ∈ 𝑋 ↦ 𝐴) = (𝑘 ∈ 𝑋 ↦ 𝐴) | |
19 | 18 | fvmpts 6592 | . . . . . . . 8 ⊢ ((𝑗 ∈ 𝑋 ∧ ⦋𝑗 / 𝑘⦌𝐴 ∈ ℝ) → ((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗) = ⦋𝑗 / 𝑘⦌𝐴) |
20 | 3, 17, 19 | syl2anc 576 | . . . . . . 7 ⊢ ((𝜑 ∧ 𝑗 ∈ 𝑋) → ((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗) = ⦋𝑗 / 𝑘⦌𝐴) |
21 | nfcsb1v 3800 | . . . . . . . . . . 11 ⊢ Ⅎ𝑘⦋𝑗 / 𝑘⦌𝐵 | |
22 | 21, 8 | nfel 2938 | . . . . . . . . . 10 ⊢ Ⅎ𝑘⦋𝑗 / 𝑘⦌𝐵 ∈ ℝ |
23 | 6, 22 | nfim 1859 | . . . . . . . . 9 ⊢ Ⅎ𝑘((𝜑 ∧ 𝑗 ∈ 𝑋) → ⦋𝑗 / 𝑘⦌𝐵 ∈ ℝ) |
24 | csbeq1a 3791 | . . . . . . . . . . 11 ⊢ (𝑘 = 𝑗 → 𝐵 = ⦋𝑗 / 𝑘⦌𝐵) | |
25 | 24 | eleq1d 2844 | . . . . . . . . . 10 ⊢ (𝑘 = 𝑗 → (𝐵 ∈ ℝ ↔ ⦋𝑗 / 𝑘⦌𝐵 ∈ ℝ)) |
26 | 12, 25 | imbi12d 337 | . . . . . . . . 9 ⊢ (𝑘 = 𝑗 → (((𝜑 ∧ 𝑘 ∈ 𝑋) → 𝐵 ∈ ℝ) ↔ ((𝜑 ∧ 𝑗 ∈ 𝑋) → ⦋𝑗 / 𝑘⦌𝐵 ∈ ℝ))) |
27 | vonn0icc2.b | . . . . . . . . 9 ⊢ ((𝜑 ∧ 𝑘 ∈ 𝑋) → 𝐵 ∈ ℝ) | |
28 | 23, 26, 27 | chvar 2324 | . . . . . . . 8 ⊢ ((𝜑 ∧ 𝑗 ∈ 𝑋) → ⦋𝑗 / 𝑘⦌𝐵 ∈ ℝ) |
29 | eqid 2772 | . . . . . . . . 9 ⊢ (𝑘 ∈ 𝑋 ↦ 𝐵) = (𝑘 ∈ 𝑋 ↦ 𝐵) | |
30 | 29 | fvmpts 6592 | . . . . . . . 8 ⊢ ((𝑗 ∈ 𝑋 ∧ ⦋𝑗 / 𝑘⦌𝐵 ∈ ℝ) → ((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗) = ⦋𝑗 / 𝑘⦌𝐵) |
31 | 3, 28, 30 | syl2anc 576 | . . . . . . 7 ⊢ ((𝜑 ∧ 𝑗 ∈ 𝑋) → ((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗) = ⦋𝑗 / 𝑘⦌𝐵) |
32 | 20, 31 | oveq12d 6988 | . . . . . 6 ⊢ ((𝜑 ∧ 𝑗 ∈ 𝑋) → (((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗)) = (⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵)) |
33 | 32 | ixpeq2dva 8266 | . . . . 5 ⊢ (𝜑 → X𝑗 ∈ 𝑋 (((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗)) = X𝑗 ∈ 𝑋 (⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵)) |
34 | nfcv 2926 | . . . . . . . 8 ⊢ Ⅎ𝑘[,] | |
35 | 7, 34, 21 | nfov 7000 | . . . . . . 7 ⊢ Ⅎ𝑘(⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵) |
36 | nfcv 2926 | . . . . . . 7 ⊢ Ⅎ𝑗(𝐴[,]𝐵) | |
37 | 13 | equcoms 1976 | . . . . . . . . . 10 ⊢ (𝑗 = 𝑘 → 𝐴 = ⦋𝑗 / 𝑘⦌𝐴) |
38 | 37 | eqcomd 2778 | . . . . . . . . 9 ⊢ (𝑗 = 𝑘 → ⦋𝑗 / 𝑘⦌𝐴 = 𝐴) |
39 | eqidd 2773 | . . . . . . . . 9 ⊢ (𝑗 = 𝑘 → 𝐴 = 𝐴) | |
40 | 38, 39 | eqtrd 2808 | . . . . . . . 8 ⊢ (𝑗 = 𝑘 → ⦋𝑗 / 𝑘⦌𝐴 = 𝐴) |
41 | 24 | equcoms 1976 | . . . . . . . . 9 ⊢ (𝑗 = 𝑘 → 𝐵 = ⦋𝑗 / 𝑘⦌𝐵) |
42 | 41 | eqcomd 2778 | . . . . . . . 8 ⊢ (𝑗 = 𝑘 → ⦋𝑗 / 𝑘⦌𝐵 = 𝐵) |
43 | 40, 42 | oveq12d 6988 | . . . . . . 7 ⊢ (𝑗 = 𝑘 → (⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵) = (𝐴[,]𝐵)) |
44 | 35, 36, 43 | cbvixp 8268 | . . . . . 6 ⊢ X𝑗 ∈ 𝑋 (⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵) = X𝑘 ∈ 𝑋 (𝐴[,]𝐵) |
45 | 44 | a1i 11 | . . . . 5 ⊢ (𝜑 → X𝑗 ∈ 𝑋 (⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵) = X𝑘 ∈ 𝑋 (𝐴[,]𝐵)) |
46 | 33, 45 | eqtrd 2808 | . . . 4 ⊢ (𝜑 → X𝑗 ∈ 𝑋 (((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗)) = X𝑘 ∈ 𝑋 (𝐴[,]𝐵)) |
47 | 2, 46 | eqtr4d 2811 | . . 3 ⊢ (𝜑 → 𝐼 = X𝑗 ∈ 𝑋 (((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗))) |
48 | 47 | fveq2d 6497 | . 2 ⊢ (𝜑 → ((voln‘𝑋)‘𝐼) = ((voln‘𝑋)‘X𝑗 ∈ 𝑋 (((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗)))) |
49 | vonn0icc2.x | . . 3 ⊢ (𝜑 → 𝑋 ∈ Fin) | |
50 | vonn0icc2.n | . . 3 ⊢ (𝜑 → 𝑋 ≠ ∅) | |
51 | 4, 16, 18 | fmptdf 6698 | . . 3 ⊢ (𝜑 → (𝑘 ∈ 𝑋 ↦ 𝐴):𝑋⟶ℝ) |
52 | 4, 27, 29 | fmptdf 6698 | . . 3 ⊢ (𝜑 → (𝑘 ∈ 𝑋 ↦ 𝐵):𝑋⟶ℝ) |
53 | eqid 2772 | . . 3 ⊢ X𝑗 ∈ 𝑋 (((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗)) = X𝑗 ∈ 𝑋 (((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗)) | |
54 | 49, 50, 51, 52, 53 | vonn0icc 42347 | . 2 ⊢ (𝜑 → ((voln‘𝑋)‘X𝑗 ∈ 𝑋 (((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗))) = ∏𝑗 ∈ 𝑋 (vol‘(((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗)))) |
55 | 32 | fveq2d 6497 | . . . 4 ⊢ ((𝜑 ∧ 𝑗 ∈ 𝑋) → (vol‘(((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗))) = (vol‘(⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵))) |
56 | 55 | prodeq2dv 15127 | . . 3 ⊢ (𝜑 → ∏𝑗 ∈ 𝑋 (vol‘(((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗))) = ∏𝑗 ∈ 𝑋 (vol‘(⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵))) |
57 | 43 | fveq2d 6497 | . . . . 5 ⊢ (𝑗 = 𝑘 → (vol‘(⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵)) = (vol‘(𝐴[,]𝐵))) |
58 | nfcv 2926 | . . . . 5 ⊢ Ⅎ𝑘𝑋 | |
59 | nfcv 2926 | . . . . 5 ⊢ Ⅎ𝑗𝑋 | |
60 | nfcv 2926 | . . . . . 6 ⊢ Ⅎ𝑘vol | |
61 | 60, 35 | nffv 6503 | . . . . 5 ⊢ Ⅎ𝑘(vol‘(⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵)) |
62 | nfcv 2926 | . . . . 5 ⊢ Ⅎ𝑗(vol‘(𝐴[,]𝐵)) | |
63 | 57, 58, 59, 61, 62 | cbvprod 15119 | . . . 4 ⊢ ∏𝑗 ∈ 𝑋 (vol‘(⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵)) = ∏𝑘 ∈ 𝑋 (vol‘(𝐴[,]𝐵)) |
64 | 63 | a1i 11 | . . 3 ⊢ (𝜑 → ∏𝑗 ∈ 𝑋 (vol‘(⦋𝑗 / 𝑘⦌𝐴[,]⦋𝑗 / 𝑘⦌𝐵)) = ∏𝑘 ∈ 𝑋 (vol‘(𝐴[,]𝐵))) |
65 | 56, 64 | eqtrd 2808 | . 2 ⊢ (𝜑 → ∏𝑗 ∈ 𝑋 (vol‘(((𝑘 ∈ 𝑋 ↦ 𝐴)‘𝑗)[,]((𝑘 ∈ 𝑋 ↦ 𝐵)‘𝑗))) = ∏𝑘 ∈ 𝑋 (vol‘(𝐴[,]𝐵))) |
66 | 48, 54, 65 | 3eqtrd 2812 | 1 ⊢ (𝜑 → ((voln‘𝑋)‘𝐼) = ∏𝑘 ∈ 𝑋 (vol‘(𝐴[,]𝐵))) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ∧ wa 387 = wceq 1507 Ⅎwnf 1746 ∈ wcel 2048 ≠ wne 2961 ⦋csb 3782 ∅c0 4173 ↦ cmpt 5002 ‘cfv 6182 (class class class)co 6970 Xcixp 8251 Fincfn 8298 ℝcr 10326 [,]cicc 12550 ∏cprod 15109 volcvol 23757 volncvoln 42197 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1758 ax-4 1772 ax-5 1869 ax-6 1928 ax-7 1964 ax-8 2050 ax-9 2057 ax-10 2077 ax-11 2091 ax-12 2104 ax-13 2299 ax-ext 2745 ax-rep 5043 ax-sep 5054 ax-nul 5061 ax-pow 5113 ax-pr 5180 ax-un 7273 ax-inf2 8890 ax-cc 9647 ax-ac2 9675 ax-cnex 10383 ax-resscn 10384 ax-1cn 10385 ax-icn 10386 ax-addcl 10387 ax-addrcl 10388 ax-mulcl 10389 ax-mulrcl 10390 ax-mulcom 10391 ax-addass 10392 ax-mulass 10393 ax-distr 10394 ax-i2m1 10395 ax-1ne0 10396 ax-1rid 10397 ax-rnegex 10398 ax-rrecex 10399 ax-cnre 10400 ax-pre-lttri 10401 ax-pre-lttrn 10402 ax-pre-ltadd 10403 ax-pre-mulgt0 10404 ax-pre-sup 10405 ax-addf 10406 ax-mulf 10407 |
This theorem depends on definitions: df-bi 199 df-an 388 df-or 834 df-3or 1069 df-3an 1070 df-tru 1510 df-fal 1520 df-ex 1743 df-nf 1747 df-sb 2014 df-mo 2544 df-eu 2580 df-clab 2754 df-cleq 2765 df-clel 2840 df-nfc 2912 df-ne 2962 df-nel 3068 df-ral 3087 df-rex 3088 df-reu 3089 df-rmo 3090 df-rab 3091 df-v 3411 df-sbc 3678 df-csb 3783 df-dif 3828 df-un 3830 df-in 3832 df-ss 3839 df-pss 3841 df-nul 4174 df-if 4345 df-pw 4418 df-sn 4436 df-pr 4438 df-tp 4440 df-op 4442 df-uni 4707 df-int 4744 df-iun 4788 df-iin 4789 df-disj 4892 df-br 4924 df-opab 4986 df-mpt 5003 df-tr 5025 df-id 5305 df-eprel 5310 df-po 5319 df-so 5320 df-fr 5359 df-se 5360 df-we 5361 df-xp 5406 df-rel 5407 df-cnv 5408 df-co 5409 df-dm 5410 df-rn 5411 df-res 5412 df-ima 5413 df-pred 5980 df-ord 6026 df-on 6027 df-lim 6028 df-suc 6029 df-iota 6146 df-fun 6184 df-fn 6185 df-f 6186 df-f1 6187 df-fo 6188 df-f1o 6189 df-fv 6190 df-isom 6191 df-riota 6931 df-ov 6973 df-oprab 6974 df-mpo 6975 df-of 7221 df-om 7391 df-1st 7494 df-2nd 7495 df-supp 7627 df-tpos 7688 df-wrecs 7743 df-recs 7805 df-rdg 7843 df-1o 7897 df-2o 7898 df-oadd 7901 df-omul 7902 df-er 8081 df-map 8200 df-pm 8201 df-ixp 8252 df-en 8299 df-dom 8300 df-sdom 8301 df-fin 8302 df-fsupp 8621 df-fi 8662 df-sup 8693 df-inf 8694 df-oi 8761 df-dju 9116 df-card 9154 df-acn 9157 df-ac 9328 df-cda 9380 df-pnf 10468 df-mnf 10469 df-xr 10470 df-ltxr 10471 df-le 10472 df-sub 10664 df-neg 10665 df-div 11091 df-nn 11432 df-2 11496 df-3 11497 df-4 11498 df-5 11499 df-6 11500 df-7 11501 df-8 11502 df-9 11503 df-n0 11701 df-z 11787 df-dec 11905 df-uz 12052 df-q 12156 df-rp 12198 df-xneg 12317 df-xadd 12318 df-xmul 12319 df-ioo 12551 df-ico 12553 df-icc 12554 df-fz 12702 df-fzo 12843 df-fl 12970 df-seq 13178 df-exp 13238 df-hash 13499 df-cj 14309 df-re 14310 df-im 14311 df-sqrt 14445 df-abs 14446 df-clim 14696 df-rlim 14697 df-sum 14894 df-prod 15110 df-struct 16331 df-ndx 16332 df-slot 16333 df-base 16335 df-sets 16336 df-ress 16337 df-plusg 16424 df-mulr 16425 df-starv 16426 df-sca 16427 df-vsca 16428 df-ip 16429 df-tset 16430 df-ple 16431 df-ds 16433 df-unif 16434 df-hom 16435 df-cco 16436 df-rest 16542 df-topn 16543 df-0g 16561 df-gsum 16562 df-topgen 16563 df-pt 16564 df-prds 16567 df-pws 16569 df-xrs 16621 df-qtop 16626 df-imas 16627 df-xps 16629 df-mre 16705 df-mrc 16706 df-acs 16708 df-mgm 17700 df-sgrp 17742 df-mnd 17753 df-mhm 17793 df-submnd 17794 df-grp 17884 df-minusg 17885 df-sbg 17886 df-mulg 18002 df-subg 18050 df-ghm 18117 df-cntz 18208 df-cmn 18658 df-abl 18659 df-mgp 18953 df-ur 18965 df-ring 19012 df-cring 19013 df-oppr 19086 df-dvdsr 19104 df-unit 19105 df-invr 19135 df-dvr 19146 df-rnghom 19180 df-drng 19217 df-field 19218 df-subrg 19246 df-abv 19300 df-staf 19328 df-srng 19329 df-lmod 19348 df-lss 19416 df-lmhm 19506 df-lvec 19587 df-sra 19656 df-rgmod 19657 df-psmet 20229 df-xmet 20230 df-met 20231 df-bl 20232 df-mopn 20233 df-cnfld 20238 df-refld 20441 df-phl 20462 df-dsmm 20568 df-frlm 20583 df-top 21196 df-topon 21213 df-topsp 21235 df-bases 21248 df-cn 21529 df-cnp 21530 df-cmp 21689 df-tx 21864 df-hmeo 22057 df-xms 22623 df-ms 22624 df-tms 22625 df-nm 22885 df-ngp 22886 df-tng 22887 df-nrg 22888 df-nlm 22889 df-cncf 23179 df-clm 23360 df-cph 23465 df-tcph 23466 df-rrx 23681 df-ovol 23758 df-vol 23759 df-salg 41971 df-sumge0 42022 df-mea 42109 df-ome 42149 df-caragen 42151 df-ovoln 42196 df-voln 42198 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |