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 46529
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 6697 . . . . . . 7 (𝑂:𝒫 𝑋⟶(0[,]+∞) → dom 𝑂 = 𝒫 𝑋)
43feq2d 6672 . . . . . 6 (𝑂:𝒫 𝑋⟶(0[,]+∞) → (𝑂:dom 𝑂⟶(0[,]+∞) ↔ 𝑂:𝒫 𝑋⟶(0[,]+∞)))
52, 4mpbird 257 . . . . 5 (𝑂:𝒫 𝑋⟶(0[,]+∞) → 𝑂:dom 𝑂⟶(0[,]+∞))
61, 5syl 17 . . . 4 (𝜑𝑂:dom 𝑂⟶(0[,]+∞))
7 unipw 5410 . . . . . . 7 𝒫 𝑋 = 𝑋
87pweqi 4579 . . . . . 6 𝒫 𝒫 𝑋 = 𝒫 𝑋
98a1i 11 . . . . 5 (𝜑 → 𝒫 𝒫 𝑋 = 𝒫 𝑋)
101, 3syl 17 . . . . . . 7 (𝜑 → dom 𝑂 = 𝒫 𝑋)
1110unieqd 4884 . . . . . 6 (𝜑 dom 𝑂 = 𝒫 𝑋)
1211pweqd 4580 . . . . 5 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
139, 12, 103eqtr4rd 2775 . . . 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 2764 . . . . . . . . 9 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝑋)
1918adantr 480 . . . . . . . 8 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝒫 dom 𝑂 = 𝒫 𝑋)
2017, 19eleqtrd 2830 . . . . . . 7 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 𝑋)
21 elpwi 4570 . . . . . . 7 (𝑥 ∈ 𝒫 𝑋𝑥𝑋)
2220, 21syl 17 . . . . . 6 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥𝑋)
2322adantrr 717 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝑥𝑋)
24 elpwi 4570 . . . . . . 7 (𝑦 ∈ 𝒫 𝑥𝑦𝑥)
2524adantl 481 . . . . . 6 ((𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥) → 𝑦𝑥)
2625adantl 481 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝑦𝑥)
27 isomennd.le . . . . 5 ((𝜑𝑥𝑋𝑦𝑥) → (𝑂𝑦) ≤ (𝑂𝑥))
2816, 23, 26, 27syl3anc 1373 . . . 4 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → (𝑂𝑦) ≤ (𝑂𝑥))
2928ralrimivva 3180 . . 3 (𝜑 → ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥))
30 0le0 12287 . . . . . . . . 9 0 ≤ 0
3130a1i 11 . . . . . . . 8 ((𝜑𝑥 = ∅) → 0 ≤ 0)
32 unieq 4882 . . . . . . . . . . . . 13 (𝑥 = ∅ → 𝑥 = ∅)
33 uni0 4899 . . . . . . . . . . . . . 14 ∅ = ∅
3433a1i 11 . . . . . . . . . . . . 13 (𝑥 = ∅ → ∅ = ∅)
3532, 34eqtrd 2764 . . . . . . . . . . . 12 (𝑥 = ∅ → 𝑥 = ∅)
3635fveq2d 6862 . . . . . . . . . . 11 (𝑥 = ∅ → (𝑂 𝑥) = (𝑂‘∅))
3736adantl 481 . . . . . . . . . 10 ((𝜑𝑥 = ∅) → (𝑂 𝑥) = (𝑂‘∅))
3814adantr 480 . . . . . . . . . 10 ((𝜑𝑥 = ∅) → (𝑂‘∅) = 0)
3937, 38eqtrd 2764 . . . . . . . . 9 ((𝜑𝑥 = ∅) → (𝑂 𝑥) = 0)
40 reseq2 5945 . . . . . . . . . . . . 13 (𝑥 = ∅ → (𝑂𝑥) = (𝑂 ↾ ∅))
41 res0 5954 . . . . . . . . . . . . . 14 (𝑂 ↾ ∅) = ∅
4241a1i 11 . . . . . . . . . . . . 13 (𝑥 = ∅ → (𝑂 ↾ ∅) = ∅)
4340, 42eqtrd 2764 . . . . . . . . . . . 12 (𝑥 = ∅ → (𝑂𝑥) = ∅)
4443fveq2d 6862 . . . . . . . . . . 11 (𝑥 = ∅ → (Σ^‘(𝑂𝑥)) = (Σ^‘∅))
45 sge00 46374 . . . . . . . . . . . 12 ^‘∅) = 0
4645a1i 11 . . . . . . . . . . 11 (𝑥 = ∅ → (Σ^‘∅) = 0)
4744, 46eqtrd 2764 . . . . . . . . . 10 (𝑥 = ∅ → (Σ^‘(𝑂𝑥)) = 0)
4847adantl 481 . . . . . . . . 9 ((𝜑𝑥 = ∅) → (Σ^‘(𝑂𝑥)) = 0)
4939, 48breq12d 5120 . . . . . . . 8 ((𝜑𝑥 = ∅) → ((𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)) ↔ 0 ≤ 0))
5031, 49mpbird 257 . . . . . . 7 ((𝜑𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
5150ad4ant14 752 . . . . . 6 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
52 simpl 482 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → ((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω))
53 neqne 2933 . . . . . . . 8 𝑥 = ∅ → 𝑥 ≠ ∅)
5453adantl 481 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → 𝑥 ≠ ∅)
55 ssnnf1octb 45188 . . . . . . . . 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 4580 . . . . . . . . . . . . . . . 16 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
6160adantr 480 . . . . . . . . . . . . . . 15 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
6259, 61eleqtrd 2830 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 𝒫 𝑋)
63 elpwi 4570 . . . . . . . . . . . . . 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 770 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → dom 𝑓 ⊆ ℕ)
71 simprr 772 . . . . . . . . . . . 12 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ (dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥)) → 𝑓:dom 𝑓1-1-onto𝑥)
72 eleq1w 2811 . . . . . . . . . . . . . 14 (𝑚 = 𝑛 → (𝑚 ∈ dom 𝑓𝑛 ∈ dom 𝑓))
73 fveq2 6858 . . . . . . . . . . . . . 14 (𝑚 = 𝑛 → (𝑓𝑚) = (𝑓𝑛))
7472, 73ifbieq1d 4513 . . . . . . . . . . . . 13 (𝑚 = 𝑛 → if(𝑚 ∈ dom 𝑓, (𝑓𝑚), ∅) = if(𝑛 ∈ dom 𝑓, (𝑓𝑛), ∅))
7574cbvmptv 5211 . . . . . . . . . . . 12 (𝑚 ∈ ℕ ↦ if(𝑚 ∈ dom 𝑓, (𝑓𝑚), ∅)) = (𝑛 ∈ ℕ ↦ if(𝑛 ∈ dom 𝑓, (𝑓𝑛), ∅))
7657, 58, 65, 69, 70, 71, 75isomenndlem 46528 . . . . . . . . . . 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 1933 . . . . . . . 8 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → (∃𝑓(dom 𝑓 ⊆ ℕ ∧ 𝑓:dom 𝑓1-1-onto𝑥) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8056, 79mpd 15 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 ≠ ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
8152, 54, 80syl2anc 584 . . . . . 6 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
8251, 81pm2.61dan 812 . . . . 5 (((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
8382ex 412 . . . 4 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → (𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8483ralrimiva 3125 . . 3 (𝜑 → ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8515, 29, 84jca31 514 . 2 (𝜑 → ((((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥)) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))))
86 isomennd.x . . . . 5 (𝜑𝑋𝑉)
8786pwexd 5334 . . . 4 (𝜑 → 𝒫 𝑋 ∈ V)
881, 87fexd 7201 . . 3 (𝜑𝑂 ∈ V)
89 isome 46492 . . 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 1540  wex 1779  wcel 2109  wne 2925  wral 3044  Vcvv 3447  wss 3914  c0 4296  ifcif 4488  𝒫 cpw 4563   cuni 4871   ciun 4955   class class class wbr 5107  cmpt 5188  dom cdm 5638  cres 5640  wf 6507  1-1-ontowf1o 6510  cfv 6511  (class class class)co 7387  ωcom 7842  cdom 8916  0cc0 11068  +∞cpnf 11205  cle 11209  cn 12186  [,]cicc 13309  Σ^csumge0 46360  OutMeascome 46487
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-rep 5234  ax-sep 5251  ax-nul 5261  ax-pow 5320  ax-pr 5387  ax-un 7711  ax-inf2 9594  ax-cnex 11124  ax-resscn 11125  ax-1cn 11126  ax-icn 11127  ax-addcl 11128  ax-addrcl 11129  ax-mulcl 11130  ax-mulrcl 11131  ax-mulcom 11132  ax-addass 11133  ax-mulass 11134  ax-distr 11135  ax-i2m1 11136  ax-1ne0 11137  ax-1rid 11138  ax-rnegex 11139  ax-rrecex 11140  ax-cnre 11141  ax-pre-lttri 11142  ax-pre-lttrn 11143  ax-pre-ltadd 11144  ax-pre-mulgt0 11145  ax-pre-sup 11146
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-nel 3030  df-ral 3045  df-rex 3054  df-rmo 3354  df-reu 3355  df-rab 3406  df-v 3449  df-sbc 3754  df-csb 3863  df-dif 3917  df-un 3919  df-in 3921  df-ss 3931  df-pss 3934  df-nul 4297  df-if 4489  df-pw 4565  df-sn 4590  df-pr 4592  df-op 4596  df-uni 4872  df-int 4911  df-iun 4957  df-br 5108  df-opab 5170  df-mpt 5189  df-tr 5215  df-id 5533  df-eprel 5538  df-po 5546  df-so 5547  df-fr 5591  df-se 5592  df-we 5593  df-xp 5644  df-rel 5645  df-cnv 5646  df-co 5647  df-dm 5648  df-rn 5649  df-res 5650  df-ima 5651  df-pred 6274  df-ord 6335  df-on 6336  df-lim 6337  df-suc 6338  df-iota 6464  df-fun 6513  df-fn 6514  df-f 6515  df-f1 6516  df-fo 6517  df-f1o 6518  df-fv 6519  df-isom 6520  df-riota 7344  df-ov 7390  df-oprab 7391  df-mpo 7392  df-om 7843  df-1st 7968  df-2nd 7969  df-frecs 8260  df-wrecs 8291  df-recs 8340  df-rdg 8378  df-1o 8434  df-er 8671  df-en 8919  df-dom 8920  df-sdom 8921  df-fin 8922  df-sup 9393  df-oi 9463  df-card 9892  df-pnf 11210  df-mnf 11211  df-xr 11212  df-ltxr 11213  df-le 11214  df-sub 11407  df-neg 11408  df-div 11836  df-nn 12187  df-2 12249  df-3 12250  df-n0 12443  df-z 12530  df-uz 12794  df-rp 12952  df-xadd 13073  df-ico 13312  df-icc 13313  df-fz 13469  df-fzo 13616  df-seq 13967  df-exp 14027  df-hash 14296  df-cj 15065  df-re 15066  df-im 15067  df-sqrt 15201  df-abs 15202  df-clim 15454  df-sum 15653  df-sumge0 46361  df-ome 46488
This theorem is referenced by:  ovnome  46571
  Copyright terms: Public domain W3C validator