Users' Mathboxes Mathbox for Glauco Siliprandi < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  isomennd Structured version   Visualization version   GIF version

Theorem isomennd 46981
Description: Sufficient condition to prove that 𝑂 is an outer measure. Definition 113A of [Fremlin1] p. 19 . (Contributed by Glauco Siliprandi, 11-Oct-2020.)
Hypotheses
Ref Expression
isomennd.x (𝜑𝑋𝑉)
isomennd.o (𝜑𝑂:𝒫 𝑋⟶(0[,]+∞))
isomennd.o0 (𝜑 → (𝑂‘∅) = 0)
isomennd.le ((𝜑𝑥𝑋𝑦𝑥) → (𝑂𝑦) ≤ (𝑂𝑥))
isomennd.sa ((𝜑𝑎:ℕ⟶𝒫 𝑋) → (𝑂 𝑛 ∈ ℕ (𝑎𝑛)) ≤ (Σ^‘(𝑛 ∈ ℕ ↦ (𝑂‘(𝑎𝑛)))))
Assertion
Ref Expression
isomennd (𝜑𝑂 ∈ OutMeas)
Distinct variable groups:   𝑂,𝑎,𝑛,𝑥   𝑦,𝑂,𝑥   𝑋,𝑎   𝜑,𝑎,𝑛,𝑥   𝜑,𝑦
Allowed substitution hints:   𝑉(𝑥,𝑦,𝑛,𝑎)   𝑋(𝑥,𝑦,𝑛)

