MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  xpsdsval Structured version   Visualization version   GIF version

Theorem xpsdsval 22186
Description: Value of the metric in a binary structure product. (Contributed by Mario Carneiro, 20-Aug-2015.)
Hypotheses
Ref Expression
xpsds.t 𝑇 = (𝑅 ×s 𝑆)
xpsds.x 𝑋 = (Base‘𝑅)
xpsds.y 𝑌 = (Base‘𝑆)
xpsds.1 (𝜑𝑅𝑉)
xpsds.2 (𝜑𝑆𝑊)
xpsds.p 𝑃 = (dist‘𝑇)
xpsds.m 𝑀 = ((dist‘𝑅) ↾ (𝑋 × 𝑋))
xpsds.n 𝑁 = ((dist‘𝑆) ↾ (𝑌 × 𝑌))
xpsds.3 (𝜑𝑀 ∈ (∞Met‘𝑋))
xpsds.4 (𝜑𝑁 ∈ (∞Met‘𝑌))
xpsds.a (𝜑𝐴𝑋)
xpsds.b (𝜑𝐵𝑌)
xpsds.c (𝜑𝐶𝑋)
xpsds.d (𝜑𝐷𝑌)
Assertion
Ref Expression
xpsdsval (𝜑 → (⟨𝐴, 𝐵𝑃𝐶, 𝐷⟩) = sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))

