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

Theorem xpsdsval 22308
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 2724 . . . . 5 (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) = (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))
7 eqid 2724 . . . . 5 (Scalar‘𝑅) = (Scalar‘𝑅)
8 eqid 2724 . . . . 5 ((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})) = ((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))
91, 2, 3, 4, 5, 6, 7, 8xpsval 16355 . . . 4 (𝜑𝑇 = ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) “s ((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))))
101, 2, 3, 4, 5, 6, 7, 8xpslem 16356 . . . 4 (𝜑 → ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) = (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))))
116xpsff1o2 16354 . . . . 5 (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))
12 f1ocnv 6262 . . . . 5 ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) → (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))–1-1-onto→(𝑋 × 𝑌))
1311, 12mp1i 13 . . . 4 (𝜑(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))–1-1-onto→(𝑋 × 𝑌))
14 ovexd 6795 . . . 4 (𝜑 → ((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})) ∈ V)
15 eqid 2724 . . . 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 22306 . . . . 5 (𝜑 → (dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ∈ (∞Met‘ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))
22 ssid 3730 . . . . 5 ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) ⊆ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))
23 xmetres2 22288 . . . . 5 (((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ∈ (∞Met‘ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))) ∧ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) ⊆ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))) → ((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))) ∈ (∞Met‘ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))
2421, 22, 23sylancl 697 . . . 4 (𝜑 → ((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))) ∈ (∞Met‘ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))
25 df-ov 6768 . . . . . 6 (𝐴(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐵) = ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩)
26 xpsds.a . . . . . . 7 (𝜑𝐴𝑋)
27 xpsds.b . . . . . . 7 (𝜑𝐵𝑌)
286xpsfval 16350 . . . . . . 7 ((𝐴𝑋𝐵𝑌) → (𝐴(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐵) = ({𝐴} +𝑐 {𝐵}))
2926, 27, 28syl2anc 696 . . . . . 6 (𝜑 → (𝐴(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐵) = ({𝐴} +𝑐 {𝐵}))
3025, 29syl5eqr 2772 . . . . 5 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) = ({𝐴} +𝑐 {𝐵}))
31 opelxpi 5257 . . . . . . 7 ((𝐴𝑋𝐵𝑌) → ⟨𝐴, 𝐵⟩ ∈ (𝑋 × 𝑌))
3226, 27, 31syl2anc 696 . . . . . 6 (𝜑 → ⟨𝐴, 𝐵⟩ ∈ (𝑋 × 𝑌))
33 f1of 6250 . . . . . . . 8 ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) → (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)⟶ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
3411, 33ax-mp 5 . . . . . . 7 (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)⟶ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))
3534ffvelrni 6473 . . . . . 6 (⟨𝐴, 𝐵⟩ ∈ (𝑋 × 𝑌) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
3632, 35syl 17 . . . . 5 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
3730, 36eqeltrrd 2804 . . . 4 (𝜑({𝐴} +𝑐 {𝐵}) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
38 df-ov 6768 . . . . . 6 (𝐶(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐷) = ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩)
39 xpsds.c . . . . . . 7 (𝜑𝐶𝑋)
40 xpsds.d . . . . . . 7 (𝜑𝐷𝑌)
416xpsfval 16350 . . . . . . 7 ((𝐶𝑋𝐷𝑌) → (𝐶(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐷) = ({𝐶} +𝑐 {𝐷}))
4239, 40, 41syl2anc 696 . . . . . 6 (𝜑 → (𝐶(𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))𝐷) = ({𝐶} +𝑐 {𝐷}))
4338, 42syl5eqr 2772 . . . . 5 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) = ({𝐶} +𝑐 {𝐷}))
44 opelxpi 5257 . . . . . . 7 ((𝐶𝑋𝐷𝑌) → ⟨𝐶, 𝐷⟩ ∈ (𝑋 × 𝑌))
4539, 40, 44syl2anc 696 . . . . . 6 (𝜑 → ⟨𝐶, 𝐷⟩ ∈ (𝑋 × 𝑌))
4634ffvelrni 6473 . . . . . 6 (⟨𝐶, 𝐷⟩ ∈ (𝑋 × 𝑌) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
4745, 46syl 17 . . . . 5 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
4843, 47eqeltrrd 2804 . . . 4 (𝜑({𝐶} +𝑐 {𝐷}) ∈ ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})))
499, 10, 13, 14, 15, 16, 24, 37, 48imasdsf1o 22301 . . 3 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵}))𝑃((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷}))) = (({𝐴} +𝑐 {𝐵})((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))({𝐶} +𝑐 {𝐷})))
5037, 48ovresd 6918 . . 3 (𝜑 → (({𝐴} +𝑐 {𝐵})((dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) ↾ (ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) × ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))))({𝐶} +𝑐 {𝐷})) = (({𝐴} +𝑐 {𝐵})(dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))({𝐶} +𝑐 {𝐷})))
5149, 50eqtrd 2758 . 2 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵}))𝑃((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷}))) = (({𝐴} +𝑐 {𝐵})(dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))({𝐶} +𝑐 {𝐷})))
52 f1ocnvfv 6649 . . . . 5 (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) ∧ ⟨𝐴, 𝐵⟩ ∈ (𝑋 × 𝑌)) → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) = ({𝐴} +𝑐 {𝐵}) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵})) = ⟨𝐴, 𝐵⟩))
5311, 32, 52sylancr 698 . . . 4 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐴, 𝐵⟩) = ({𝐴} +𝑐 {𝐵}) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵})) = ⟨𝐴, 𝐵⟩))
5430, 53mpd 15 . . 3 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵})) = ⟨𝐴, 𝐵⟩)
55 f1ocnvfv 6649 . . . . 5 (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})):(𝑋 × 𝑌)–1-1-onto→ran (𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦})) ∧ ⟨𝐶, 𝐷⟩ ∈ (𝑋 × 𝑌)) → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) = ({𝐶} +𝑐 {𝐷}) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷})) = ⟨𝐶, 𝐷⟩))
5611, 45, 55sylancr 698 . . . 4 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘⟨𝐶, 𝐷⟩) = ({𝐶} +𝑐 {𝐷}) → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷})) = ⟨𝐶, 𝐷⟩))
5743, 56mpd 15 . . 3 (𝜑 → ((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷})) = ⟨𝐶, 𝐷⟩)
5854, 57oveq12d 6783 . 2 (𝜑 → (((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐴} +𝑐 {𝐵}))𝑃((𝑥𝑋, 𝑦𝑌({𝑥} +𝑐 {𝑦}))‘({𝐶} +𝑐 {𝐷}))) = (⟨𝐴, 𝐵𝑃𝐶, 𝐷⟩))
59 eqid 2724 . . . 4 (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) = (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))
60 fvexd 6316 . . . 4 (𝜑 → (Scalar‘𝑅) ∈ V)
61 2on 7688 . . . . 5 2𝑜 ∈ On
6261a1i 11 . . . 4 (𝜑 → 2𝑜 ∈ On)
63 xpscfn 16342 . . . . 5 ((𝑅𝑉𝑆𝑊) → ({𝑅} +𝑐 {𝑆}) Fn 2𝑜)
644, 5, 63syl2anc 696 . . . 4 (𝜑({𝑅} +𝑐 {𝑆}) Fn 2𝑜)
6537, 10eleqtrd 2805 . . . 4 (𝜑({𝐴} +𝑐 {𝐵}) ∈ (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))))
6648, 10eleqtrd 2805 . . . 4 (𝜑({𝐶} +𝑐 {𝐷}) ∈ (Base‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))))
67 eqid 2724 . . . 4 (dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆}))) = (dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))
688, 59, 60, 62, 64, 65, 66, 67prdsdsval 16261 . . 3 (𝜑 → (({𝐴} +𝑐 {𝐵})(dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))({𝐶} +𝑐 {𝐷})) = sup((ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ∪ {0}), ℝ*, < ))
69 df2o3 7693 . . . . . . . . . . 11 2𝑜 = {∅, 1𝑜}
7069rexeqi 3246 . . . . . . . . . 10 (∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ ∃𝑘 ∈ {∅, 1𝑜}𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)))
71 0ex 4898 . . . . . . . . . . 11 ∅ ∈ V
72 1on 7687 . . . . . . . . . . . 12 1𝑜 ∈ On
7372elexi 3317 . . . . . . . . . . 11 1𝑜 ∈ V
74 fveq2 6304 . . . . . . . . . . . . . 14 (𝑘 = ∅ → (({𝑅} +𝑐 {𝑆})‘𝑘) = (({𝑅} +𝑐 {𝑆})‘∅))
7574fveq2d 6308 . . . . . . . . . . . . 13 (𝑘 = ∅ → (dist‘(({𝑅} +𝑐 {𝑆})‘𝑘)) = (dist‘(({𝑅} +𝑐 {𝑆})‘∅)))
76 fveq2 6304 . . . . . . . . . . . . 13 (𝑘 = ∅ → (({𝐴} +𝑐 {𝐵})‘𝑘) = (({𝐴} +𝑐 {𝐵})‘∅))
77 fveq2 6304 . . . . . . . . . . . . 13 (𝑘 = ∅ → (({𝐶} +𝑐 {𝐷})‘𝑘) = (({𝐶} +𝑐 {𝐷})‘∅))
7875, 76, 77oveq123d 6786 . . . . . . . . . . . 12 (𝑘 = ∅ → ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)))
7978eqeq2d 2734 . . . . . . . . . . 11 (𝑘 = ∅ → (𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅))))
80 fveq2 6304 . . . . . . . . . . . . . 14 (𝑘 = 1𝑜 → (({𝑅} +𝑐 {𝑆})‘𝑘) = (({𝑅} +𝑐 {𝑆})‘1𝑜))
8180fveq2d 6308 . . . . . . . . . . . . 13 (𝑘 = 1𝑜 → (dist‘(({𝑅} +𝑐 {𝑆})‘𝑘)) = (dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜)))
82 fveq2 6304 . . . . . . . . . . . . 13 (𝑘 = 1𝑜 → (({𝐴} +𝑐 {𝐵})‘𝑘) = (({𝐴} +𝑐 {𝐵})‘1𝑜))
83 fveq2 6304 . . . . . . . . . . . . 13 (𝑘 = 1𝑜 → (({𝐶} +𝑐 {𝐷})‘𝑘) = (({𝐶} +𝑐 {𝐷})‘1𝑜))
8481, 82, 83oveq123d 6786 . . . . . . . . . . . 12 (𝑘 = 1𝑜 → ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜)))
8584eqeq2d 2734 . . . . . . . . . . 11 (𝑘 = 1𝑜 → (𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜))))
8671, 73, 79, 85rexpr 4346 . . . . . . . . . 10 (∃𝑘 ∈ {∅, 1𝑜}𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ (𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) ∨ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜))))
8770, 86bitri 264 . . . . . . . . 9 (∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ (𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) ∨ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜))))
88 xpsc0 16343 . . . . . . . . . . . . . . 15 (𝑅𝑉 → (({𝑅} +𝑐 {𝑆})‘∅) = 𝑅)
894, 88syl 17 . . . . . . . . . . . . . 14 (𝜑 → (({𝑅} +𝑐 {𝑆})‘∅) = 𝑅)
9089fveq2d 6308 . . . . . . . . . . . . 13 (𝜑 → (dist‘(({𝑅} +𝑐 {𝑆})‘∅)) = (dist‘𝑅))
91 xpsc0 16343 . . . . . . . . . . . . . 14 (𝐴𝑋 → (({𝐴} +𝑐 {𝐵})‘∅) = 𝐴)
9226, 91syl 17 . . . . . . . . . . . . 13 (𝜑 → (({𝐴} +𝑐 {𝐵})‘∅) = 𝐴)
93 xpsc0 16343 . . . . . . . . . . . . . 14 (𝐶𝑋 → (({𝐶} +𝑐 {𝐷})‘∅) = 𝐶)
9439, 93syl 17 . . . . . . . . . . . . 13 (𝜑 → (({𝐶} +𝑐 {𝐷})‘∅) = 𝐶)
9590, 92, 94oveq123d 6786 . . . . . . . . . . . 12 (𝜑 → ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) = (𝐴(dist‘𝑅)𝐶))
9617oveqi 6778 . . . . . . . . . . . . 13 (𝐴𝑀𝐶) = (𝐴((dist‘𝑅) ↾ (𝑋 × 𝑋))𝐶)
9726, 39ovresd 6918 . . . . . . . . . . . . 13 (𝜑 → (𝐴((dist‘𝑅) ↾ (𝑋 × 𝑋))𝐶) = (𝐴(dist‘𝑅)𝐶))
9896, 97syl5eq 2770 . . . . . . . . . . . 12 (𝜑 → (𝐴𝑀𝐶) = (𝐴(dist‘𝑅)𝐶))
9995, 98eqtr4d 2761 . . . . . . . . . . 11 (𝜑 → ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) = (𝐴𝑀𝐶))
10099eqeq2d 2734 . . . . . . . . . 10 (𝜑 → (𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) ↔ 𝑥 = (𝐴𝑀𝐶)))
101 xpsc1 16344 . . . . . . . . . . . . . . 15 (𝑆𝑊 → (({𝑅} +𝑐 {𝑆})‘1𝑜) = 𝑆)
1025, 101syl 17 . . . . . . . . . . . . . 14 (𝜑 → (({𝑅} +𝑐 {𝑆})‘1𝑜) = 𝑆)
103102fveq2d 6308 . . . . . . . . . . . . 13 (𝜑 → (dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜)) = (dist‘𝑆))
104 xpsc1 16344 . . . . . . . . . . . . . 14 (𝐵𝑌 → (({𝐴} +𝑐 {𝐵})‘1𝑜) = 𝐵)
10527, 104syl 17 . . . . . . . . . . . . 13 (𝜑 → (({𝐴} +𝑐 {𝐵})‘1𝑜) = 𝐵)
106 xpsc1 16344 . . . . . . . . . . . . . 14 (𝐷𝑌 → (({𝐶} +𝑐 {𝐷})‘1𝑜) = 𝐷)
10740, 106syl 17 . . . . . . . . . . . . 13 (𝜑 → (({𝐶} +𝑐 {𝐷})‘1𝑜) = 𝐷)
108103, 105, 107oveq123d 6786 . . . . . . . . . . . 12 (𝜑 → ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜)) = (𝐵(dist‘𝑆)𝐷))
10918oveqi 6778 . . . . . . . . . . . . 13 (𝐵𝑁𝐷) = (𝐵((dist‘𝑆) ↾ (𝑌 × 𝑌))𝐷)
11027, 40ovresd 6918 . . . . . . . . . . . . 13 (𝜑 → (𝐵((dist‘𝑆) ↾ (𝑌 × 𝑌))𝐷) = (𝐵(dist‘𝑆)𝐷))
111109, 110syl5eq 2770 . . . . . . . . . . . 12 (𝜑 → (𝐵𝑁𝐷) = (𝐵(dist‘𝑆)𝐷))
112108, 111eqtr4d 2761 . . . . . . . . . . 11 (𝜑 → ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜)) = (𝐵𝑁𝐷))
113112eqeq2d 2734 . . . . . . . . . 10 (𝜑 → (𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜)) ↔ 𝑥 = (𝐵𝑁𝐷)))
114100, 113orbi12d 748 . . . . . . . . 9 (𝜑 → ((𝑥 = ((({𝐴} +𝑐 {𝐵})‘∅)(dist‘(({𝑅} +𝑐 {𝑆})‘∅))(({𝐶} +𝑐 {𝐷})‘∅)) ∨ 𝑥 = ((({𝐴} +𝑐 {𝐵})‘1𝑜)(dist‘(({𝑅} +𝑐 {𝑆})‘1𝑜))(({𝐶} +𝑐 {𝐷})‘1𝑜))) ↔ (𝑥 = (𝐴𝑀𝐶) ∨ 𝑥 = (𝐵𝑁𝐷))))
11587, 114syl5bb 272 . . . . . . . 8 (𝜑 → (∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)) ↔ (𝑥 = (𝐴𝑀𝐶) ∨ 𝑥 = (𝐵𝑁𝐷))))
116 vex 3307 . . . . . . . . 9 𝑥 ∈ V
117 eqid 2724 . . . . . . . . . 10 (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) = (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)))
118117elrnmpt 5479 . . . . . . . . 9 (𝑥 ∈ V → (𝑥 ∈ ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ↔ ∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))))
119116, 118ax-mp 5 . . . . . . . 8 (𝑥 ∈ ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ↔ ∃𝑘 ∈ 2𝑜 𝑥 = ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘)))
120116elpr 4306 . . . . . . . 8 (𝑥 ∈ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ↔ (𝑥 = (𝐴𝑀𝐶) ∨ 𝑥 = (𝐵𝑁𝐷)))
121115, 119, 1203bitr4g 303 . . . . . . 7 (𝜑 → (𝑥 ∈ ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ↔ 𝑥 ∈ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}))
122121eqrdv 2722 . . . . . 6 (𝜑 → ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) = {(𝐴𝑀𝐶), (𝐵𝑁𝐷)})
123122uneq1d 3874 . . . . 5 (𝜑 → (ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ∪ {0}) = ({(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ∪ {0}))
124 uncom 3865 . . . . 5 ({(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ∪ {0}) = ({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)})
125123, 124syl6eq 2774 . . . 4 (𝜑 → (ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ∪ {0}) = ({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}))
126125supeq1d 8468 . . 3 (𝜑 → sup((ran (𝑘 ∈ 2𝑜 ↦ ((({𝐴} +𝑐 {𝐵})‘𝑘)(dist‘(({𝑅} +𝑐 {𝑆})‘𝑘))(({𝐶} +𝑐 {𝐷})‘𝑘))) ∪ {0}), ℝ*, < ) = sup(({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}), ℝ*, < ))
127 0xr 10199 . . . . . 6 0 ∈ ℝ*
128127a1i 11 . . . . 5 (𝜑 → 0 ∈ ℝ*)
129128snssd 4448 . . . 4 (𝜑 → {0} ⊆ ℝ*)
130 xmetcl 22258 . . . . . 6 ((𝑀 ∈ (∞Met‘𝑋) ∧ 𝐴𝑋𝐶𝑋) → (𝐴𝑀𝐶) ∈ ℝ*)
13119, 26, 39, 130syl3anc 1439 . . . . 5 (𝜑 → (𝐴𝑀𝐶) ∈ ℝ*)
132 xmetcl 22258 . . . . . 6 ((𝑁 ∈ (∞Met‘𝑌) ∧ 𝐵𝑌𝐷𝑌) → (𝐵𝑁𝐷) ∈ ℝ*)
13320, 27, 40, 132syl3anc 1439 . . . . 5 (𝜑 → (𝐵𝑁𝐷) ∈ ℝ*)
134 prssi 4461 . . . . 5 (((𝐴𝑀𝐶) ∈ ℝ* ∧ (𝐵𝑁𝐷) ∈ ℝ*) → {(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ*)
135131, 133, 134syl2anc 696 . . . 4 (𝜑 → {(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ*)
136 xrltso 12088 . . . . . 6 < Or ℝ*
137 supsn 8494 . . . . . 6 (( < Or ℝ* ∧ 0 ∈ ℝ*) → sup({0}, ℝ*, < ) = 0)
138136, 127, 137mp2an 710 . . . . 5 sup({0}, ℝ*, < ) = 0
139 supxrcl 12259 . . . . . . 7 ({(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ* → sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ) ∈ ℝ*)
140135, 139syl 17 . . . . . 6 (𝜑 → sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ) ∈ ℝ*)
141 xmetge0 22271 . . . . . . 7 ((𝑀 ∈ (∞Met‘𝑋) ∧ 𝐴𝑋𝐶𝑋) → 0 ≤ (𝐴𝑀𝐶))
14219, 26, 39, 141syl3anc 1439 . . . . . 6 (𝜑 → 0 ≤ (𝐴𝑀𝐶))
143 ovex 6793 . . . . . . . 8 (𝐴𝑀𝐶) ∈ V
144143prid1 4404 . . . . . . 7 (𝐴𝑀𝐶) ∈ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}
145 supxrub 12268 . . . . . . 7 (({(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ* ∧ (𝐴𝑀𝐶) ∈ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}) → (𝐴𝑀𝐶) ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
146135, 144, 145sylancl 697 . . . . . 6 (𝜑 → (𝐴𝑀𝐶) ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
147128, 131, 140, 142, 146xrletrd 12107 . . . . 5 (𝜑 → 0 ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
148138, 147syl5eqbr 4795 . . . 4 (𝜑 → sup({0}, ℝ*, < ) ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
149 supxrun 12260 . . . 4 (({0} ⊆ ℝ* ∧ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)} ⊆ ℝ* ∧ sup({0}, ℝ*, < ) ≤ sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < )) → sup(({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}), ℝ*, < ) = sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
150129, 135, 148, 149syl3anc 1439 . . 3 (𝜑 → sup(({0} ∪ {(𝐴𝑀𝐶), (𝐵𝑁𝐷)}), ℝ*, < ) = sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
15168, 126, 1503eqtrd 2762 . 2 (𝜑 → (({𝐴} +𝑐 {𝐵})(dist‘((Scalar‘𝑅)Xs({𝑅} +𝑐 {𝑆})))({𝐶} +𝑐 {𝐷})) = sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
15251, 58, 1513eqtr3d 2766 1 (𝜑 → (⟨𝐴, 𝐵𝑃𝐶, 𝐷⟩) = sup({(𝐴𝑀𝐶), (𝐵𝑁𝐷)}, ℝ*, < ))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wo 382   = wceq 1596  wcel 2103  wrex 3015  Vcvv 3304  cun 3678  wss 3680  c0 4023  {csn 4285  {cpr 4287  cop 4291   class class class wbr 4760  cmpt 4837   Or wor 5138   × cxp 5216  ccnv 5217  ran crn 5219  cres 5220  Oncon0 5836   Fn wfn 5996  wf 5997  1-1-ontowf1o 6000  cfv 6001  (class class class)co 6765  cmpt2 6767  1𝑜c1o 7673  2𝑜c2o 7674  supcsup 8462   +𝑐 ccda 9102  0cc0 10049  *cxr 10186   < clt 10187  cle 10188  Basecbs 15980  Scalarcsca 16067  distcds 16073  Xscprds 16229   ×s cxps 16289  ∞Metcxmt 19854
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1835  ax-4 1850  ax-5 1952  ax-6 2018  ax-7 2054  ax-8 2105  ax-9 2112  ax-10 2132  ax-11 2147  ax-12 2160  ax-13 2355  ax-ext 2704  ax-rep 4879  ax-sep 4889  ax-nul 4897  ax-pow 4948  ax-pr 5011  ax-un 7066  ax-inf2 8651  ax-cnex 10105  ax-resscn 10106  ax-1cn 10107  ax-icn 10108  ax-addcl 10109  ax-addrcl 10110  ax-mulcl 10111  ax-mulrcl 10112  ax-mulcom 10113  ax-addass 10114  ax-mulass 10115  ax-distr 10116  ax-i2m1 10117  ax-1ne0 10118  ax-1rid 10119  ax-rnegex 10120  ax-rrecex 10121  ax-cnre 10122  ax-pre-lttri 10123  ax-pre-lttrn 10124  ax-pre-ltadd 10125  ax-pre-mulgt0 10126  ax-pre-sup 10127
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1073  df-3an 1074  df-tru 1599  df-ex 1818  df-nf 1823  df-sb 2011  df-eu 2575  df-mo 2576  df-clab 2711  df-cleq 2717  df-clel 2720  df-nfc 2855  df-ne 2897  df-nel 3000  df-ral 3019  df-rex 3020  df-reu 3021  df-rmo 3022  df-rab 3023  df-v 3306  df-sbc 3542  df-csb 3640  df-dif 3683  df-un 3685  df-in 3687  df-ss 3694  df-pss 3696  df-nul 4024  df-if 4195  df-pw 4268  df-sn 4286  df-pr 4288  df-tp 4290  df-op 4292  df-uni 4545  df-int 4584  df-iun 4630  df-iin 4631  df-br 4761  df-opab 4821  df-mpt 4838  df-tr 4861  df-id 5128  df-eprel 5133  df-po 5139  df-so 5140  df-fr 5177  df-se 5178  df-we 5179  df-xp 5224  df-rel 5225  df-cnv 5226  df-co 5227  df-dm 5228  df-rn 5229  df-res 5230  df-ima 5231  df-pred 5793  df-ord 5839  df-on 5840  df-lim 5841  df-suc 5842  df-iota 5964  df-fun 6003  df-fn 6004  df-f 6005  df-f1 6006  df-fo 6007  df-f1o 6008  df-fv 6009  df-isom 6010  df-riota 6726  df-ov 6768  df-oprab 6769  df-mpt2 6770  df-of 7014  df-om 7183  df-1st 7285  df-2nd 7286  df-supp 7416  df-wrecs 7527  df-recs 7588  df-rdg 7626  df-1o 7680  df-2o 7681  df-oadd 7684  df-er 7862  df-map 7976  df-ixp 8026  df-en 8073  df-dom 8074  df-sdom 8075  df-fin 8076  df-fsupp 8392  df-sup 8464  df-inf 8465  df-oi 8531  df-card 8878  df-cda 9103  df-pnf 10189  df-mnf 10190  df-xr 10191  df-ltxr 10192  df-le 10193  df-sub 10381  df-neg 10382  df-div 10798  df-nn 11134  df-2 11192  df-3 11193  df-4 11194  df-5 11195  df-6 11196  df-7 11197  df-8 11198  df-9 11199  df-n0 11406  df-z 11491  df-dec 11607  df-uz 11801  df-rp 11947  df-xneg 12060  df-xadd 12061  df-xmul 12062  df-icc 12296  df-fz 12441  df-fzo 12581  df-seq 12917  df-hash 13233  df-struct 15982  df-ndx 15983  df-slot 15984  df-base 15986  df-sets 15987  df-ress 15988  df-plusg 16077  df-mulr 16078  df-sca 16080  df-vsca 16081  df-ip 16082  df-tset 16083  df-ple 16084  df-ds 16087  df-hom 16089  df-cco 16090  df-0g 16225  df-gsum 16226  df-prds 16231  df-xrs 16285  df-imas 16291  df-xps 16293  df-mre 16369  df-mrc 16370  df-acs 16372  df-mgm 17364  df-sgrp 17406  df-mnd 17417  df-submnd 17458  df-mulg 17663  df-cntz 17871  df-cmn 18316  df-xmet 19862
This theorem is referenced by:  tmsxpsval  22465
  Copyright terms: Public domain W3C validator