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 46487
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 6746 . . . . . . 7 (𝑂:𝒫 𝑋⟶(0[,]+∞) → dom 𝑂 = 𝒫 𝑋)
43feq2d 6723 . . . . . 6 (𝑂:𝒫 𝑋⟶(0[,]+∞) → (𝑂:dom 𝑂⟶(0[,]+∞) ↔ 𝑂:𝒫 𝑋⟶(0[,]+∞)))
52, 4mpbird 257 . . . . 5 (𝑂:𝒫 𝑋⟶(0[,]+∞) → 𝑂:dom 𝑂⟶(0[,]+∞))
61, 5syl 17 . . . 4 (𝜑𝑂:dom 𝑂⟶(0[,]+∞))
7 unipw 5461 . . . . . . 7 𝒫 𝑋 = 𝑋
87pweqi 4621 . . . . . 6 𝒫 𝒫 𝑋 = 𝒫 𝑋
98a1i 11 . . . . 5 (𝜑 → 𝒫 𝒫 𝑋 = 𝒫 𝑋)
101, 3syl 17 . . . . . . 7 (𝜑 → dom 𝑂 = 𝒫 𝑋)
1110unieqd 4925 . . . . . 6 (𝜑 dom 𝑂 = 𝒫 𝑋)
1211pweqd 4622 . . . . 5 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
139, 12, 103eqtr4rd 2786 . . . 4 (𝜑 → dom 𝑂 = 𝒫 dom 𝑂)
14 isomennd.o0 . . . 4 (𝜑 → (𝑂‘∅) = 0)
156, 13, 14jca31 514 . . 3 (𝜑 → ((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0))
16 simpl 482 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝜑)
17 simpr 484 . . . . . . . 8 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 dom 𝑂)
1812, 9eqtrd 2775 . . . . . . . . 9 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝑋)
1918adantr 480 . . . . . . . 8 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝒫 dom 𝑂 = 𝒫 𝑋)
2017, 19eleqtrd 2841 . . . . . . 7 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 𝑋)
21 elpwi 4612 . . . . . . 7 (𝑥 ∈ 𝒫 𝑋𝑥𝑋)
2220, 21syl 17 . . . . . 6 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥𝑋)
2322adantrr 717 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝑥𝑋)
24 elpwi 4612 . . . . . . 7 (𝑦 ∈ 𝒫 𝑥𝑦𝑥)
2524adantl 481 . . . . . 6 ((𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥) → 𝑦𝑥)
2625adantl 481 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝑦𝑥)
27 isomennd.le . . . . 5 ((𝜑𝑥𝑋𝑦𝑥) → (𝑂𝑦) ≤ (𝑂𝑥))
2816, 23, 26, 27syl3anc 1370 . . . 4 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → (𝑂𝑦) ≤ (𝑂𝑥))
2928ralrimivva 3200 . . 3 (𝜑 → ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥))
30 0le0 12365 . . . . . . . . 9 0 ≤ 0
3130a1i 11 . . . . . . . 8 ((𝜑𝑥 = ∅) → 0 ≤ 0)
32 unieq 4923 . . . . . . . . . . . . 13 (𝑥 = ∅ → 𝑥 = ∅)
33 uni0 4940 . . . . . . . . . . . . . 14 ∅ = ∅
3433a1i 11 . . . . . . . . . . . . 13 (𝑥 = ∅ → ∅ = ∅)
3532, 34eqtrd 2775 . . . . . . . . . . . 12 (𝑥 = ∅ → 𝑥 = ∅)
3635fveq2d 6911 . . . . . . . . . . 11 (𝑥 = ∅ → (𝑂 𝑥) = (𝑂‘∅))
3736adantl 481 . . . . . . . . . 10 ((𝜑𝑥 = ∅) → (𝑂 𝑥) = (𝑂‘∅))
3814adantr 480 . . . . . . . . . 10 ((𝜑𝑥 = ∅) → (𝑂‘∅) = 0)
3937, 38eqtrd 2775 . . . . . . . . 9 ((𝜑𝑥 = ∅) → (𝑂 𝑥) = 0)
40 reseq2 5995 . . . . . . . . . . . . 13 (𝑥 = ∅ → (𝑂𝑥) = (𝑂 ↾ ∅))
41 res0 6004 . . . . . . . . . . . . . 14 (𝑂 ↾ ∅) = ∅
4241a1i 11 . . . . . . . . . . . . 13 (𝑥 = ∅ → (𝑂 ↾ ∅) = ∅)
4340, 42eqtrd 2775 . . . . . . . . . . . 12 (𝑥 = ∅ → (𝑂𝑥) = ∅)
4443fveq2d 6911 . . . . . . . . . . 11 (𝑥 = ∅ → (Σ^‘(𝑂𝑥)) = (Σ^‘∅))
45 sge00 46332 . . . . . . . . . . . 12 ^‘∅) = 0
4645a1i 11 . . . . . . . . . . 11 (𝑥 = ∅ → (Σ^‘∅) = 0)
4744, 46eqtrd 2775 . . . . . . . . . 10 (𝑥 = ∅ → (Σ^‘(𝑂𝑥)) = 0)
4847adantl 481 . . . . . . . . 9 ((𝜑𝑥 = ∅) → (Σ^‘(𝑂𝑥)) = 0)
4939, 48breq12d 5161 . . . . . . . 8 ((𝜑𝑥 = ∅) → ((𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)) ↔ 0 ≤ 0))
5031, 49mpbird 257 . . . . . . 7 ((𝜑𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
5150ad4ant14 752 . . . . . 6 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
52 simpl 482 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → ((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω))
53 neqne 2946 . . . . . . . 8 𝑥 = ∅ → 𝑥 ≠ ∅)
5453adantl 481 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → 𝑥 ≠ ∅)
55 ssnnf1octb 45137 . . . . . . . . 9 ((𝑥 ≼ ω ∧ 𝑥 ≠ ∅) → ∃𝑓(dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥))
5655adantll 714 . . . . . . . 8 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → ∃𝑓(dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥))
571ad2antrr 726 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → 𝑂:𝒫 𝑋⟶(0[,]+∞))
5814ad2antrr 726 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → (𝑂‘∅) = 0)
59 simpr 484 . . . . . . . . . . . . . . 15 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 dom 𝑂)
6010pweqd 4622 . . . . . . . . . . . . . . . 16 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
6160adantr 480 . . . . . . . . . . . . . . 15 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
6259, 61eleqtrd 2841 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 𝒫 𝑋)
63 elpwi 4612 . . . . . . . . . . . . . 14 (𝑥 ∈ 𝒫 𝒫 𝑋𝑥 ⊆ 𝒫 𝑋)
6462, 63syl 17 . . . . . . . . . . . . 13 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ⊆ 𝒫 𝑋)
6564adantr 480 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → 𝑥 ⊆ 𝒫 𝑋)
66 simpl 482 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝜑)
67 isomennd.sa . . . . . . . . . . . . . 14 ((𝜑𝑎:ℕ⟶𝒫 𝑋) → (𝑂 𝑛 ∈ ℕ (𝑎𝑛)) ≤ (Σ^‘(𝑛 ∈ ℕ ↦ (𝑂‘(𝑎𝑛)))))
6866, 67sylan 580 . . . . . . . . . . . . 13 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑎:ℕ⟶𝒫 𝑋) → (𝑂 𝑛 ∈ ℕ (𝑎𝑛)) ≤ (Σ^‘(𝑛 ∈ ℕ ↦ (𝑂‘(𝑎𝑛)))))
6968adantlr 715 . . . . . . . . . . . 12 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) ∧ 𝑎:ℕ⟶𝒫 𝑋) → (𝑂 𝑛 ∈ ℕ (𝑎𝑛)) ≤ (Σ^‘(𝑛 ∈ ℕ ↦ (𝑂‘(𝑎𝑛)))))
70 simprl 771 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → dom 𝑓 ⊆ ℕ)
71 simprr 773 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → 𝑓:dom 𝑓1-1-onto𝑥)
72 eleq1w 2822 . . . . . . . . . . . . . 14 (𝑚 = 𝑛 → (𝑚 ∈ dom 𝑓𝑛 ∈ dom 𝑓))
73 fveq2 6907 . . . . . . . . . . . . . 14 (𝑚 = 𝑛 → (𝑓𝑚) = (𝑓𝑛))
7472, 73ifbieq1d 4555 . . . . . . . . . . . . 13 (𝑚 = 𝑛 → if(𝑚 ∈ dom 𝑓, (𝑓𝑚), ∅) = if(𝑛 ∈ dom 𝑓, (𝑓𝑛), ∅))
7574cbvmptv 5261 . . . . . . . . . . . 12 (𝑚 ∈ ℕ ↦ if(𝑚 ∈ dom 𝑓, (𝑓𝑚), ∅)) = (𝑛 ∈ ℕ ↦ if(𝑛 ∈ dom 𝑓, (𝑓𝑛), ∅))
7657, 58, 65, 69, 70, 71, 75isomenndlem 46486 . . . . . . . . . . 11 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
7776ex 412 . . . . . . . . . 10 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → ((dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
7877ad2antrr 726 . . . . . . . . 9 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → ((dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
7978exlimdv 1931 . . . . . . . 8 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → (∃𝑓(dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8056, 79mpd 15 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
8152, 54, 80syl2anc 584 . . . . . 6 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
8251, 81pm2.61dan 813 . . . . 5 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
8382ex 412 . . . 4 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → (𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8483ralrimiva 3144 . . 3 (𝜑 → ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8515, 29, 84jca31 514 . 2 (𝜑 → ((((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥)) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))))
86 isomennd.x . . . . 5 (𝜑𝑋𝑉)
8786pwexd 5385 . . . 4 (𝜑 → 𝒫 𝑋 ∈ V)
881, 87fexd 7247 . . 3 (𝜑𝑂 ∈ V)
89 isome 46450 . . 3 (𝑂 ∈ V → (𝑂 ∈ OutMeas ↔ ((((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥)) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))))
9088, 89syl 17 . 2 (𝜑 → (𝑂 ∈ OutMeas ↔ ((((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥)) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))))
9185, 90mpbird 257 1 (𝜑𝑂 ∈ OutMeas)
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395  w3a 1086   = wceq 1537  wex 1776  wcel 2106  wne 2938  wral 3059  Vcvv 3478  wss 3963  c0 4339  ifcif 4531  𝒫 cpw 4605   cuni 4912   ciun 4996   class class class wbr 5148  cmpt 5231  dom cdm 5689  cres 5691  wf 6559  1-1-ontowf1o 6562  cfv 6563  (class class class)co 7431  ωcom 7887  cdom 8982  0cc0 11153  +∞cpnf 11290  cle 11294  cn 12264  [,]cicc 13387  Σ^csumge0 46318  OutMeascome 46445
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1792  ax-4 1806  ax-5 1908  ax-6 1965  ax-7 2005  ax-8 2108  ax-9 2116  ax-10 2139  ax-11 2155  ax-12 2175  ax-ext 2706  ax-rep 5285  ax-sep 5302  ax-nul 5312  ax-pow 5371  ax-pr 5438  ax-un 7754  ax-inf2 9679  ax-cnex 11209  ax-resscn 11210  ax-1cn 11211  ax-icn 11212  ax-addcl 11213  ax-addrcl 11214  ax-mulcl 11215  ax-mulrcl 11216  ax-mulcom 11217  ax-addass 11218  ax-mulass 11219  ax-distr 11220  ax-i2m1 11221  ax-1ne0 11222  ax-1rid 11223  ax-rnegex 11224  ax-rrecex 11225  ax-cnre 11226  ax-pre-lttri 11227  ax-pre-lttrn 11228  ax-pre-ltadd 11229  ax-pre-mulgt0 11230  ax-pre-sup 11231
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1540  df-fal 1550  df-ex 1777  df-nf 1781  df-sb 2063  df-mo 2538  df-eu 2567  df-clab 2713  df-cleq 2727  df-clel 2814  df-nfc 2890  df-ne 2939  df-nel 3045  df-ral 3060  df-rex 3069  df-rmo 3378  df-reu 3379  df-rab 3434  df-v 3480  df-sbc 3792  df-csb 3909  df-dif 3966  df-un 3968  df-in 3970  df-ss 3980  df-pss 3983  df-nul 4340  df-if 4532  df-pw 4607  df-sn 4632  df-pr 4634  df-op 4638  df-uni 4913  df-int 4952  df-iun 4998  df-br 5149  df-opab 5211  df-mpt 5232  df-tr 5266  df-id 5583  df-eprel 5589  df-po 5597  df-so 5598  df-fr 5641  df-se 5642  df-we 5643  df-xp 5695  df-rel 5696  df-cnv 5697  df-co 5698  df-dm 5699  df-rn 5700  df-res 5701  df-ima 5702  df-pred 6323  df-ord 6389  df-on 6390  df-lim 6391  df-suc 6392  df-iota 6516  df-fun 6565  df-fn 6566  df-f 6567  df-f1 6568  df-fo 6569  df-f1o 6570  df-fv 6571  df-isom 6572  df-riota 7388  df-ov 7434  df-oprab 7435  df-mpo 7436  df-om 7888  df-1st 8013  df-2nd 8014  df-frecs 8305  df-wrecs 8336  df-recs 8410  df-rdg 8449  df-1o 8505  df-er 8744  df-en 8985  df-dom 8986  df-sdom 8987  df-fin 8988  df-sup 9480  df-oi 9548  df-card 9977  df-pnf 11295  df-mnf 11296  df-xr 11297  df-ltxr 11298  df-le 11299  df-sub 11492  df-neg 11493  df-div 11919  df-nn 12265  df-2 12327  df-3 12328  df-n0 12525  df-z 12612  df-uz 12877  df-rp 13033  df-xadd 13153  df-ico 13390  df-icc 13391  df-fz 13545  df-fzo 13692  df-seq 14040  df-exp 14100  df-hash 14367  df-cj 15135  df-re 15136  df-im 15137  df-sqrt 15271  df-abs 15272  df-clim 15521  df-sum 15720  df-sumge0 46319  df-ome 46446
This theorem is referenced by:  ovnome  46529
  Copyright terms: Public domain W3C validator