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 46536
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 6700 . . . . . . 7 (𝑂:𝒫 𝑋⟶(0[,]+∞) → dom 𝑂 = 𝒫 𝑋)
43feq2d 6675 . . . . . 6 (𝑂:𝒫 𝑋⟶(0[,]+∞) → (𝑂:dom 𝑂⟶(0[,]+∞) ↔ 𝑂:𝒫 𝑋⟶(0[,]+∞)))
52, 4mpbird 257 . . . . 5 (𝑂:𝒫 𝑋⟶(0[,]+∞) → 𝑂:dom 𝑂⟶(0[,]+∞))
61, 5syl 17 . . . 4 (𝜑𝑂:dom 𝑂⟶(0[,]+∞))
7 unipw 5413 . . . . . . 7 𝒫 𝑋 = 𝑋
87pweqi 4582 . . . . . 6 𝒫 𝒫 𝑋 = 𝒫 𝑋
98a1i 11 . . . . 5 (𝜑 → 𝒫 𝒫 𝑋 = 𝒫 𝑋)
101, 3syl 17 . . . . . . 7 (𝜑 → dom 𝑂 = 𝒫 𝑋)
1110unieqd 4887 . . . . . 6 (𝜑 dom 𝑂 = 𝒫 𝑋)
1211pweqd 4583 . . . . 5 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
139, 12, 103eqtr4rd 2776 . . . 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 2765 . . . . . . . . 9 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝑋)
1918adantr 480 . . . . . . . 8 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝒫 dom 𝑂 = 𝒫 𝑋)
2017, 19eleqtrd 2831 . . . . . . 7 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 𝑋)
21 elpwi 4573 . . . . . . 7 (𝑥 ∈ 𝒫 𝑋𝑥𝑋)
2220, 21syl 17 . . . . . 6 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥𝑋)
2322adantrr 717 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝑥𝑋)
24 elpwi 4573 . . . . . . 7 (𝑦 ∈ 𝒫 𝑥𝑦𝑥)
2524adantl 481 . . . . . 6 ((𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥) → 𝑦𝑥)
2625adantl 481 . . . . 5 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → 𝑦𝑥)
27 isomennd.le . . . . 5 ((𝜑𝑥𝑋𝑦𝑥) → (𝑂𝑦) ≤ (𝑂𝑥))
2816, 23, 26, 27syl3anc 1373 . . . 4 ((𝜑 ∧ (𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥)) → (𝑂𝑦) ≤ (𝑂𝑥))
2928ralrimivva 3181 . . 3 (𝜑 → ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥))
30 0le0 12294 . . . . . . . . 9 0 ≤ 0
3130a1i 11 . . . . . . . 8 ((𝜑𝑥 = ∅) → 0 ≤ 0)
32 unieq 4885 . . . . . . . . . . . . 13 (𝑥 = ∅ → 𝑥 = ∅)
33 uni0 4902 . . . . . . . . . . . . . 14 ∅ = ∅
3433a1i 11 . . . . . . . . . . . . 13 (𝑥 = ∅ → ∅ = ∅)
3532, 34eqtrd 2765 . . . . . . . . . . . 12 (𝑥 = ∅ → 𝑥 = ∅)
3635fveq2d 6865 . . . . . . . . . . 11 (𝑥 = ∅ → (𝑂 𝑥) = (𝑂‘∅))
3736adantl 481 . . . . . . . . . 10 ((𝜑𝑥 = ∅) → (𝑂 𝑥) = (𝑂‘∅))
3814adantr 480 . . . . . . . . . 10 ((𝜑𝑥 = ∅) → (𝑂‘∅) = 0)
3937, 38eqtrd 2765 . . . . . . . . 9 ((𝜑𝑥 = ∅) → (𝑂 𝑥) = 0)
40 reseq2 5948 . . . . . . . . . . . . 13 (𝑥 = ∅ → (𝑂𝑥) = (𝑂 ↾ ∅))
41 res0 5957 . . . . . . . . . . . . . 14 (𝑂 ↾ ∅) = ∅
4241a1i 11 . . . . . . . . . . . . 13 (𝑥 = ∅ → (𝑂 ↾ ∅) = ∅)
4340, 42eqtrd 2765 . . . . . . . . . . . 12 (𝑥 = ∅ → (𝑂𝑥) = ∅)
4443fveq2d 6865 . . . . . . . . . . 11 (𝑥 = ∅ → (Σ^‘(𝑂𝑥)) = (Σ^‘∅))
45 sge00 46381 . . . . . . . . . . . 12 ^‘∅) = 0
4645a1i 11 . . . . . . . . . . 11 (𝑥 = ∅ → (Σ^‘∅) = 0)
4744, 46eqtrd 2765 . . . . . . . . . 10 (𝑥 = ∅ → (Σ^‘(𝑂𝑥)) = 0)
4847adantl 481 . . . . . . . . 9 ((𝜑𝑥 = ∅) → (Σ^‘(𝑂𝑥)) = 0)
4939, 48breq12d 5123 . . . . . . . 8 ((𝜑𝑥 = ∅) → ((𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)) ↔ 0 ≤ 0))
5031, 49mpbird 257 . . . . . . 7 ((𝜑𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
5150ad4ant14 752 . . . . . 6 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ 𝑥 = ∅) → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))
52 simpl 482 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → ((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω))
53 neqne 2934 . . . . . . . 8 𝑥 = ∅ → 𝑥 ≠ ∅)
5453adantl 481 . . . . . . 7 ((((𝜑𝑥 ∈ 𝒫 dom 𝑂) ∧ 𝑥 ≼ ω) ∧ ¬ 𝑥 = ∅) → 𝑥 ≠ ∅)
55 ssnnf1octb 45195 . . . . . . . . 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 4583 . . . . . . . . . . . . . . . 16 (𝜑 → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
6160adantr 480 . . . . . . . . . . . . . . 15 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝒫 dom 𝑂 = 𝒫 𝒫 𝑋)
6259, 61eleqtrd 2831 . . . . . . . . . . . . . 14 ((𝜑𝑥 ∈ 𝒫 dom 𝑂) → 𝑥 ∈ 𝒫 𝒫 𝑋)
63 elpwi 4573 . . . . . . . . . . . . . 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 2812 . . . . . . . . . . . . . 14 (𝑚 = 𝑛 → (𝑚 ∈ dom 𝑓𝑛 ∈ dom 𝑓))
73 fveq2 6861 . . . . . . . . . . . . . 14 (𝑚 = 𝑛 → (𝑓𝑚) = (𝑓𝑛))
7472, 73ifbieq1d 4516 . . . . . . . . . . . . 13 (𝑚 = 𝑛 → if(𝑚 ∈ dom 𝑓, (𝑓𝑚), ∅) = if(𝑛 ∈ dom 𝑓, (𝑓𝑛), ∅))
7574cbvmptv 5214 . . . . . . . . . . . 12 (𝑚 ∈ ℕ ↦ if(𝑚 ∈ dom 𝑓, (𝑓𝑚), ∅)) = (𝑛 ∈ ℕ ↦ if(𝑛 ∈ dom 𝑓, (𝑓𝑛), ∅))
7657, 58, 65, 69, 70, 71, 75isomenndlem 46535 . . . . . . . . . . 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 3126 . . 3 (𝜑 → ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥))))
8515, 29, 84jca31 514 . 2 (𝜑 → ((((𝑂:dom 𝑂⟶(0[,]+∞) ∧ dom 𝑂 = 𝒫 dom 𝑂) ∧ (𝑂‘∅) = 0) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂𝑦 ∈ 𝒫 𝑥(𝑂𝑦) ≤ (𝑂𝑥)) ∧ ∀𝑥 ∈ 𝒫 dom 𝑂(𝑥 ≼ ω → (𝑂 𝑥) ≤ (Σ^‘(𝑂𝑥)))))
86 isomennd.x . . . . 5 (𝜑𝑋𝑉)
8786pwexd 5337 . . . 4 (𝜑 → 𝒫 𝑋 ∈ V)
881, 87fexd 7204 . . 3 (𝜑𝑂 ∈ V)
89 isome 46499 . . 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 2926  wral 3045  Vcvv 3450  wss 3917  c0 4299  ifcif 4491  𝒫 cpw 4566   cuni 4874   ciun 4958   class class class wbr 5110  cmpt 5191  dom cdm 5641  cres 5643  wf 6510  1-1-ontowf1o 6513  cfv 6514  (class class class)co 7390  ωcom 7845  cdom 8919  0cc0 11075  +∞cpnf 11212  cle 11216  cn 12193  [,]cicc 13316  Σ^csumge0 46367  OutMeascome 46494
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 2702  ax-rep 5237  ax-sep 5254  ax-nul 5264  ax-pow 5323  ax-pr 5390  ax-un 7714  ax-inf2 9601  ax-cnex 11131  ax-resscn 11132  ax-1cn 11133  ax-icn 11134  ax-addcl 11135  ax-addrcl 11136  ax-mulcl 11137  ax-mulrcl 11138  ax-mulcom 11139  ax-addass 11140  ax-mulass 11141  ax-distr 11142  ax-i2m1 11143  ax-1ne0 11144  ax-1rid 11145  ax-rnegex 11146  ax-rrecex 11147  ax-cnre 11148  ax-pre-lttri 11149  ax-pre-lttrn 11150  ax-pre-ltadd 11151  ax-pre-mulgt0 11152  ax-pre-sup 11153
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 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-nel 3031  df-ral 3046  df-rex 3055  df-rmo 3356  df-reu 3357  df-rab 3409  df-v 3452  df-sbc 3757  df-csb 3866  df-dif 3920  df-un 3922  df-in 3924  df-ss 3934  df-pss 3937  df-nul 4300  df-if 4492  df-pw 4568  df-sn 4593  df-pr 4595  df-op 4599  df-uni 4875  df-int 4914  df-iun 4960  df-br 5111  df-opab 5173  df-mpt 5192  df-tr 5218  df-id 5536  df-eprel 5541  df-po 5549  df-so 5550  df-fr 5594  df-se 5595  df-we 5596  df-xp 5647  df-rel 5648  df-cnv 5649  df-co 5650  df-dm 5651  df-rn 5652  df-res 5653  df-ima 5654  df-pred 6277  df-ord 6338  df-on 6339  df-lim 6340  df-suc 6341  df-iota 6467  df-fun 6516  df-fn 6517  df-f 6518  df-f1 6519  df-fo 6520  df-f1o 6521  df-fv 6522  df-isom 6523  df-riota 7347  df-ov 7393  df-oprab 7394  df-mpo 7395  df-om 7846  df-1st 7971  df-2nd 7972  df-frecs 8263  df-wrecs 8294  df-recs 8343  df-rdg 8381  df-1o 8437  df-er 8674  df-en 8922  df-dom 8923  df-sdom 8924  df-fin 8925  df-sup 9400  df-oi 9470  df-card 9899  df-pnf 11217  df-mnf 11218  df-xr 11219  df-ltxr 11220  df-le 11221  df-sub 11414  df-neg 11415  df-div 11843  df-nn 12194  df-2 12256  df-3 12257  df-n0 12450  df-z 12537  df-uz 12801  df-rp 12959  df-xadd 13080  df-ico 13319  df-icc 13320  df-fz 13476  df-fzo 13623  df-seq 13974  df-exp 14034  df-hash 14303  df-cj 15072  df-re 15073  df-im 15074  df-sqrt 15208  df-abs 15209  df-clim 15461  df-sum 15660  df-sumge0 46368  df-ome 46495
This theorem is referenced by:  ovnome  46578
  Copyright terms: Public domain W3C validator