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

Theorem isxmet2d 18266
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:  D ( x ,  y )  =  if ( x  =  y ,  0 , 
-oo ) satisfies all hypotheses except nonnegativity.) (Contributed by Mario Carneiro, 20-Aug-2015.)
Hypotheses
Ref Expression
isxmetd.0  |-  ( ph  ->  X  e.  _V )
isxmetd.1  |-  ( ph  ->  D : ( X  X.  X ) --> RR* )
isxmet2d.2  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
0  <_  ( x D y ) )
isxmet2d.3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  <_  0  <->  x  =  y ) )
isxmet2d.4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X )  /\  (
( z D x )  e.  RR  /\  ( z D y )  e.  RR ) )  ->  ( x D y )  <_ 
( ( z D x )  +  ( z D y ) ) )
Assertion
Ref Expression
isxmet2d  |-  ( ph  ->  D  e.  ( * Met `  X ) )
Distinct variable groups:    x, y,
z, D    ph, x, y, z    x, X, y, z

Proof of Theorem isxmet2d
StepHypRef Expression
1 isxmetd.0 . 2  |-  ( ph  ->  X  e.  _V )
2 isxmetd.1 . 2  |-  ( ph  ->  D : ( X  X.  X ) --> RR* )
32fovrnda 6156 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  RR* )
4 0xr 9064 . . . 4  |-  0  e.  RR*
5 xrletri3 10677 . . . 4  |-  ( ( ( x D y )  e.  RR*  /\  0  e.  RR* )  ->  (
( x D y )  =  0  <->  (
( x D y )  <_  0  /\  0  <_  ( x D y ) ) ) )
63, 4, 5sylancl 644 . . 3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  =  0  <-> 
( ( x D y )  <_  0  /\  0  <_  ( x D y ) ) ) )
7 isxmet2d.2 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
0  <_  ( x D y ) )
87biantrud 494 . . 3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  <_  0  <->  ( ( x D y )  <_  0  /\  0  <_  ( x D y ) ) ) )
9 isxmet2d.3 . . 3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  <_  0  <->  x  =  y ) )
106, 8, 93bitr2d 273 . 2  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  =  0  <-> 
x  =  y ) )
11 ffn 5531 . . . . . . . . 9  |-  ( D : ( X  X.  X ) --> RR*  ->  D  Fn  ( X  X.  X ) )
122, 11syl 16 . . . . . . . 8  |-  ( ph  ->  D  Fn  ( X  X.  X ) )
13 elxrge0 10940 . . . . . . . . . 10  |-  ( ( x D y )  e.  ( 0 [,] 
+oo )  <->  ( (
x D y )  e.  RR*  /\  0  <_  ( x D y ) ) )
143, 7, 13sylanbrc 646 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  ( 0 [,]  +oo ) )
1514ralrimivva 2741 . . . . . . . 8  |-  ( ph  ->  A. x  e.  X  A. y  e.  X  ( x D y )  e.  ( 0 [,]  +oo ) )
16 ffnov 6113 . . . . . . . 8  |-  ( D : ( X  X.  X ) --> ( 0 [,]  +oo )  <->  ( D  Fn  ( X  X.  X
)  /\  A. x  e.  X  A. y  e.  X  ( x D y )  e.  ( 0 [,]  +oo ) ) )
1712, 15, 16sylanbrc 646 . . . . . . 7  |-  ( ph  ->  D : ( X  X.  X ) --> ( 0 [,]  +oo )
)
1817adantr 452 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  D : ( X  X.  X ) --> ( 0 [,]  +oo ) )
19 simpr3 965 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
z  e.  X )
20 simpr1 963 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  x  e.  X )
2118, 19, 20fovrnd 6157 . . . . 5  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  e.  ( 0 [,]  +oo ) )
22 elxrge0 10940 . . . . . 6  |-  ( ( z D x )  e.  ( 0 [,] 
+oo )  <->  ( (
z D x )  e.  RR*  /\  0  <_  ( z D x ) ) )
2322simplbi 447 . . . . 5  |-  ( ( z D x )  e.  ( 0 [,] 
+oo )  ->  (
z D x )  e.  RR* )
2421, 23syl 16 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  e.  RR* )
25 elxr 10648 . . . 4  |-  ( ( z D x )  e.  RR*  <->  ( ( z D x )  e.  RR  \/  ( z D x )  = 
+oo  \/  ( z D x )  = 
-oo ) )
2624, 25sylib 189 . . 3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( ( z D x )  e.  RR  \/  ( z D x )  =  +oo  \/  ( z D x )  =  -oo )
)
27 simpr2 964 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
y  e.  X )
2818, 19, 27fovrnd 6157 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  e.  ( 0 [,]  +oo ) )
29 elxrge0 10940 . . . . . . . . 9  |-  ( ( z D y )  e.  ( 0 [,] 
+oo )  <->  ( (
z D y )  e.  RR*  /\  0  <_  ( z D y ) ) )
3029simplbi 447 . . . . . . . 8  |-  ( ( z D y )  e.  ( 0 [,] 
+oo )  ->  (
z D y )  e.  RR* )
3128, 30syl 16 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  e.  RR* )
3231adantr 452 . . . . . 6  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
z D y )  e.  RR* )
33 elxr 10648 . . . . . 6  |-  ( ( z D y )  e.  RR*  <->  ( ( z D y )  e.  RR  \/  ( z D y )  = 
+oo  \/  ( z D y )  = 
-oo ) )
3432, 33sylib 189 . . . . 5  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
( z D y )  e.  RR  \/  ( z D y )  =  +oo  \/  ( z D y )  =  -oo )
)
35 isxmet2d.4 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X )  /\  (
( z D x )  e.  RR  /\  ( z D y )  e.  RR ) )  ->  ( x D y )  <_ 
( ( z D x )  +  ( z D y ) ) )
36353expa 1153 . . . . . . . 8  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( (
z D x )  e.  RR  /\  (
z D y )  e.  RR ) )  ->  ( x D y )  <_  (
( z D x )  +  ( z D y ) ) )
37 rexadd 10750 . . . . . . . . 9  |-  ( ( ( z D x )  e.  RR  /\  ( z D y )  e.  RR )  ->  ( ( z D x ) + e ( z D y ) )  =  ( ( z D x )  +  ( z D y ) ) )
3837adantl 453 . . . . . . . 8  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( (
z D x )  e.  RR  /\  (
z D y )  e.  RR ) )  ->  ( ( z D x ) + e ( z D y ) )  =  ( ( z D x )  +  ( z D y ) ) )
3936, 38breqtrrd 4179 . . . . . . 7  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( (
z D x )  e.  RR  /\  (
z D y )  e.  RR ) )  ->  ( x D y )  <_  (
( z D x ) + e ( z D y ) ) )
4039anassrs 630 . . . . . 6  |-  ( ( ( ( ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X
) )  /\  (
z D x )  e.  RR )  /\  ( z D y )  e.  RR )  ->  ( x D y )  <_  (
( z D x ) + e ( z D y ) ) )
4133adantr3 1118 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  e.  RR* )
42 pnfge 10659 . . . . . . . . 9  |-  ( ( x D y )  e.  RR*  ->  ( x D y )  <_  +oo )
4341, 42syl 16 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  <_  +oo )
4443ad2antrr 707 . . . . . . 7  |-  ( ( ( ( ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X
) )  /\  (
z D x )  e.  RR )  /\  ( z D y )  =  +oo )  ->  ( x D y )  <_  +oo )
45 oveq2 6028 . . . . . . . 8  |-  ( ( z D y )  =  +oo  ->  (
( z D x ) + e ( z D y ) )  =  ( ( z D x ) + e  +oo )
)
46 renemnf 9066 . . . . . . . . 9  |-  ( ( z D x )  e.  RR  ->  (
z D x )  =/=  -oo )
47 xaddpnf1 10744 . . . . . . . . 9  |-  ( ( ( z D x )  e.  RR*  /\  (
z D x )  =/=  -oo )  ->  (
( z D x ) + e  +oo )  =  +oo )
4824, 46, 47syl2an 464 . . . . . . . 8  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
( z D x ) + e  +oo )  =  +oo )
4945, 48sylan9eqr 2441 . . . . . . 7  |-  ( ( ( ( ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X
) )  /\  (
z D x )  e.  RR )  /\  ( z D y )  =  +oo )  ->  ( ( z D x ) + e
( z D y ) )  =  +oo )
5044, 49breqtrrd 4179 . . . . . 6  |-  ( ( ( ( ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X
) )  /\  (
z D x )  e.  RR )  /\  ( z D y )  =  +oo )  ->  ( x D y )  <_  ( (
z D x ) + e ( z D y ) ) )
5129simprbi 451 . . . . . . . . . . . 12  |-  ( ( z D y )  e.  ( 0 [,] 
+oo )  ->  0  <_  ( z D y ) )
5228, 51syl 16 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
0  <_  ( z D y ) )
53 ge0nemnf 10693 . . . . . . . . . . 11  |-  ( ( ( z D y )  e.  RR*  /\  0  <_  ( z D y ) )  ->  (
z D y )  =/=  -oo )
5431, 52, 53syl2anc 643 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  =/=  -oo )
5554a1d 23 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( -.  ( x D y )  <_ 
( ( z D x ) + e
( z D y ) )  ->  (
z D y )  =/=  -oo ) )
5655necon4bd 2612 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( ( z D y )  =  -oo  ->  ( x D y )  <_  ( (
z D x ) + e ( z D y ) ) ) )
5756adantr 452 . . . . . . 7  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
( z D y )  =  -oo  ->  ( x D y )  <_  ( ( z D x ) + e ( z D y ) ) ) )
5857imp 419 . . . . . 6  |-  ( ( ( ( ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X
) )  /\  (
z D x )  e.  RR )  /\  ( z D y )  =  -oo )  ->  ( x D y )  <_  ( (
z D x ) + e ( z D y ) ) )
5940, 50, 583jaodan 1250 . . . . 5  |-  ( ( ( ( ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X
) )  /\  (
z D x )  e.  RR )  /\  ( ( z D y )  e.  RR  \/  ( z D y )  =  +oo  \/  ( z D y )  =  -oo )
)  ->  ( x D y )  <_ 
( ( z D x ) + e
( z D y ) ) )
6034, 59mpdan 650 . . . 4  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
x D y )  <_  ( ( z D x ) + e ( z D y ) ) )
6143adantr 452 . . . . 5  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = 
+oo )  ->  (
x D y )  <_  +oo )
62 oveq1 6027 . . . . . 6  |-  ( ( z D x )  =  +oo  ->  (
( z D x ) + e ( z D y ) )  =  (  +oo + e ( z D y ) ) )
63 xaddpnf2 10745 . . . . . . 7  |-  ( ( ( z D y )  e.  RR*  /\  (
z D y )  =/=  -oo )  ->  (  +oo + e ( z D y ) )  =  +oo )
6431, 54, 63syl2anc 643 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
(  +oo + e ( z D y ) )  =  +oo )
6562, 64sylan9eqr 2441 . . . . 5  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = 
+oo )  ->  (
( z D x ) + e ( z D y ) )  =  +oo )
6661, 65breqtrrd 4179 . . . 4  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = 
+oo )  ->  (
x D y )  <_  ( ( z D x ) + e ( z D y ) ) )
6722simprbi 451 . . . . . . . . 9  |-  ( ( z D x )  e.  ( 0 [,] 
+oo )  ->  0  <_  ( z D x ) )
6821, 67syl 16 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
0  <_  ( z D x ) )
69 ge0nemnf 10693 . . . . . . . 8  |-  ( ( ( z D x )  e.  RR*  /\  0  <_  ( z D x ) )  ->  (
z D x )  =/=  -oo )
7024, 68, 69syl2anc 643 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  =/=  -oo )
7170a1d 23 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( -.  ( x D y )  <_ 
( ( z D x ) + e
( z D y ) )  ->  (
z D x )  =/=  -oo ) )
7271necon4bd 2612 . . . . 5  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( ( z D x )  =  -oo  ->  ( x D y )  <_  ( (
z D x ) + e ( z D y ) ) ) )
7372imp 419 . . . 4  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = 
-oo )  ->  (
x D y )  <_  ( ( z D x ) + e ( z D y ) ) )
7460, 66, 733jaodan 1250 . . 3  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( (
z D x )  e.  RR  \/  (
z D x )  =  +oo  \/  (
z D x )  =  -oo ) )  ->  ( x D y )  <_  (
( z D x ) + e ( z D y ) ) )
7526, 74mpdan 650 . 2  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  <_  ( (
z D x ) + e ( z D y ) ) )
761, 2, 10, 75isxmetd 18265 1  |-  ( ph  ->  D  e.  ( * Met `  X ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 177    /\ wa 359    \/ w3o 935    /\ w3a 936    = wceq 1649    e. wcel 1717    =/= wne 2550   A.wral 2649   _Vcvv 2899   class class class wbr 4153    X. cxp 4816    Fn wfn 5389   -->wf 5390   ` cfv 5394  (class class class)co 6020   RRcr 8922   0cc0 8923    + caddc 8926    +oocpnf 9050    -oocmnf 9051   RR*cxr 9052    <_ cle 9054   + ecxad 10640   [,]cicc 10851   * Metcxmt 16612
This theorem is referenced by:  prdsxmetlem  18306  xrsxmet  18711
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1661  ax-8 1682  ax-13 1719  ax-14 1721  ax-6 1736  ax-7 1741  ax-11 1753  ax-12 1939  ax-ext 2368  ax-sep 4271  ax-nul 4279  ax-pow 4318  ax-pr 4344  ax-un 4641  ax-cnex 8979  ax-resscn 8980  ax-1cn 8981  ax-icn 8982  ax-addcl 8983  ax-addrcl 8984  ax-mulcl 8985  ax-mulrcl 8986  ax-i2m1 8991  ax-1ne0 8992  ax-rnegex 8994  ax-rrecex 8995  ax-cnre 8996  ax-pre-lttri 8997  ax-pre-lttrn 8998
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2242  df-mo 2243  df-clab 2374  df-cleq 2380  df-clel 2383  df-nfc 2512  df-ne 2552  df-nel 2553  df-ral 2654  df-rex 2655  df-rab 2658  df-v 2901  df-sbc 3105  df-csb 3195  df-dif 3266  df-un 3268  df-in 3270  df-ss 3277  df-nul 3572  df-if 3683  df-pw 3744  df-sn 3763  df-pr 3764  df-op 3766  df-uni 3958  df-iun 4037  df-br 4154  df-opab 4208  df-mpt 4209  df-id 4439  df-po 4444  df-so 4445  df-xp 4824  df-rel 4825  df-cnv 4826  df-co 4827  df-dm 4828  df-rn 4829  df-res 4830  df-ima 4831  df-iota 5358  df-fun 5396  df-fn 5397  df-f 5398  df-f1 5399  df-fo 5400  df-f1o 5401  df-fv 5402  df-ov 6023  df-oprab 6024  df-mpt2 6025  df-er 6841  df-map 6956  df-en 7046  df-dom 7047  df-sdom 7048  df-pnf 9055  df-mnf 9056  df-xr 9057  df-ltxr 9058  df-le 9059  df-xadd 10643  df-icc 10855  df-xmet 16619
  Copyright terms: Public domain W3C validator