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

Theorem isxmet2d 23480
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 7443 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → (𝑥𝐷𝑦) ∈ ℝ*)
4 0xr 11022 . . . 4 0 ∈ ℝ*
5 xrletri3 12888 . . . 4 (((𝑥𝐷𝑦) ∈ ℝ* ∧ 0 ∈ ℝ*) → ((𝑥𝐷𝑦) = 0 ↔ ((𝑥𝐷𝑦) ≤ 0 ∧ 0 ≤ (𝑥𝐷𝑦))))
63, 4, 5sylancl 586 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) = 0 ↔ ((𝑥𝐷𝑦) ≤ 0 ∧ 0 ≤ (𝑥𝐷𝑦))))
7 isxmet2d.2 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → 0 ≤ (𝑥𝐷𝑦))
87biantrud 532 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) ≤ 0 ↔ ((𝑥𝐷𝑦) ≤ 0 ∧ 0 ≤ (𝑥𝐷𝑦))))
9 isxmet2d.3 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) ≤ 0 ↔ 𝑥 = 𝑦))
106, 8, 93bitr2d 307 . 2 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → ((𝑥𝐷𝑦) = 0 ↔ 𝑥 = 𝑦))
11 isxmet2d.4 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
12113expa 1117 . . . . . 6 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
13 rexadd 12966 . . . . . . 7 (((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
1413adantl 482 . . . . . 6 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = ((𝑧𝐷𝑥) + (𝑧𝐷𝑦)))
1512, 14breqtrrd 5102 . . . . 5 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ ((𝑧𝐷𝑥) ∈ ℝ ∧ (𝑧𝐷𝑦) ∈ ℝ)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
1615anassrs 468 . . . 4 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) ∈ ℝ) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
1733adantr3 1170 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑥𝐷𝑦) ∈ ℝ*)
18 pnfge 12866 . . . . . . 7 ((𝑥𝐷𝑦) ∈ ℝ* → (𝑥𝐷𝑦) ≤ +∞)
1917, 18syl 17 . . . . . 6 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑥𝐷𝑦) ≤ +∞)
2019ad2antrr 723 . . . . 5 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = +∞) → (𝑥𝐷𝑦) ≤ +∞)
21 oveq2 7283 . . . . . 6 ((𝑧𝐷𝑦) = +∞ → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = ((𝑧𝐷𝑥) +𝑒 +∞))
222ffnd 6601 . . . . . . . . . . 11 (𝜑𝐷 Fn (𝑋 × 𝑋))
23 elxrge0 13189 . . . . . . . . . . . . 13 ((𝑥𝐷𝑦) ∈ (0[,]+∞) ↔ ((𝑥𝐷𝑦) ∈ ℝ* ∧ 0 ≤ (𝑥𝐷𝑦)))
243, 7, 23sylanbrc 583 . . . . . . . . . . . 12 ((𝜑 ∧ (𝑥𝑋𝑦𝑋)) → (𝑥𝐷𝑦) ∈ (0[,]+∞))
2524ralrimivva 3123 . . . . . . . . . . 11 (𝜑 → ∀𝑥𝑋𝑦𝑋 (𝑥𝐷𝑦) ∈ (0[,]+∞))
26 ffnov 7401 . . . . . . . . . . 11 (𝐷:(𝑋 × 𝑋)⟶(0[,]+∞) ↔ (𝐷 Fn (𝑋 × 𝑋) ∧ ∀𝑥𝑋𝑦𝑋 (𝑥𝐷𝑦) ∈ (0[,]+∞)))
2722, 25, 26sylanbrc 583 . . . . . . . . . 10 (𝜑𝐷:(𝑋 × 𝑋)⟶(0[,]+∞))
2827adantr 481 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝐷:(𝑋 × 𝑋)⟶(0[,]+∞))
29 simpr3 1195 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝑧𝑋)
30 simpr1 1193 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝑥𝑋)
3128, 29, 30fovrnd 7444 . . . . . . . 8 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑥) ∈ (0[,]+∞))
32 eliccxr 13167 . . . . . . . 8 ((𝑧𝐷𝑥) ∈ (0[,]+∞) → (𝑧𝐷𝑥) ∈ ℝ*)
3331, 32syl 17 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑥) ∈ ℝ*)
34 renemnf 11024 . . . . . . 7 ((𝑧𝐷𝑥) ∈ ℝ → (𝑧𝐷𝑥) ≠ -∞)
35 xaddpnf1 12960 . . . . . . 7 (((𝑧𝐷𝑥) ∈ ℝ* ∧ (𝑧𝐷𝑥) ≠ -∞) → ((𝑧𝐷𝑥) +𝑒 +∞) = +∞)
3633, 34, 35syl2an 596 . . . . . 6 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → ((𝑧𝐷𝑥) +𝑒 +∞) = +∞)
3721, 36sylan9eqr 2800 . . . . 5 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = +∞) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = +∞)
3820, 37breqtrrd 5102 . . . 4 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = +∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
39 simpr2 1194 . . . . . . . . . . 11 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 𝑦𝑋)
4028, 29, 39fovrnd 7444 . . . . . . . . . 10 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑦) ∈ (0[,]+∞))
41 eliccxr 13167 . . . . . . . . . 10 ((𝑧𝐷𝑦) ∈ (0[,]+∞) → (𝑧𝐷𝑦) ∈ ℝ*)
4240, 41syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑦) ∈ ℝ*)
43 elxrge0 13189 . . . . . . . . . . 11 ((𝑧𝐷𝑦) ∈ (0[,]+∞) ↔ ((𝑧𝐷𝑦) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑦)))
4443simprbi 497 . . . . . . . . . 10 ((𝑧𝐷𝑦) ∈ (0[,]+∞) → 0 ≤ (𝑧𝐷𝑦))
4540, 44syl 17 . . . . . . . . 9 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 0 ≤ (𝑧𝐷𝑦))
46 ge0nemnf 12907 . . . . . . . . 9 (((𝑧𝐷𝑦) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑦)) → (𝑧𝐷𝑦) ≠ -∞)
4742, 45, 46syl2anc 584 . . . . . . . 8 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑦) ≠ -∞)
4847a1d 25 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (¬ (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) → (𝑧𝐷𝑦) ≠ -∞))
4948necon4bd 2963 . . . . . 6 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑧𝐷𝑦) = -∞ → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦))))
5049adantr 481 . . . . 5 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → ((𝑧𝐷𝑦) = -∞ → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦))))
5150imp 407 . . . 4 ((((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) ∧ (𝑧𝐷𝑦) = -∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
5242adantr 481 . . . . 5 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → (𝑧𝐷𝑦) ∈ ℝ*)
53 elxr 12852 . . . . 5 ((𝑧𝐷𝑦) ∈ ℝ* ↔ ((𝑧𝐷𝑦) ∈ ℝ ∨ (𝑧𝐷𝑦) = +∞ ∨ (𝑧𝐷𝑦) = -∞))
5452, 53sylib 217 . . . 4 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → ((𝑧𝐷𝑦) ∈ ℝ ∨ (𝑧𝐷𝑦) = +∞ ∨ (𝑧𝐷𝑦) = -∞))
5516, 38, 51, 54mpjao3dan 1430 . . 3 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) ∈ ℝ) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
5619adantr 481 . . . 4 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = +∞) → (𝑥𝐷𝑦) ≤ +∞)
57 oveq1 7282 . . . . 5 ((𝑧𝐷𝑥) = +∞ → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = (+∞ +𝑒 (𝑧𝐷𝑦)))
58 xaddpnf2 12961 . . . . . 6 (((𝑧𝐷𝑦) ∈ ℝ* ∧ (𝑧𝐷𝑦) ≠ -∞) → (+∞ +𝑒 (𝑧𝐷𝑦)) = +∞)
5942, 47, 58syl2anc 584 . . . . 5 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (+∞ +𝑒 (𝑧𝐷𝑦)) = +∞)
6057, 59sylan9eqr 2800 . . . 4 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = +∞) → ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) = +∞)
6156, 60breqtrrd 5102 . . 3 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = +∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
62 elxrge0 13189 . . . . . . . . 9 ((𝑧𝐷𝑥) ∈ (0[,]+∞) ↔ ((𝑧𝐷𝑥) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑥)))
6362simprbi 497 . . . . . . . 8 ((𝑧𝐷𝑥) ∈ (0[,]+∞) → 0 ≤ (𝑧𝐷𝑥))
6431, 63syl 17 . . . . . . 7 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → 0 ≤ (𝑧𝐷𝑥))
65 ge0nemnf 12907 . . . . . . 7 (((𝑧𝐷𝑥) ∈ ℝ* ∧ 0 ≤ (𝑧𝐷𝑥)) → (𝑧𝐷𝑥) ≠ -∞)
6633, 64, 65syl2anc 584 . . . . . 6 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑧𝐷𝑥) ≠ -∞)
6766a1d 25 . . . . 5 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (¬ (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)) → (𝑧𝐷𝑥) ≠ -∞))
6867necon4bd 2963 . . . 4 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑧𝐷𝑥) = -∞ → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦))))
6968imp 407 . . 3 (((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) ∧ (𝑧𝐷𝑥) = -∞) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
70 elxr 12852 . . . 4 ((𝑧𝐷𝑥) ∈ ℝ* ↔ ((𝑧𝐷𝑥) ∈ ℝ ∨ (𝑧𝐷𝑥) = +∞ ∨ (𝑧𝐷𝑥) = -∞))
7133, 70sylib 217 . . 3 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → ((𝑧𝐷𝑥) ∈ ℝ ∨ (𝑧𝐷𝑥) = +∞ ∨ (𝑧𝐷𝑥) = -∞))
7255, 61, 69, 71mpjao3dan 1430 . 2 ((𝜑 ∧ (𝑥𝑋𝑦𝑋𝑧𝑋)) → (𝑥𝐷𝑦) ≤ ((𝑧𝐷𝑥) +𝑒 (𝑧𝐷𝑦)))
731, 2, 10, 72isxmetd 23479 1 (𝜑𝐷 ∈ (∞Met‘𝑋))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 396  w3o 1085  w3a 1086   = wceq 1539  wcel 2106  wne 2943  wral 3064   class class class wbr 5074   × cxp 5587   Fn wfn 6428  wf 6429  cfv 6433  (class class class)co 7275  cr 10870  0cc0 10871   + caddc 10874  +∞cpnf 11006  -∞cmnf 11007  *cxr 11008  cle 11010   +𝑒 cxad 12846  [,]cicc 13082  ∞Metcxmet 20582
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1798  ax-4 1812  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2709  ax-sep 5223  ax-nul 5230  ax-pow 5288  ax-pr 5352  ax-un 7588  ax-cnex 10927  ax-resscn 10928  ax-1cn 10929  ax-icn 10930  ax-addcl 10931  ax-addrcl 10932  ax-mulcl 10933  ax-i2m1 10939  ax-rnegex 10942  ax-cnre 10944  ax-pre-lttri 10945  ax-pre-lttrn 10946
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3or 1087  df-3an 1088  df-tru 1542  df-fal 1552  df-ex 1783  df-nf 1787  df-sb 2068  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2816  df-nfc 2889  df-ne 2944  df-nel 3050  df-ral 3069  df-rex 3070  df-rab 3073  df-v 3434  df-sbc 3717  df-csb 3833  df-dif 3890  df-un 3892  df-in 3894  df-ss 3904  df-nul 4257  df-if 4460  df-pw 4535  df-sn 4562  df-pr 4564  df-op 4568  df-uni 4840  df-iun 4926  df-br 5075  df-opab 5137  df-mpt 5158  df-id 5489  df-po 5503  df-so 5504  df-xp 5595  df-rel 5596  df-cnv 5597  df-co 5598  df-dm 5599  df-rn 5600  df-res 5601  df-ima 5602  df-iota 6391  df-fun 6435  df-fn 6436  df-f 6437  df-f1 6438  df-fo 6439  df-f1o 6440  df-fv 6441  df-ov 7278  df-oprab 7279  df-mpo 7280  df-1st 7831  df-2nd 7832  df-er 8498  df-map 8617  df-en 8734  df-dom 8735  df-sdom 8736  df-pnf 11011  df-mnf 11012  df-xr 11013  df-ltxr 11014  df-le 11015  df-xadd 12849  df-icc 13086  df-xmet 20590
This theorem is referenced by:  prdsxmetlem  23521  xrsxmet  23972
  Copyright terms: Public domain W3C validator