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

Theorem isxmet2d 22934
Description: It is safe to only require the triangle inequality when the values are real (so that we can use the standard addition over the reals), but in this case the nonnegativity constraint cannot be deduced and must be provided separately. (Counterexample: 𝐷(𝑥, 𝑦) = if(𝑥 = 𝑦, 0, -∞) satisfies all hypotheses except nonnegativity.) (Contributed by Mario Carneiro, 20-Aug-2015.)
Hypotheses
Ref Expression
isxmetd.0 (𝜑𝑋𝑉)
isxmetd.1 (𝜑𝐷:(𝑋 × 𝑋)⟶ℝ*)
isxmet2d.2 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → 0 ≤ (𝑥𝐷𝑦))
isxmet2d.3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) ≤ 0 ↔ 𝑥 = 𝑦))
isxmet2d.4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
Assertion
Ref Expression
isxmet2d (𝜑𝐷 ∈ (∞Met‘𝑋))
Distinct variable groups:   𝑥,𝑦,𝑧,𝐷   𝜑,𝑥,𝑦,𝑧   𝑥,𝑋,𝑦,𝑧
Allowed substitution hints:   𝑉(𝑥,𝑦,𝑧)

Proof of Theorem isxmet2d
StepHypRef Expression
1 isxmetd.0 . 2 (𝜑𝑋𝑉)
2 isxmetd.1 . 2 (𝜑𝐷:(𝑋 × 𝑋)⟶ℝ*)
32fovrnda 7299 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → (𝑥𝐷𝑦) ∈ ℝ*)
4 0xr 10677 . . . 4 0 ∈ ℝ*
5 xrletri3 12535 . . . 4 (((𝑥𝐷𝑦) ∈ ℝ* ∧ 0 ∈ ℝ*) → ((𝑥𝐷𝑦) = 0 ↔ ((𝑥𝐷𝑦) ≤ 0 ∧ 0 ≤ (𝑥𝐷𝑦))))
63, 4, 5sylancl 589 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) = 0 ↔ ((𝑥𝐷𝑦) ≤ 0 ∧ 0 ≤ (𝑥𝐷𝑦))))
7 isxmet2d.2 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → 0 ≤ (𝑥𝐷𝑦))
87biantrud 535 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) ≤ 0 ↔ ((𝑥𝐷𝑦) ≤ 0 ∧ 0 ≤ (𝑥𝐷𝑦))))
9 isxmet2d.3 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) ≤ 0 ↔ 𝑥 = 𝑦))
106, 8, 93bitr2d 310 . 2 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) = 0 ↔ 𝑥 = 𝑦))
11 isxmet2d.4 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
12113expa 1115 . . . . . 6 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
13 rexadd 12613 . . . . . . 7 (((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
1413adantl 485 . . . . . 6 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
1512, 14breqtrrd 5058 . . . . 5 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
1615anassrs 471 . . . 4 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) ∈ ℝ) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
1733adantr3 1168 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑥𝐷𝑦) ∈ ℝ*)
18 pnfge 12513 . . . . . . 7 ((𝑥𝐷𝑦) ∈ ℝ* → (𝑥𝐷𝑦) ≤ +∞)
1917, 18syl 17 . . . . . 6 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑥𝐷𝑦) ≤ +∞)
2019ad2antrr 725 . . . . 5 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = +∞) → (𝑥𝐷𝑦) ≤ +∞)
21 oveq2 7143 . . . . . 6 ((𝑧𝐷𝑦) = +∞ → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = ((𝑧𝐷𝑥) +𝑒 +∞))
222ffnd 6488 . . . . . . . . . . 11 (𝜑𝐷 Fn (𝑋 × 𝑋))
23 elxrge0 12835 . . . . . . . . . . . . 13 ((𝑥𝐷𝑦) ∈ (0[,]+∞) ↔ ((𝑥𝐷𝑦) ∈ ℝ* ∧ 0 ≤ (𝑥𝐷𝑦)))
243, 7, 23sylanbrc 586 . . . . . . . . . . . 12 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → (𝑥𝐷𝑦) ∈ (0[,]+∞))
2524ralrimivva 3156 . . . . . . . . . . 11 (𝜑 → ∀𝑥𝑋𝑦𝑋 (𝑥𝐷𝑦) ∈ (0[,]+∞))
26 ffnov 7257 . . . . . . . . . . 11 (𝐷:(𝑋 × 𝑋)⟶(0[,]+∞) ↔ (𝐷 Fn (𝑋 × 𝑋) ∧ ∀𝑥𝑋𝑦𝑋 (𝑥𝐷𝑦) ∈ (0[,]+∞)))
2722, 25, 26sylanbrc 586 . . . . . . . . . 10 (𝜑𝐷:(𝑋 × 𝑋)⟶(0[,]+∞))
2827adantr 484 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝐷:(𝑋 × 𝑋)⟶(0[,]+∞))
29 simpr3 1193 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝑧𝑋)
30 simpr1 1191 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝑥𝑋)
3128, 29, 30fovrnd 7300 . . . . . . . 8 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑥) ∈ (0[,]+∞))
32 eliccxr 12813 . . . . . . . 8 ((𝑧𝐷𝑥) ∈ (0[,]+∞) → (𝑧𝐷𝑥) ∈ ℝ*)
3331, 32syl 17 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑥) ∈ ℝ*)
34 renemnf 10679 . . . . . . 7 ((𝑧𝐷𝑥) ∈ ℝ → (𝑧𝐷𝑥) ≠ -∞)
35 xaddpnf1 12607 . . . . . . 7 (((𝑧𝐷𝑥) ∈ ℝ* ∧ (𝑧𝐷𝑥) ≠ -∞) → ((𝑧𝐷𝑥) +𝑒 +∞) = +∞)
3633, 34, 35syl2an 598 . . . . . 6 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → ((𝑧𝐷𝑥) +𝑒 +∞) = +∞)
3721, 36sylan9eqr 2855 . . . . 5 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = +∞) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = +∞)
3820, 37breqtrrd 5058 . . . 4 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = +∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
39 simpr2 1192 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝑦𝑋)
4028, 29, 39fovrnd 7300 . . . . . . . . . 10 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑦) ∈ (0[,]+∞))
41 eliccxr 12813 . . . . . . . . . 10 ((𝑧𝐷𝑦) ∈ (0[,]+∞) → (𝑧𝐷𝑦) ∈ ℝ*)
4240, 41syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑦) ∈ ℝ*)
43 elxrge0 12835 . . . . . . . . . . 11 ((𝑧𝐷𝑦) ∈ (0[,]+∞) ↔ ((𝑧𝐷𝑦) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑦)))
4443simprbi 500 . . . . . . . . . 10 ((𝑧𝐷𝑦) ∈ (0[,]+∞) → 0 ≤ (𝑧𝐷𝑦))
4540, 44syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 0 ≤ (𝑧𝐷𝑦))
46 ge0nemnf 12554 . . . . . . . . 9 (((𝑧𝐷𝑦) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑦)) → (𝑧𝐷𝑦) ≠ -∞)
4742, 45, 46syl2anc 587 . . . . . . . 8 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑦) ≠ -∞)
4847a1d 25 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (¬ (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) → (𝑧𝐷𝑦) ≠ -∞))
4948necon4bd 3007 . . . . . 6 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑧𝐷𝑦) = -∞ → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦))))
5049adantr 484 . . . . 5 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → ((𝑧𝐷𝑦) = -∞ → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦))))
5150imp 410 . . . 4 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = -∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
5242adantr 484 . . . . 5 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → (𝑧𝐷𝑦) ∈ ℝ*)
53 elxr 12499 . . . . 5 ((𝑧𝐷𝑦) ∈ ℝ* ↔ ((𝑧𝐷𝑦) ∈ ℝ ∨ (𝑧𝐷𝑦) = +∞ ∨ (𝑧𝐷𝑦) = -∞))
5452, 53sylib 221 . . . 4 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → ((𝑧𝐷𝑦) ∈ ℝ ∨ (𝑧𝐷𝑦) = +∞ ∨ (𝑧𝐷𝑦) = -∞))
5516, 38, 51, 54mpjao3dan 1428 . . 3 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
5619adantr 484 . . . 4 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = +∞) → (𝑥𝐷𝑦) ≤ +∞)
57 oveq1 7142 . . . . 5 ((𝑧𝐷𝑥) = +∞ → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = (+∞ +𝑒 (𝑧𝐷𝑦)))
58 xaddpnf2 12608 . . . . . 6 (((𝑧𝐷𝑦) ∈ ℝ* ∧ (𝑧𝐷𝑦) ≠ -∞) → (+∞ +𝑒 (𝑧𝐷𝑦)) = +∞)
5942, 47, 58syl2anc 587 . . . . 5 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (+∞ +𝑒 (𝑧𝐷𝑦)) = +∞)
6057, 59sylan9eqr 2855 . . . 4 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = +∞) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = +∞)
6156, 60breqtrrd 5058 . . 3 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = +∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
62 elxrge0 12835 . . . . . . . . 9 ((𝑧𝐷𝑥) ∈ (0[,]+∞) ↔ ((𝑧𝐷𝑥) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑥)))
6362simprbi 500 . . . . . . . 8 ((𝑧𝐷𝑥) ∈ (0[,]+∞) → 0 ≤ (𝑧𝐷𝑥))
6431, 63syl 17 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 0 ≤ (𝑧𝐷𝑥))
65 ge0nemnf 12554 . . . . . . 7 (((𝑧𝐷𝑥) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑥)) → (𝑧𝐷𝑥) ≠ -∞)
6633, 64, 65syl2anc 587 . . . . . 6 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑥) ≠ -∞)
6766a1d 25 . . . . 5 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (¬ (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) → (𝑧𝐷𝑥) ≠ -∞))
6867necon4bd 3007 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑧𝐷𝑥) = -∞ → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦))))
6968imp 410 . . 3 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = -∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
70 elxr 12499 . . . 4 ((𝑧𝐷𝑥) ∈ ℝ* ↔ ((𝑧𝐷𝑥) ∈ ℝ ∨ (𝑧𝐷𝑥) = +∞ ∨ (𝑧𝐷𝑥) = -∞))
7133, 70sylib 221 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑧𝐷𝑥) ∈ ℝ ∨ (𝑧𝐷𝑥) = +∞ ∨ (𝑧𝐷𝑥) = -∞))
7255, 61, 69, 71mpjao3dan 1428 . 2 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
731, 2, 10, 72isxmetd 22933 1 (𝜑𝐷 ∈ (∞Met‘𝑋))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 209  wa 399  w3o 1083  w3a 1084   = wceq 1538  wcel 2111  wne 2987  wral 3106   class class class wbr 5030   × cxp 5517   Fn wfn 6319  wf 6320  cfv 6324  (class class class)co 7135  cr 10525  0cc0 10526   + caddc 10529  +∞cpnf 10661  -∞cmnf 10662  *cxr 10663  cle 10665   +𝑒 cxad 12493  [,]cicc 12729  ∞Metcxmet 20076
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2113  ax-9 2121  ax-10 2142  ax-11 2158  ax-12 2175  ax-ext 2770  ax-sep 5167  ax-nul 5174  ax-pow 5231  ax-pr 5295  ax-un 7441  ax-cnex 10582  ax-resscn 10583  ax-1cn 10584  ax-icn 10585  ax-addcl 10586  ax-addrcl 10587  ax-mulcl 10588  ax-i2m1 10594  ax-rnegex 10597  ax-cnre 10599  ax-pre-lttri 10600  ax-pre-lttrn 10601
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 845  df-3or 1085  df-3an 1086  df-tru 1541  df-ex 1782  df-nf 1786  df-sb 2070  df-mo 2598  df-eu 2629  df-clab 2777  df-cleq 2791  df-clel 2870  df-nfc 2938  df-ne 2988  df-nel 3092  df-ral 3111  df-rex 3112  df-rab 3115  df-v 3443  df-sbc 3721  df-csb 3829  df-dif 3884  df-un 3886  df-in 3888  df-ss 3898  df-nul 4244  df-if 4426  df-pw 4499  df-sn 4526  df-pr 4528  df-op 4532  df-uni 4801  df-iun 4883  df-br 5031  df-opab 5093  df-mpt 5111  df-id 5425  df-po 5438  df-so 5439  df-xp 5525  df-rel 5526  df-cnv 5527  df-co 5528  df-dm 5529  df-rn 5530  df-res 5531  df-ima 5532  df-iota 6283  df-fun 6326  df-fn 6327  df-f 6328  df-f1 6329  df-fo 6330  df-f1o 6331  df-fv 6332  df-ov 7138  df-oprab 7139  df-mpo 7140  df-1st 7671  df-2nd 7672  df-er 8272  df-map 8391  df-en 8493  df-dom 8494  df-sdom 8495  df-pnf 10666  df-mnf 10667  df-xr 10668  df-ltxr 10669  df-le 10670  df-xadd 12496  df-icc 12733  df-xmet 20084
This theorem is referenced by:  prdsxmetlem  22975  xrsxmet  23414
  Copyright terms: Public domain W3C validator