Metamath Proof Explorer


Theorem psmettri2

Description: Triangle inequality for the distance function of a pseudometric. (Contributed by Thierry Arnoux, 11-Feb-2018)

Ref Expression
Assertion psmettri2 ( ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) ∧ ( 𝐶𝑋𝐴𝑋𝐵𝑋 ) ) → ( 𝐴 𝐷 𝐵 ) ≤ ( ( 𝐶 𝐷 𝐴 ) +𝑒 ( 𝐶 𝐷 𝐵 ) ) )

Proof

Step Hyp Ref Expression
1 elfvex ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) → 𝑋 ∈ V )
2 ispsmet ( 𝑋 ∈ V → ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) ↔ ( 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ* ∧ ∀ 𝑎𝑋 ( ( 𝑎 𝐷 𝑎 ) = 0 ∧ ∀ 𝑏𝑋𝑐𝑋 ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) ) ) ) )
3 1 2 syl ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) → ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) ↔ ( 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ* ∧ ∀ 𝑎𝑋 ( ( 𝑎 𝐷 𝑎 ) = 0 ∧ ∀ 𝑏𝑋𝑐𝑋 ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) ) ) ) )
4 3 ibi ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) → ( 𝐷 : ( 𝑋 × 𝑋 ) ⟶ ℝ* ∧ ∀ 𝑎𝑋 ( ( 𝑎 𝐷 𝑎 ) = 0 ∧ ∀ 𝑏𝑋𝑐𝑋 ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) ) ) )
5 4 simprd ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) → ∀ 𝑎𝑋 ( ( 𝑎 𝐷 𝑎 ) = 0 ∧ ∀ 𝑏𝑋𝑐𝑋 ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) ) )
6 5 r19.21bi ( ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) ∧ 𝑎𝑋 ) → ( ( 𝑎 𝐷 𝑎 ) = 0 ∧ ∀ 𝑏𝑋𝑐𝑋 ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) ) )
7 6 simprd ( ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) ∧ 𝑎𝑋 ) → ∀ 𝑏𝑋𝑐𝑋 ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) )
8 7 ralrimiva ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) → ∀ 𝑎𝑋𝑏𝑋𝑐𝑋 ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) )
9 oveq1 ( 𝑎 = 𝐴 → ( 𝑎 𝐷 𝑏 ) = ( 𝐴 𝐷 𝑏 ) )
10 oveq2 ( 𝑎 = 𝐴 → ( 𝑐 𝐷 𝑎 ) = ( 𝑐 𝐷 𝐴 ) )
11 10 oveq1d ( 𝑎 = 𝐴 → ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) = ( ( 𝑐 𝐷 𝐴 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) )
12 9 11 breq12d ( 𝑎 = 𝐴 → ( ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) ↔ ( 𝐴 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝐴 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) ) )
13 oveq2 ( 𝑏 = 𝐵 → ( 𝐴 𝐷 𝑏 ) = ( 𝐴 𝐷 𝐵 ) )
14 oveq2 ( 𝑏 = 𝐵 → ( 𝑐 𝐷 𝑏 ) = ( 𝑐 𝐷 𝐵 ) )
15 14 oveq2d ( 𝑏 = 𝐵 → ( ( 𝑐 𝐷 𝐴 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) = ( ( 𝑐 𝐷 𝐴 ) +𝑒 ( 𝑐 𝐷 𝐵 ) ) )
16 13 15 breq12d ( 𝑏 = 𝐵 → ( ( 𝐴 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝐴 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) ↔ ( 𝐴 𝐷 𝐵 ) ≤ ( ( 𝑐 𝐷 𝐴 ) +𝑒 ( 𝑐 𝐷 𝐵 ) ) ) )
17 oveq1 ( 𝑐 = 𝐶 → ( 𝑐 𝐷 𝐴 ) = ( 𝐶 𝐷 𝐴 ) )
18 oveq1 ( 𝑐 = 𝐶 → ( 𝑐 𝐷 𝐵 ) = ( 𝐶 𝐷 𝐵 ) )
19 17 18 oveq12d ( 𝑐 = 𝐶 → ( ( 𝑐 𝐷 𝐴 ) +𝑒 ( 𝑐 𝐷 𝐵 ) ) = ( ( 𝐶 𝐷 𝐴 ) +𝑒 ( 𝐶 𝐷 𝐵 ) ) )
20 19 breq2d ( 𝑐 = 𝐶 → ( ( 𝐴 𝐷 𝐵 ) ≤ ( ( 𝑐 𝐷 𝐴 ) +𝑒 ( 𝑐 𝐷 𝐵 ) ) ↔ ( 𝐴 𝐷 𝐵 ) ≤ ( ( 𝐶 𝐷 𝐴 ) +𝑒 ( 𝐶 𝐷 𝐵 ) ) ) )
21 12 16 20 rspc3v ( ( 𝐴𝑋𝐵𝑋𝐶𝑋 ) → ( ∀ 𝑎𝑋𝑏𝑋𝑐𝑋 ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) → ( 𝐴 𝐷 𝐵 ) ≤ ( ( 𝐶 𝐷 𝐴 ) +𝑒 ( 𝐶 𝐷 𝐵 ) ) ) )
22 21 3comr ( ( 𝐶𝑋𝐴𝑋𝐵𝑋 ) → ( ∀ 𝑎𝑋𝑏𝑋𝑐𝑋 ( 𝑎 𝐷 𝑏 ) ≤ ( ( 𝑐 𝐷 𝑎 ) +𝑒 ( 𝑐 𝐷 𝑏 ) ) → ( 𝐴 𝐷 𝐵 ) ≤ ( ( 𝐶 𝐷 𝐴 ) +𝑒 ( 𝐶 𝐷 𝐵 ) ) ) )
23 8 22 mpan9 ( ( 𝐷 ∈ ( PsMet ‘ 𝑋 ) ∧ ( 𝐶𝑋𝐴𝑋𝐵𝑋 ) ) → ( 𝐴 𝐷 𝐵 ) ≤ ( ( 𝐶 𝐷 𝐴 ) +𝑒 ( 𝐶 𝐷 𝐵 ) ) )