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

Theorem isxmet2d 22502
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 (𝜑𝑋 ∈ V)
isxmetd.1 (𝜑𝐷:(𝑋 × 𝑋)⟶ℝ*)
isxmet2d.2 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → 0 ≤ (𝑥𝐷𝑦))
isxmet2d.3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) ≤ 0 ↔ 𝑥 = 𝑦))
isxmet2d.4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
Assertion
Ref Expression
isxmet2d (𝜑𝐷 ∈ (∞Met‘𝑋))
Distinct variable groups:   𝑥,𝑦,𝑧,𝐷   𝜑,𝑥,𝑦,𝑧   𝑥,𝑋,𝑦,𝑧

Proof of Theorem isxmet2d
StepHypRef Expression
1 isxmetd.0 . 2 (𝜑𝑋 ∈ V)
2 isxmetd.1 . 2 (𝜑𝐷:(𝑋 × 𝑋)⟶ℝ*)
32fovrnda 7065 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → (𝑥𝐷𝑦) ∈ ℝ*)
4 0xr 10403 . . . 4 0 ∈ ℝ*
5 xrletri3 12273 . . . 4 (((𝑥𝐷𝑦) ∈ ℝ* ∧ 0 ∈ ℝ*) → ((𝑥𝐷𝑦) = 0 ↔ ((𝑥𝐷𝑦) ≤ 0 ∧ 0 ≤ (𝑥𝐷𝑦))))
63, 4, 5sylancl 582 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) = 0 ↔ ((𝑥𝐷𝑦) ≤ 0 ∧ 0 ≤ (𝑥𝐷𝑦))))
7 isxmet2d.2 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → 0 ≤ (𝑥𝐷𝑦))
87biantrud 529 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) ≤ 0 ↔ ((𝑥𝐷𝑦) ≤ 0 ∧ 0 ≤ (𝑥𝐷𝑦))))
9 isxmet2d.3 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) ≤ 0 ↔ 𝑥 = 𝑦))
106, 8, 93bitr2d 299 . 2 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) = 0 ↔ 𝑥 = 𝑦))
11 isxmet2d.4 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
12113expa 1153 . . . . . 6 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
13 rexadd 12351 . . . . . . 7 (((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
1413adantl 475 . . . . . 6 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
1512, 14breqtrrd 4901 . . . . 5 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
1615anassrs 461 . . . 4 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) ∈ ℝ) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
1733adantr3 1218 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑥𝐷𝑦) ∈ ℝ*)
18 pnfge 12250 . . . . . . 7 ((𝑥𝐷𝑦) ∈ ℝ* → (𝑥𝐷𝑦) ≤ +∞)
1917, 18syl 17 . . . . . 6 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑥𝐷𝑦) ≤ +∞)
2019ad2antrr 719 . . . . 5 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = +∞) → (𝑥𝐷𝑦) ≤ +∞)
21 oveq2 6913 . . . . . 6 ((𝑧𝐷𝑦) = +∞ → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = ((𝑧𝐷𝑥) +𝑒 +∞))
222ffnd 6279 . . . . . . . . . . 11 (𝜑𝐷 Fn (𝑋 × 𝑋))
23 elxrge0 12571 . . . . . . . . . . . . 13 ((𝑥𝐷𝑦) ∈ (0[,]+∞) ↔ ((𝑥𝐷𝑦) ∈ ℝ* ∧ 0 ≤ (𝑥𝐷𝑦)))
243, 7, 23sylanbrc 580 . . . . . . . . . . . 12 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → (𝑥𝐷𝑦) ∈ (0[,]+∞))
2524ralrimivva 3180 . . . . . . . . . . 11 (𝜑 → ∀𝑥𝑋𝑦𝑋 (𝑥𝐷𝑦) ∈ (0[,]+∞))
26 ffnov 7024 . . . . . . . . . . 11 (𝐷:(𝑋 × 𝑋)⟶(0[,]+∞) ↔ (𝐷 Fn (𝑋 × 𝑋) ∧ ∀𝑥𝑋𝑦𝑋 (𝑥𝐷𝑦) ∈ (0[,]+∞)))
2722, 25, 26sylanbrc 580 . . . . . . . . . 10 (𝜑𝐷:(𝑋 × 𝑋)⟶(0[,]+∞))
2827adantr 474 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝐷:(𝑋 × 𝑋)⟶(0[,]+∞))
29 simpr3 1258 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝑧𝑋)
30 simpr1 1254 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝑥𝑋)
3128, 29, 30fovrnd 7066 . . . . . . . 8 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑥) ∈ (0[,]+∞))
32 elxrge0 12571 . . . . . . . . 9 ((𝑧𝐷𝑥) ∈ (0[,]+∞) ↔ ((𝑧𝐷𝑥) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑥)))
3332simplbi 493 . . . . . . . 8 ((𝑧𝐷𝑥) ∈ (0[,]+∞) → (𝑧𝐷𝑥) ∈ ℝ*)
3431, 33syl 17 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑥) ∈ ℝ*)
35 renemnf 10405 . . . . . . 7 ((𝑧𝐷𝑥) ∈ ℝ → (𝑧𝐷𝑥) ≠ -∞)
36 xaddpnf1 12345 . . . . . . 7 (((𝑧𝐷𝑥) ∈ ℝ* ∧ (𝑧𝐷𝑥) ≠ -∞) → ((𝑧𝐷𝑥) +𝑒 +∞) = +∞)
3734, 35, 36syl2an 591 . . . . . 6 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → ((𝑧𝐷𝑥) +𝑒 +∞) = +∞)
3821, 37sylan9eqr 2883 . . . . 5 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = +∞) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = +∞)
3920, 38breqtrrd 4901 . . . 4 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = +∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
40 simpr2 1256 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝑦𝑋)
4128, 29, 40fovrnd 7066 . . . . . . . . . 10 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑦) ∈ (0[,]+∞))
42 elxrge0 12571 . . . . . . . . . . 11 ((𝑧𝐷𝑦) ∈ (0[,]+∞) ↔ ((𝑧𝐷𝑦) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑦)))
4342simplbi 493 . . . . . . . . . 10 ((𝑧𝐷𝑦) ∈ (0[,]+∞) → (𝑧𝐷𝑦) ∈ ℝ*)
4441, 43syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑦) ∈ ℝ*)
4542simprbi 492 . . . . . . . . . 10 ((𝑧𝐷𝑦) ∈ (0[,]+∞) → 0 ≤ (𝑧𝐷𝑦))
4641, 45syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 0 ≤ (𝑧𝐷𝑦))
47 ge0nemnf 12292 . . . . . . . . 9 (((𝑧𝐷𝑦) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑦)) → (𝑧𝐷𝑦) ≠ -∞)
4844, 46, 47syl2anc 581 . . . . . . . 8 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑦) ≠ -∞)
4948a1d 25 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (¬ (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) → (𝑧𝐷𝑦) ≠ -∞))
5049necon4bd 3019 . . . . . 6 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑧𝐷𝑦) = -∞ → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦))))
5150adantr 474 . . . . 5 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → ((𝑧𝐷𝑦) = -∞ → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦))))
5251imp 397 . . . 4 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = -∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
5344adantr 474 . . . . 5 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → (𝑧𝐷𝑦) ∈ ℝ*)
54 elxr 12236 . . . . 5 ((𝑧𝐷𝑦) ∈ ℝ* ↔ ((𝑧𝐷𝑦) ∈ ℝ ∨ (𝑧𝐷𝑦) = +∞ ∨ (𝑧𝐷𝑦) = -∞))
5553, 54sylib 210 . . . 4 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → ((𝑧𝐷𝑦) ∈ ℝ ∨ (𝑧𝐷𝑦) = +∞ ∨ (𝑧𝐷𝑦) = -∞))
5616, 39, 52, 55mpjao3dan 1562 . . 3 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
5719adantr 474 . . . 4 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = +∞) → (𝑥𝐷𝑦) ≤ +∞)
58 oveq1 6912 . . . . 5 ((𝑧𝐷𝑥) = +∞ → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = (+∞ +𝑒 (𝑧𝐷𝑦)))
59 xaddpnf2 12346 . . . . . 6 (((𝑧𝐷𝑦) ∈ ℝ* ∧ (𝑧𝐷𝑦) ≠ -∞) → (+∞ +𝑒 (𝑧𝐷𝑦)) = +∞)
6044, 48, 59syl2anc 581 . . . . 5 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (+∞ +𝑒 (𝑧𝐷𝑦)) = +∞)
6158, 60sylan9eqr 2883 . . . 4 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = +∞) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = +∞)
6257, 61breqtrrd 4901 . . 3 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = +∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
6332simprbi 492 . . . . . . . 8 ((𝑧𝐷𝑥) ∈ (0[,]+∞) → 0 ≤ (𝑧𝐷𝑥))
6431, 63syl 17 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 0 ≤ (𝑧𝐷𝑥))
65 ge0nemnf 12292 . . . . . . 7 (((𝑧𝐷𝑥) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑥)) → (𝑧𝐷𝑥) ≠ -∞)
6634, 64, 65syl2anc 581 . . . . . 6 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑥) ≠ -∞)
6766a1d 25 . . . . 5 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (¬ (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) → (𝑧𝐷𝑥) ≠ -∞))
6867necon4bd 3019 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑧𝐷𝑥) = -∞ → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦))))
6968imp 397 . . 3 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = -∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
70 elxr 12236 . . . 4 ((𝑧𝐷𝑥) ∈ ℝ* ↔ ((𝑧𝐷𝑥) ∈ ℝ ∨ (𝑧𝐷𝑥) = +∞ ∨ (𝑧𝐷𝑥) = -∞))
7134, 70sylib 210 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑧𝐷𝑥) ∈ ℝ ∨ (𝑧𝐷𝑥) = +∞ ∨ (𝑧𝐷𝑥) = -∞))
7256, 62, 69, 71mpjao3dan 1562 . 2 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
731, 2, 10, 72isxmetd 22501 1 (𝜑𝐷 ∈ (∞Met‘𝑋))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 198  wa 386  w3o 1112  w3a 1113   = wceq 1658  wcel 2166  wne 2999  wral 3117  Vcvv 3414   class class class wbr 4873   × cxp 5340   Fn wfn 6118  wf 6119  cfv 6123  (class class class)co 6905  cr 10251  0cc0 10252   + caddc 10255  +∞cpnf 10388  -∞cmnf 10389  *cxr 10390  cle 10392   +𝑒 cxad 12230  [,]cicc 12466  ∞Metcxmet 20091
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1896  ax-4 1910  ax-5 2011  ax-6 2077  ax-7 2114  ax-8 2168  ax-9 2175  ax-10 2194  ax-11 2209  ax-12 2222  ax-13 2391  ax-ext 2803  ax-sep 5005  ax-nul 5013  ax-pow 5065  ax-pr 5127  ax-un 7209  ax-cnex 10308  ax-resscn 10309  ax-1cn 10310  ax-icn 10311  ax-addcl 10312  ax-addrcl 10313  ax-mulcl 10314  ax-i2m1 10320  ax-rnegex 10323  ax-cnre 10325  ax-pre-lttri 10326  ax-pre-lttrn 10327
This theorem depends on definitions:  df-bi 199  df-an 387  df-or 881  df-3or 1114  df-3an 1115  df-tru 1662  df-ex 1881  df-nf 1885  df-sb 2070  df-mo 2605  df-eu 2640  df-clab 2812  df-cleq 2818  df-clel 2821  df-nfc 2958  df-ne 3000  df-nel 3103  df-ral 3122  df-rex 3123  df-rab 3126  df-v 3416  df-sbc 3663  df-csb 3758  df-dif 3801  df-un 3803  df-in 3805  df-ss 3812  df-nul 4145  df-if 4307  df-pw 4380  df-sn 4398  df-pr 4400  df-op 4404  df-uni 4659  df-iun 4742  df-br 4874  df-opab 4936  df-mpt 4953  df-id 5250  df-po 5263  df-so 5264  df-xp 5348  df-rel 5349  df-cnv 5350  df-co 5351  df-dm 5352  df-rn 5353  df-res 5354  df-ima 5355  df-iota 6086  df-fun 6125  df-fn 6126  df-f 6127  df-f1 6128  df-fo 6129  df-f1o 6130  df-fv 6131  df-ov 6908  df-oprab 6909  df-mpt2 6910  df-er 8009  df-map 8124  df-en 8223  df-dom 8224  df-sdom 8225  df-pnf 10393  df-mnf 10394  df-xr 10395  df-ltxr 10396  df-le 10397  df-xadd 12233  df-icc 12470  df-xmet 20099
This theorem is referenced by:  prdsxmetlem  22543  xrsxmet  22982
  Copyright terms: Public domain W3C validator