Proof of Theorem isomennd
Dummy variables 𝑓 𝑚 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 isomennd.o . . . . 5 (𝜑𝑂:𝒫 𝑋⟶(0[,]+∞))
2 id 22 . . . . . 6 (𝑂:𝒫 𝑋⟶(0[,]+∞) → 𝑂:𝒫 𝑋⟶(0[,]+∞))
3 fdm 6671 . . . . . . 7 (𝑂:𝒫 𝑋⟶(0[,]+∞) → dom 𝑂 = 𝒫 𝑋)
43feq2d 6646 . . . . . 6 (𝑂:𝒫 𝑋⟶(0[,]+∞) → (𝑂:dom 𝑂⟶(0[,]+∞) ↔ 𝑂:𝒫 𝑋⟶(0[,]+∞)))
52, 4mpbird 258 . . . . 5 (𝑂:𝒫 𝑋⟶(0[,]+∞) → 𝑂:dom 𝑂⟶(0[,]+∞))
61, 5syl 17 . . . 4 (𝜑𝑂:dom 𝑂⟶(0[,]+∞))
7 unipw 5396 . . . . . . 7 𝒫 𝑋 = 𝑋
87pweqi 4552 . . . . . 6 𝒫 𝒫 𝑋 = 𝒫 𝑋
98a1i 11 . . . . 5 (𝜑 → 𝒫 𝒫 𝑋 = 𝒫 𝑋)
101, 3syl 17 . . . . . . 7 (𝜑 → dom 𝑂 = 𝒫 𝑋)
1110unieqd 4858 . . . . . 6 (𝜑 dom 𝑂 = 𝒫 𝑋)
1211pweqd 4553 . . . . 5 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
139, 12, 103eqtr4rd 2786 . . . 4 (𝜑 → dom 𝑂 = 𝒫 dom 𝑂)
14 isomennd.o0 . . . 4 (𝜑 → (𝑂‘∅) = 0)
156, 13, 14jca31 519 . . 3 (𝜑 → ((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0))
16 simpl 483 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝜑)
17 simpr 485 . . . . . . . 8 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 dom 𝑂)
1812, 9eqtrd 2775 . . . . . . . . 9 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝑋)
1918adantr 481 . . . . . . . 8 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝒫 dom 𝑂 = 𝒫 𝑋)
2017, 19eleqtrd 2842 . . . . . . 7 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 𝑋)
21 elpwi 4543 . . . . . . 7 (𝑥 ∈ 𝒫 𝑋𝑥𝑋)
2220, 21syl 17 . . . . . 6 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥𝑋)
2322adantrr 723 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝑥𝑋)
24 elpwi 4543 . . . . . . 7 (𝑦 ∈ 𝒫 𝑥𝑦𝑥)
2524adantl 482 . . . . . 6 ((𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥) → 𝑦𝑥)
2625adantl 482 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝑦𝑥)
27 isomennd.le . . . . 5 ((𝜑𝑥𝑋𝑦𝑥) → (𝑂𝑦) ≤ (𝑂𝑥))
2816, 23, 26, 27syl3anc 1379 . . . 4 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → (𝑂𝑦) ≤ (𝑂𝑥))
2928ralrimivva 3183 . . 3 (𝜑 → ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥))
30 0le0 12280 . . . . . . . . 9 0 ≤ 0
3130a1i 11 . . . . . . . 8 ((𝜑𝑥 = ∅) → 0 ≤ 0)
32 unieq 4856 . . . . . . . . . . . . 13 (𝑥 = ∅ → 𝑥 = ∅)
33 uni0 4873 . . . . . . . . . . . . . 14 ∅ = ∅
3433a1i 11 . . . . . . . . . . . . 13 (𝑥 = ∅ → ∅ = ∅)
3532, 34eqtrd 2775 . . . . . . . . . . . 12 (𝑥 = ∅ → 𝑥 = ∅)
3635fveq2d 6838 . . . . . . . . . . 11 (𝑥 = ∅ → (𝑂 𝑥) = (𝑂‘∅))
3736adantl 482 . . . . . . . . . 10 ((𝜑𝑥 = ∅) → (𝑂 𝑥) = (𝑂‘∅))
3814adantr 481 . . . . . . . . . 10 ((𝜑𝑥 = ∅) → (𝑂‘∅) = 0)
3937, 38eqtrd 2775 . . . . . . . . 9 ((𝜑𝑥 = ∅) → (𝑂 𝑥) = 0)
40 reseq2 5933 . . . . . . . . . . . . 13 (𝑥 = ∅ → (𝑂𝑥) = (𝑂 ↾ ∅))
41 res0 5942 . . . . . . . . . . . . . 14 (𝑂 ↾ ∅) = ∅
4241a1i 11 . . . . . . . . . . . . 13 (𝑥 = ∅ → (𝑂 ↾ ∅) = ∅)
4340, 42eqtrd 2775 . . . . . . . . . . . 12 (𝑥 = ∅ → (𝑂𝑥) = ∅)
4443fveq2d 6838 . . . . . . . . . . 11 (𝑥 = ∅ → (Σ^‘(𝑂𝑥)) = (Σ^‘∅))
45 sge00 46826 . . . . . . . . . . . 12 ^‘∅) = 0
4645a1i 11 . . . . . . . . . . 11 (𝑥 = ∅ → (Σ^‘∅) = 0)
4744, 46eqtrd 2775 . . . . . . . . . 10 (𝑥 = ∅ → (Σ^‘(𝑂𝑥)) = 0)
4847adantl 482 . . . . . . . . 9 ((𝜑𝑥 = ∅) → (Σ^‘(𝑂𝑥)) = 0)
4939, 48breq12d 5092 . . . . . . . 8 ((𝜑𝑥 = ∅) → ((𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)) ↔ 0 ≤ 0))
5031, 49mpbird 258 . . . . . . 7 ((𝜑𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
5150ad4ant14 758 . . . . . 6 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
52 simpl 483 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → ((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω))
53 neqne 2943 . . . . . . . 8 𝑥 = ∅ → 𝑥 ≠ ∅)
5453adantl 482 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → 𝑥 ≠ ∅)
55 ssnnf1octb 45648 . . . . . . . . 9 ((𝑥 ≼ ω ∧ 𝑥 ≠ ∅) → ∃𝑓(dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥))
5655adantll 720 . . . . . . . 8 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → ∃𝑓(dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥))
571ad2antrr 732 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → 𝑂:𝒫 𝑋⟶(0[,]+∞))
5814ad2antrr 732 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → (𝑂‘∅) = 0)
59 simpr 485 . . . . . . . . . . . . . . 15 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 dom 𝑂)
6010pweqd 4553 . . . . . . . . . . . . . . . 16 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
6160adantr 481 . . . . . . . . . . . . . . 15 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
6259, 61eleqtrd 2842 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 𝒫 𝑋)
63 elpwi 4543 . . . . . . . . . . . . . 14 (𝑥 ∈ 𝒫 𝒫 𝑋𝑥 ⊆ 𝒫 𝑋)
6462, 63syl 17 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ⊆ 𝒫 𝑋)
6564adantr 481 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → 𝑥 ⊆ 𝒫 𝑋)
66 simpl 483 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝜑)
67 isomennd.sa . . . . . . . . . . . . . 14 ((𝜑𝑎:ℕ⟶𝒫 𝑋) → (𝑂 𝑛 ∈ ℕ (𝑎𝑛)) ≤ (Σ^‘(𝑛 ∈ ℕ ↦ (𝑂‘(𝑎𝑛)))))
6866, 67sylan 586 . . . . . . . . . . . . 13 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑎:ℕ⟶𝒫 𝑋) → (𝑂 𝑛 ∈ ℕ (𝑎𝑛)) ≤ (Σ^‘(𝑛 ∈ ℕ ↦ (𝑂‘(𝑎𝑛)))))
6968adantlr 721 . . . . . . . . . . . 12 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) ∧ 𝑎:ℕ⟶𝒫 𝑋) → (𝑂 𝑛 ∈ ℕ (𝑎𝑛)) ≤ (Σ^‘(𝑛 ∈ ℕ ↦ (𝑂‘(𝑎𝑛)))))
70 simprl 776 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → dom 𝑓 ⊆ ℕ)
71 simprr 778 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → 𝑓:dom 𝑓1-1-onto𝑥)
72 eleq1w 2823 . . . . . . . . . . . . . 14 (𝑚 = 𝑛 → (𝑚 ∈ dom 𝑓𝑛 ∈ dom 𝑓))
73 fveq2 6834 . . . . . . . . . . . . . 14 (𝑚 = 𝑛 → (𝑓𝑚) = (𝑓𝑛))
7472, 73ifbieq1d 4486 . . . . . . . . . . . . 13 (𝑚 = 𝑛 → if(𝑚 ∈ dom 𝑓, (𝑓𝑚), ∅) = if(𝑛 ∈ dom 𝑓, (𝑓𝑛), ∅))
7574cbvmptv 5183 . . . . . . . . . . . 12 (𝑚 ∈ ℕ ↦ if(𝑚 ∈ dom 𝑓, (𝑓𝑚), ∅)) = (𝑛 ∈ ℕ ↦ if(𝑛 ∈ dom 𝑓, (𝑓𝑛), ∅))
7657, 58, 65, 69, 70, 71, 75isomenndlem 46980 . . . . . . . . . . 11 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
7776ex 413 . . . . . . . . . 10 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → ((dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
7877ad2antrr 732 . . . . . . . . 9 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → ((dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
7978exlimdv 1940 . . . . . . . 8 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → (∃𝑓(dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8056, 79mpd 15 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
8152, 54, 80syl2anc 590 . . . . . 6 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
8251, 81pm2.61dan 818 . . . . 5 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
8382ex 413 . . . 4 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → (𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8483ralrimiva 3132 . . 3 (𝜑 → ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8515, 29, 84jca31 519 . 2 (𝜑 → ((((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥)) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))))
86 isomennd.x . . . . 5 (𝜑𝑋𝑉)
8786pwexd 5315 . . . 4 (𝜑 → 𝒫 𝑋 ∈ V)
881, 87fexd 7178 . . 3 (𝜑𝑂 ∈ V)
89 isome 46944 . . 3 (𝑂 ∈ V → (𝑂 ∈ OutMeas ↔ ((((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥)) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))))
9088, 89syl 17 . 2 (𝜑 → (𝑂 ∈ OutMeas ↔ ((((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥)) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))))
9185, 90mpbird 258 1 (𝜑𝑂 ∈ OutMeas)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 207  wa 396  w3a 1092   = wceq 1547  wex 1786  wcel 2119  wne 2935  wral 3054  Vcvv 3432  wss 3890  c0 4268  ifcif 4461  𝒫 cpw 4536   cuni 4845   ciun 4928   class class class wbr 5079  cmpt 5160  dom cdm 5625  cres 5627  wf 6488  1-1-ontowf1o 6491  cfv 6492  (class class class)co 7363  ωcom 7813  cdom 8888  0cc0 11036  +∞cpnf 11174  cle 11178  cn 12172  [,]cicc 13299  Σ^csumge0 46812  OutMeascome 46939
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1974  ax-7 2015  ax-8 2121  ax-9 2129  ax-10 2152  ax-11 2168  ax-12 2189  ax-ext 2712  ax-rep 5206  ax-sep 5225  ax-nul 5235  ax-pow 5301  ax-pr 5369  ax-un 7685  ax-inf2 9560  ax-cnex 11092  ax-resscn 11093  ax-1cn 11094  ax-icn 11095  ax-addcl 11096  ax-addrcl 11097  ax-mulcl 11098  ax-mulrcl 11099  ax-mulcom 11100  ax-addass 11101  ax-mulass 11102  ax-distr 11103  ax-i2m1 11104  ax-1ne0 11105  ax-1rid 11106  ax-rnegex 11107  ax-rrecex 11108  ax-cnre 11109  ax-pre-lttri 11110  ax-pre-lttrn 11111  ax-pre-ltadd 11112  ax-pre-mulgt0 11113  ax-pre-sup 11114
This theorem depends on definitions:  df-bi 208  df-an 397  df-or 854  df-3or 1093  df-3an 1094  df-tru 1550  df-fal 1560  df-ex 1787  df-nf 1791  df-sb 2074  df-mo 2543  df-eu 2573  df-clab 2719  df-cleq 2732  df-clel 2815  df-nfc 2889  df-ne 2936  df-nel 3040  df-ral 3055  df-rex 3065  df-rmo 3345  df-reu 3346  df-rab 3393  df-v 3434  df-sbc 3731  df-csb 3839  df-dif 3893  df-un 3895  df-in 3897  df-ss 3907  df-pss 3910  df-nul 4269  df-if 4462  df-pw 4538  df-sn 4563  df-pr 4565  df-op 4569  df-uni 4846  df-int 4885  df-iun 4930  df-br 5080  df-opab 5142  df-mpt 5161  df-tr 5187  df-id 5520  df-eprel 5525  df-po 5533  df-so 5534  df-fr 5578  df-se 5579  df-we 5580  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-isom 6501  df-riota 7320  df-ov 7366  df-oprab 7367  df-mpo 7368  df-om 7814  df-1st 7938  df-2nd 7939  df-frecs 8228  df-wrecs 8259  df-recs 8308  df-rdg 8346  df-1o 8402  df-er 8640  df-en 8891  df-dom 8892  df-sdom 8893  df-fin 8894  df-sup 9352  df-oi 9422  df-card 9861  df-pnf 11179  df-mnf 11180  df-xr 11181  df-ltxr 11182  df-le 11183  df-sub 11377  df-neg 11378  df-div 11806  df-nn 12173  df-2 12242  df-3 12243  df-n0 12436  df-z 12523  df-uz 12787  df-rp 12941  df-xadd 13062  df-ico 13302  df-icc 13303  df-fz 13460  df-fzo 13607  df-seq 13962  df-exp 14022  df-hash 14291  df-cj 15059  df-re 15060  df-im 15061  df-sqrt 15195  df-abs 15196  df-clim 15448  df-sum 15647  df-sumge0 46813  df-ome 46940
This theorem is referenced by:  ovnome  47023
  Copyright terms: Public domain W3C validator