Proof of Theorem xpsdsval
Dummy variables 𝑥 𝑘 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 xpsds.t . . . . 5 𝑇 = (𝑅 ×s 𝑆)
2 xpsds.x . . . . 5 𝑋 = (Base‘𝑅)
3 xpsds.y . . . . 5 𝑌 = (Base‘𝑆)
4 xpsds.1 . . . . 5 (𝜑𝑅𝑉)
5 xpsds.2 . . . . 5 (𝜑𝑆𝑊)
6 eqid 2622 . . . . 5 (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) = (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))
7 eqid 2622 . . . . 5 (Scalar‘𝑅) = (Scalar‘𝑅)
8 eqid 2622 . . . . 5 ((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})) = ((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))
91, 2, 3, 4, 5, 6, 7, 8xpsval 16232 . . . 4 (𝜑𝑇 = ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) “s ((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))))
101, 2, 3, 4, 5, 6, 7, 8xpslem 16233 . . . 4 (𝜑 → ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) = (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))))
116xpsff1o2 16231 . . . . 5 (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))
12 f1ocnv 6149 . . . . 5 ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) → (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))–1-1-onto→(𝑋 × 𝑌))
1311, 12mp1i 13 . . . 4 (𝜑(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))–1-1-onto→(𝑋 × 𝑌))
14 ovexd 6680 . . . 4 (𝜑 → ((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})) ∈ V)
15 eqid 2622 . . . 4 ((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))) = ((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))
16 xpsds.p . . . 4 𝑃 = (dist‘𝑇)
17 xpsds.m . . . . . 6 𝑀 = ((dist‘𝑅) ↾ (𝑋 × 𝑋))
18 xpsds.n . . . . . 6 𝑁 = ((dist‘𝑆) ↾ (𝑌 × 𝑌))
19 xpsds.3 . . . . . 6 (𝜑𝑀 ∈ (∞Met‘𝑋))
20 xpsds.4 . . . . . 6 (𝜑𝑁 ∈ (∞Met‘𝑌))
211, 2, 3, 4, 5, 16, 17, 18, 19, 20xpsxmetlem 22184 . . . . 5 (𝜑 → (dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ∈ (∞Met‘ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))
22 ssid 3624 . . . . 5 ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) ⊆ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))
23 xmetres2 22166 . . . . 5 (((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ∈ (∞Met‘ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))) ∧ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) ⊆ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))) → ((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))) ∈ (∞Met‘ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))
2421, 22, 23sylancl 694 . . . 4 (𝜑 → ((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))) ∈ (∞Met‘ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))
25 df-ov 6653 . . . . . 6 (𝐴(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐵) = ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩)
26 xpsds.a . . . . . . 7 (𝜑𝐴𝑋)
27 xpsds.b . . . . . . 7 (𝜑𝐵𝑌)
286xpsfval 16227 . . . . . . 7 ((𝐴𝑋𝐵𝑌) → (𝐴(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐵) = ({𝐴} +𝑐 {𝐵}))
2926, 27, 28syl2anc 693 . . . . . 6 (𝜑 → (𝐴(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐵) = ({𝐴} +𝑐 {𝐵}))
3025, 29syl5eqr 2670 . . . . 5 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) = ({𝐴} +𝑐 {𝐵}))
31 opelxpi 5148 . . . . . . 7 ((𝐴𝑋𝐵𝑌) → ⟨𝐴, 𝐵⟩ ∈ (𝑋 × 𝑌))
3226, 27, 31syl2anc 693 . . . . . 6 (𝜑 → ⟨𝐴, 𝐵⟩ ∈ (𝑋 × 𝑌))
33 f1of 6137 . . . . . . . 8 ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) → (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)⟶ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
3411, 33ax-mp 5 . . . . . . 7 (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)⟶ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))
3534ffvelrni 6358 . . . . . 6 (⟨𝐴, 𝐵⟩ ∈ (𝑋 × 𝑌) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
3632, 35syl 17 . . . . 5 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
3730, 36eqeltrrd 2702 . . . 4 (𝜑({𝐴} +𝑐 {𝐵}) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
38 df-ov 6653 . . . . . 6 (𝐶(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐷) = ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩)
39 xpsds.c . . . . . . 7 (𝜑𝐶𝑋)
40 xpsds.d . . . . . . 7 (𝜑𝐷𝑌)
416xpsfval 16227 . . . . . . 7 ((𝐶𝑋𝐷𝑌) → (𝐶(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐷) = ({𝐶} +𝑐 {𝐷}))
4239, 40, 41syl2anc 693 . . . . . 6 (𝜑 → (𝐶(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐷) = ({𝐶} +𝑐 {𝐷}))
4338, 42syl5eqr 2670 . . . . 5 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) = ({𝐶} +𝑐 {𝐷}))
44 opelxpi 5148 . . . . . . 7 ((𝐶𝑋𝐷𝑌) → ⟨𝐶, 𝐷⟩ ∈ (𝑋 × 𝑌))
4539, 40, 44syl2anc 693 . . . . . 6 (𝜑 → ⟨𝐶, 𝐷⟩ ∈ (𝑋 × 𝑌))
4634ffvelrni 6358 . . . . . 6 (⟨𝐶, 𝐷⟩ ∈ (𝑋 × 𝑌) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
4745, 46syl 17 . . . . 5 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
4843, 47eqeltrrd 2702 . . . 4 (𝜑({𝐶} +𝑐 {𝐷}) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
499, 10, 13, 14, 15, 16, 24, 37, 48imasdsf1o 22179 . . 3 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵}))𝑃((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷}))) = (({𝐴} +𝑐 {𝐵})((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))({𝐶} +𝑐 {𝐷})))
5037, 48ovresd 6801 . . 3 (𝜑 → (({𝐴} +𝑐 {𝐵})((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))({𝐶} +𝑐 {𝐷})) = (({𝐴} +𝑐 {𝐵})(dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))({𝐶} +𝑐 {𝐷})))
5149, 50eqtrd 2656 . 2 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵}))𝑃((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷}))) = (({𝐴} +𝑐 {𝐵})(dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))({𝐶} +𝑐 {𝐷})))
52 f1ocnvfv 6534 . . . . 5 (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) ∧ ⟨𝐴, 𝐵⟩ ∈ (𝑋 × 𝑌)) → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) = ({𝐴} +𝑐 {𝐵}) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵})) = ⟨𝐴, 𝐵⟩))
5311, 32, 52sylancr 695 . . . 4 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) = ({𝐴} +𝑐 {𝐵}) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵})) = ⟨𝐴, 𝐵⟩))
5430, 53mpd 15 . . 3 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵})) = ⟨𝐴, 𝐵⟩)
55 f1ocnvfv 6534 . . . . 5 (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) ∧ ⟨𝐶, 𝐷⟩ ∈ (𝑋 × 𝑌)) → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) = ({𝐶} +𝑐 {𝐷}) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷})) = ⟨𝐶, 𝐷⟩))
5611, 45, 55sylancr 695 . . . 4 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) = ({𝐶} +𝑐 {𝐷}) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷})) = ⟨𝐶, 𝐷⟩))
5743, 56mpd 15 . . 3 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷})) = ⟨𝐶, 𝐷⟩)
5854, 57oveq12d 6668 . 2 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵}))𝑃((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷}))) = (⟨𝐴, 𝐵𝑃𝐶, 𝐷⟩))
59 eqid 2622 . . . 4 (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) = (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))
60 fvexd 6203 . . . 4 (𝜑 → (Scalar‘𝑅) ∈ V)
61 2on 7568 . . . . 5 2𝑜 ∈ On
6261a1i 11 . . . 4 (𝜑 → 2𝑜 ∈ On)
63 xpscfn 16219 . . . . 5 ((𝑅𝑉𝑆𝑊) → ({𝑅} +𝑐 {𝑆}) Fn 2𝑜)
644, 5, 63syl2anc 693 . . . 4 (𝜑({𝑅} +𝑐 {𝑆}) Fn 2𝑜)
6537, 10eleqtrd 2703 . . . 4 (𝜑({𝐴} +𝑐 {𝐵}) ∈ (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))))
6648, 10eleqtrd 2703 . . . 4 (𝜑({𝐶} +𝑐 {𝐷}) ∈ (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))))
67 eqid 2622 . . . 4 (dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) = (dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))
688, 59, 60, 62, 64, 65, 66, 67prdsdsval 16138 . . 3 (𝜑 → (({𝐴} +𝑐 {𝐵})(dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))({𝐶} +𝑐 {𝐷})) = sup((ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ∪ {0}), ℝ*, < ))
69 df2o3 7573 . . . . . . . . . . 11 2𝑜 = {∅, 1𝑜}
7069rexeqi 3143 . . . . . . . . . 10 (∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ ∃𝑘 ∈ {∅, 1𝑜}𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)))
71 0ex 4790 . . . . . . . . . . 11 ∅ ∈ V
72 1on 7567 . . . . . . . . . . . 12 1𝑜 ∈ On
7372elexi 3213 . . . . . . . . . . 11 1𝑜 ∈ V
74 fveq2 6191 . . . . . . . . . . . . . 14 (𝑘 = ∅ → (({𝑅} +𝑐 {𝑆})‘𝑘) = (({𝑅} +𝑐 {𝑆})‘∅))
7574fveq2d 6195 . . . . . . . . . . . . 13 (𝑘 = ∅ → (dist‘(({𝑅} +𝑐 {𝑆})‘𝑘)) = (dist‘(({𝑅} +𝑐 {𝑆})‘∅)))
76 fveq2 6191 . . . . . . . . . . . . 13 (𝑘 = ∅ → (({𝐴} +𝑐 {𝐵})‘𝑘) = (({𝐴} +𝑐 {𝐵})‘∅))
77 fveq2 6191 . . . . . . . . . . . . 13 (𝑘 = ∅ → (({𝐶} +𝑐 {𝐷})‘𝑘) = (({𝐶} +𝑐 {𝐷})‘∅))
7875, 76, 77oveq123d 6671 . . . . . . . . . . . 12 (𝑘 = ∅ → ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)))
7978eqeq2d 2632 . . . . . . . . . . 11 (𝑘 = ∅ → (𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅))))
80 fveq2 6191 . . . . . . . . . . . . . 14 (𝑘 = 1𝑜 → (({𝑅} +𝑐 {𝑆})‘𝑘) = (({𝑅} +𝑐 {𝑆})‘1𝑜))
8180fveq2d 6195 . . . . . . . . . . . . 13 (𝑘 = 1𝑜 → (dist‘(({𝑅} +𝑐 {𝑆})‘𝑘)) = (dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜)))
82 fveq2 6191 . . . . . . . . . . . . 13 (𝑘 = 1𝑜 → (({𝐴} +𝑐 {𝐵})‘𝑘) = (({𝐴} +𝑐 {𝐵})‘1𝑜))
83 fveq2 6191 . . . . . . . . . . . . 13 (𝑘 = 1𝑜 → (({𝐶} +𝑐 {𝐷})‘𝑘) = (({𝐶} +𝑐 {𝐷})‘1𝑜))
8481, 82, 83oveq123d 6671 . . . . . . . . . . . 12 (𝑘 = 1𝑜 → ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜)))
8584eqeq2d 2632 . . . . . . . . . . 11 (𝑘 = 1𝑜 → (𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜))))
8671, 73, 79, 85rexpr 4239 . . . . . . . . . 10 (∃𝑘 ∈ {∅, 1𝑜}𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ (𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) ∨ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜))))
8770, 86bitri 264 . . . . . . . . 9 (∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ (𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) ∨ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜))))
88 xpsc0 16220 . . . . . . . . . . . . . . 15 (𝑅𝑉 → (({𝑅} +𝑐 {𝑆})‘∅) = 𝑅)
894, 88syl 17 . . . . . . . . . . . . . 14 (𝜑 → (({𝑅} +𝑐 {𝑆})‘∅) = 𝑅)
9089fveq2d 6195 . . . . . . . . . . . . 13 (𝜑 → (dist‘(({𝑅} +𝑐 {𝑆})‘∅)) = (dist‘𝑅))
91 xpsc0 16220 . . . . . . . . . . . . . 14 (𝐴𝑋 → (({𝐴} +𝑐 {𝐵})‘∅) = 𝐴)
9226, 91syl 17 . . . . . . . . . . . . 13 (𝜑 → (({𝐴} +𝑐 {𝐵})‘∅) = 𝐴)
93 xpsc0 16220 . . . . . . . . . . . . . 14 (𝐶𝑋 → (({𝐶} +𝑐 {𝐷})‘∅) = 𝐶)
9439, 93syl 17 . . . . . . . . . . . . 13 (𝜑 → (({𝐶} +𝑐 {𝐷})‘∅) = 𝐶)
9590, 92, 94oveq123d 6671 . . . . . . . . . . . 12 (𝜑 → ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) = (𝐴(dist‘𝑅)𝐶))
9617oveqi 6663 . . . . . . . . . . . . 13 (𝐴𝑀𝐶) = (𝐴((dist‘𝑅) ↾ (𝑋 × 𝑋))𝐶)
9726, 39ovresd 6801 . . . . . . . . . . . . 13 (𝜑 → (𝐴((dist‘𝑅) ↾ (𝑋 × 𝑋))𝐶) = (𝐴(dist‘𝑅)𝐶))
9896, 97syl5eq 2668 . . . . . . . . . . . 12 (𝜑 → (𝐴𝑀𝐶) = (𝐴(dist‘𝑅)𝐶))
9995, 98eqtr4d 2659 . . . . . . . . . . 11 (𝜑 → ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) = (𝐴𝑀𝐶))
10099eqeq2d 2632 . . . . . . . . . 10 (𝜑 → (𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) ↔ 𝑥 = (𝐴𝑀𝐶)))
101 xpsc1 16221 . . . . . . . . . . . . . . 15 (𝑆𝑊 → (({𝑅} +𝑐 {𝑆})‘1𝑜) = 𝑆)
1025, 101syl 17 . . . . . . . . . . . . . 14 (𝜑 → (({𝑅} +𝑐 {𝑆})‘1𝑜) = 𝑆)
103102fveq2d 6195 . . . . . . . . . . . . 13 (𝜑 → (dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜)) = (dist‘𝑆))
104 xpsc1 16221 . . . . . . . . . . . . . 14 (𝐵𝑌 → (({𝐴} +𝑐 {𝐵})‘1𝑜) = 𝐵)
10527, 104syl 17 . . . . . . . . . . . . 13 (𝜑 → (({𝐴} +𝑐 {𝐵})‘1𝑜) = 𝐵)
106 xpsc1 16221 . . . . . . . . . . . . . 14 (𝐷𝑌 → (({𝐶} +𝑐 {𝐷})‘1𝑜) = 𝐷)
10740, 106syl 17 . . . . . . . . . . . . 13 (𝜑 → (({𝐶} +𝑐 {𝐷})‘1𝑜) = 𝐷)
108103, 105, 107oveq123d 6671 . . . . . . . . . . . 12 (𝜑 → ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜)) = (𝐵(dist‘𝑆)𝐷))
10918oveqi 6663 . . . . . . . . . . . . 13 (𝐵𝑁𝐷) = (𝐵((dist‘𝑆) ↾ (𝑌 × 𝑌))𝐷)
11027, 40ovresd 6801 . . . . . . . . . . . . 13 (𝜑 → (𝐵((dist‘𝑆) ↾ (𝑌 × 𝑌))𝐷) = (𝐵(dist‘𝑆)𝐷))
111109, 110syl5eq 2668 . . . . . . . . . . . 12 (𝜑 → (𝐵𝑁𝐷) = (𝐵(dist‘𝑆)𝐷))
112108, 111eqtr4d 2659 . . . . . . . . . . 11 (𝜑 → ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜)) = (𝐵𝑁𝐷))
113112eqeq2d 2632 . . . . . . . . . 10 (𝜑 → (𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜)) ↔ 𝑥 = (𝐵𝑁𝐷)))
114100, 113orbi12d 746 . . . . . . . . 9 (𝜑 → ((𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) ∨ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜))) ↔ (𝑥 = (𝐴𝑀𝐶) ∨ 𝑥 = (𝐵𝑁𝐷))))
11587, 114syl5bb 272 . . . . . . . 8 (𝜑 → (∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ (𝑥 = (𝐴𝑀𝐶) ∨ 𝑥 = (𝐵𝑁𝐷))))
116 vex 3203 . . . . . . . . 9 𝑥 ∈ V
117 eqid 2622 . . . . . . . . . 10 (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) = (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)))
118117elrnmpt 5372 . . . . . . . . 9 (𝑥 ∈ V → (𝑥 ∈ ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ↔ ∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))))
119116, 118ax-mp 5 . . . . . . . 8 (𝑥 ∈ ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ↔ ∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)))
120116elpr 4198 . . . . . . . 8 (𝑥 ∈ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ↔ (𝑥 = (𝐴𝑀𝐶) ∨ 𝑥 = (𝐵𝑁𝐷)))
121115, 119, 1203bitr4g 303 . . . . . . 7 (𝜑 → (𝑥 ∈ ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ↔ 𝑥 ∈ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}))
122121eqrdv 2620 . . . . . 6 (𝜑 → ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) = {(𝐴𝑀𝐶), (𝐵𝑁𝐷)})
123122uneq1d 3766 . . . . 5 (𝜑 → (ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ∪ {0}) = ({(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ∪ {0}))
124 uncom 3757 . . . . 5 ({(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ∪ {0}) = ({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)})
125123, 124syl6eq 2672 . . . 4 (𝜑 → (ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ∪ {0}) = ({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}))
126125supeq1d 8352 . . 3 (𝜑 → sup((ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ∪ {0}), ℝ*, < ) = sup(({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}), ℝ*, < ))
127 0xr 10086 . . . . . 6 0 ∈ ℝ*
128127a1i 11 . . . . 5 (𝜑 → 0 ∈ ℝ*)
129128snssd 4340 . . . 4 (𝜑 → {0} ⊆ ℝ*)
130 xmetcl 22136 . . . . . 6 ((𝑀 ∈ (∞Met‘𝑋) ∧ 𝐴𝑋𝐶𝑋) → (𝐴𝑀𝐶) ∈ ℝ*)
13119, 26, 39, 130syl3anc 1326 . . . . 5 (𝜑 → (𝐴𝑀𝐶) ∈ ℝ*)
132 xmetcl 22136 . . . . . 6 ((𝑁 ∈ (∞Met‘𝑌) ∧ 𝐵𝑌𝐷𝑌) → (𝐵𝑁𝐷) ∈ ℝ*)
13320, 27, 40, 132syl3anc 1326 . . . . 5 (𝜑 → (𝐵𝑁𝐷) ∈ ℝ*)
134 prssi 4353 . . . . 5 (((𝐴𝑀𝐶) ∈ ℝ* ∧ (𝐵𝑁𝐷) ∈ ℝ*) → {(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ*)
135131, 133, 134syl2anc 693 . . . 4 (𝜑 → {(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ*)
136 xrltso 11974 . . . . . 6 < Or ℝ*
137 supsn 8378 . . . . . 6 (( < Or ℝ* ∧ 0 ∈ ℝ*) → sup({0}, ℝ*, < ) = 0)
138136, 127, 137mp2an 708 . . . . 5 sup({0}, ℝ*, < ) = 0
139 supxrcl 12145 . . . . . . 7 ({(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ* → sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ) ∈ ℝ*)
140135, 139syl 17 . . . . . 6 (𝜑 → sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ) ∈ ℝ*)
141 xmetge0 22149 . . . . . . 7 ((𝑀 ∈ (∞Met‘𝑋) ∧ 𝐴𝑋𝐶𝑋) → 0 ≤ (𝐴𝑀𝐶))
14219, 26, 39, 141syl3anc 1326 . . . . . 6 (𝜑 → 0 ≤ (𝐴𝑀𝐶))
143 ovex 6678 . . . . . . . 8 (𝐴𝑀𝐶) ∈ V
144143prid1 4297 . . . . . . 7 (𝐴𝑀𝐶) ∈ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}
145 supxrub 12154 . . . . . . 7 (({(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ* ∧ (𝐴𝑀𝐶) ∈ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}) → (𝐴𝑀𝐶) ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
146135, 144, 145sylancl 694 . . . . . 6 (𝜑 → (𝐴𝑀𝐶) ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
147128, 131, 140, 142, 146xrletrd 11993 . . . . 5 (𝜑 → 0 ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
148138, 147syl5eqbr 4688 . . . 4 (𝜑 → sup({0}, ℝ*, < ) ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
149 supxrun 12146 . . . 4 (({0} ⊆ ℝ* ∧ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ* ∧ sup({0}, ℝ*, < ) ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < )) → sup(({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}), ℝ*, < ) = sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
150129, 135, 148, 149syl3anc 1326 . . 3 (𝜑 → sup(({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}), ℝ*, < ) = sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
15168, 126, 1503eqtrd 2660 . 2 (𝜑 → (({𝐴} +𝑐 {𝐵})(dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))({𝐶} +𝑐 {𝐷})) = sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
15251, 58, 1513eqtr3d 2664 1 (𝜑 → (⟨𝐴, 𝐵𝑃𝐶, 𝐷⟩) = sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wo 383   = wceq 1483  wcel 1990  wrex 2913  Vcvv 3200  cun 3572  wss 3574  c0 3915  {csn 4177  {cpr 4179  cop 4183   class class class wbr 4653  cmpt 4729   Or wor 5034   × cxp 5112  ccnv 5113  ran crn 5115  cres 5116  Oncon0 5723   Fn wfn 5883  wf 5884  1-1-ontowf1o 5887  cfv 5888  (class class class)co 6650  cmpt2 6652  1𝑜c1o 7553  2𝑜c2o 7554  supcsup 8346   +𝑐 ccda 8989  0cc0 9936  *cxr 10073   < clt 10074  cle 10075  Basecbs 15857  Scalarcsca 15944  distcds 15950  Xscprds 16106   ×s cxps 16166  ∞Metcxmt 19731
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-inf2 8538  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013  ax-pre-sup 10014
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-int 4476  df-iun 4522  df-iin 4523  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-se 5074  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-isom 5897  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-of 6897  df-om 7066  df-1st 7168  df-2nd 7169  df-supp 7296  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-oadd 7564  df-er 7742  df-map 7859  df-ixp 7909  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-fsupp 8276  df-sup 8348  df-inf 8349  df-oi 8415  df-card 8765  df-cda 8990  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-div 10685  df-nn 11021  df-2 11079  df-3 11080  df-4 11081  df-5 11082  df-6 11083  df-7 11084  df-8 11085  df-9 11086  df-n0 11293  df-z 11378  df-dec 11494  df-uz 11688  df-rp 11833  df-xneg 11946  df-xadd 11947  df-xmul 11948  df-icc 12182  df-fz 12327  df-fzo 12466  df-seq 12802  df-hash 13118  df-struct 15859  df-ndx 15860  df-slot 15861  df-base 15863  df-sets 15864  df-ress 15865  df-plusg 15954  df-mulr 15955  df-sca 15957  df-vsca 15958  df-ip 15959  df-tset 15960  df-ple 15961  df-ds 15964  df-hom 15966  df-cco 15967  df-0g 16102  df-gsum 16103  df-prds 16108  df-xrs 16162  df-imas 16168  df-xps 16170  df-mre 16246  df-mrc 16247  df-acs 16249  df-mgm 17242  df-sgrp 17284  df-mnd 17295  df-submnd 17336  df-mulg 17541  df-cntz 17750  df-cmn 18195  df-xmet 19739
This theorem is referenced by:  tmsxpsval  22343
  Copyright terms: Public domain W3C validator