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

Theorem isxmet2d 17908
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* )
3 fovrn 6006 . . . . . 6  |-  ( ( D : ( X  X.  X ) --> RR* 
/\  x  e.  X  /\  y  e.  X
)  ->  ( x D y )  e. 
RR* )
433expb 1152 . . . . 5  |-  ( ( D : ( X  X.  X ) --> RR* 
/\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  RR* )
52, 4sylan 457 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  RR* )
6 0xr 8894 . . . 4  |-  0  e.  RR*
7 xrletri3 10502 . . . 4  |-  ( ( ( x D y )  e.  RR*  /\  0  e.  RR* )  ->  (
( x D y )  =  0  <->  (
( x D y )  <_  0  /\  0  <_  ( x D y ) ) ) )
85, 6, 7sylancl 643 . . 3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  =  0  <-> 
( ( x D y )  <_  0  /\  0  <_  ( x D y ) ) ) )
9 isxmet2d.2 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
0  <_  ( x D y ) )
109biantrud 493 . . 3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  <_  0  <->  ( ( x D y )  <_  0  /\  0  <_  ( x D y ) ) ) )
11 isxmet2d.3 . . 3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  <_  0  <->  x  =  y ) )
128, 10, 113bitr2d 272 . 2  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  =  0  <-> 
x  =  y ) )
13 ffn 5405 . . . . . . . . 9  |-  ( D : ( X  X.  X ) --> RR*  ->  D  Fn  ( X  X.  X ) )
142, 13syl 15 . . . . . . . 8  |-  ( ph  ->  D  Fn  ( X  X.  X ) )
15 elxrge0 10763 . . . . . . . . . 10  |-  ( ( x D y )  e.  ( 0 [,] 
+oo )  <->  ( (
x D y )  e.  RR*  /\  0  <_  ( x D y ) ) )
165, 9, 15sylanbrc 645 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  ( 0 [,]  +oo ) )
1716ralrimivva 2648 . . . . . . . 8  |-  ( ph  ->  A. x  e.  X  A. y  e.  X  ( x D y )  e.  ( 0 [,]  +oo ) )
18 ffnov 5964 . . . . . . . 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 ) ) )
1914, 17, 18sylanbrc 645 . . . . . . 7  |-  ( ph  ->  D : ( X  X.  X ) --> ( 0 [,]  +oo )
)
2019adantr 451 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  D : ( X  X.  X ) --> ( 0 [,]  +oo ) )
21 simpr3 963 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
z  e.  X )
22 simpr1 961 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  x  e.  X )
23 fovrn 6006 . . . . . 6  |-  ( ( D : ( X  X.  X ) --> ( 0 [,]  +oo )  /\  z  e.  X  /\  x  e.  X
)  ->  ( z D x )  e.  ( 0 [,]  +oo ) )
2420, 21, 22, 23syl3anc 1182 . . . . 5  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  e.  ( 0 [,]  +oo ) )
25 elxrge0 10763 . . . . . 6  |-  ( ( z D x )  e.  ( 0 [,] 
+oo )  <->  ( (
z D x )  e.  RR*  /\  0  <_  ( z D x ) ) )
2625simplbi 446 . . . . 5  |-  ( ( z D x )  e.  ( 0 [,] 
+oo )  ->  (
z D x )  e.  RR* )
2724, 26syl 15 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  e.  RR* )
28 elxr 10474 . . . 4  |-  ( ( z D x )  e.  RR*  <->  ( ( z D x )  e.  RR  \/  ( z D x )  = 
+oo  \/  ( z D x )  = 
-oo ) )
2927, 28sylib 188 . . 3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( ( z D x )  e.  RR  \/  ( z D x )  =  +oo  \/  ( z D x )  =  -oo )
)
30 simpr2 962 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
y  e.  X )
31 fovrn 6006 . . . . . . . . 9  |-  ( ( D : ( X  X.  X ) --> ( 0 [,]  +oo )  /\  z  e.  X  /\  y  e.  X
)  ->  ( z D y )  e.  ( 0 [,]  +oo ) )
3220, 21, 30, 31syl3anc 1182 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  e.  ( 0 [,]  +oo ) )
33 elxrge0 10763 . . . . . . . . 9  |-  ( ( z D y )  e.  ( 0 [,] 
+oo )  <->  ( (
z D y )  e.  RR*  /\  0  <_  ( z D y ) ) )
3433simplbi 446 . . . . . . . 8  |-  ( ( z D y )  e.  ( 0 [,] 
+oo )  ->  (
z D y )  e.  RR* )
3532, 34syl 15 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  e.  RR* )
3635adantr 451 . . . . . 6  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
z D y )  e.  RR* )
37 elxr 10474 . . . . . 6  |-  ( ( z D y )  e.  RR*  <->  ( ( z D y )  e.  RR  \/  ( z D y )  = 
+oo  \/  ( z D y )  = 
-oo ) )
3836, 37sylib 188 . . . . 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 )
)
39 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 ) ) )
40393expa 1151 . . . . . . . 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 ) ) )
41 rexadd 10575 . . . . . . . . 9  |-  ( ( ( z D x )  e.  RR  /\  ( z D y )  e.  RR )  ->  ( ( z D x ) + e ( z D y ) )  =  ( ( z D x )  +  ( z D y ) ) )
4241adantl 452 . . . . . . . 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 ) ) )
4340, 42breqtrrd 4065 . . . . . . 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 ) ) )
4443anassrs 629 . . . . . 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 ) ) )
4553adantr3 1116 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  e.  RR* )
46 pnfge 10485 . . . . . . . . 9  |-  ( ( x D y )  e.  RR*  ->  ( x D y )  <_  +oo )
4745, 46syl 15 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  <_  +oo )
4847ad2antrr 706 . . . . . . 7  |-  ( ( ( ( ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X
) )  /\  (
z D x )  e.  RR )  /\  ( z D y )  =  +oo )  ->  ( x D y )  <_  +oo )
49 oveq2 5882 . . . . . . . 8  |-  ( ( z D y )  =  +oo  ->  (
( z D x ) + e ( z D y ) )  =  ( ( z D x ) + e  +oo )
)
50 renemnf 8896 . . . . . . . . 9  |-  ( ( z D x )  e.  RR  ->  (
z D x )  =/=  -oo )
51 xaddpnf1 10569 . . . . . . . . 9  |-  ( ( ( z D x )  e.  RR*  /\  (
z D x )  =/=  -oo )  ->  (
( z D x ) + e  +oo )  =  +oo )
5227, 50, 51syl2an 463 . . . . . . . 8  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
( z D x ) + e  +oo )  =  +oo )
5349, 52sylan9eqr 2350 . . . . . . 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 )
5448, 53breqtrrd 4065 . . . . . 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 ) ) )
5533simprbi 450 . . . . . . . . . . . 12  |-  ( ( z D y )  e.  ( 0 [,] 
+oo )  ->  0  <_  ( z D y ) )
5632, 55syl 15 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
0  <_  ( z D y ) )
57 ge0nemnf 10518 . . . . . . . . . . 11  |-  ( ( ( z D y )  e.  RR*  /\  0  <_  ( z D y ) )  ->  (
z D y )  =/=  -oo )
5835, 56, 57syl2anc 642 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  =/=  -oo )
5958a1d 22 . . . . . . . . 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 ) )
6059necon4bd 2521 . . . . . . . 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 ) ) ) )
6160adantr 451 . . . . . . 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 ) ) ) )
6261imp 418 . . . . . 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 ) ) )
6344, 54, 623jaodan 1248 . . . . 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 ) ) )
6438, 63mpdan 649 . . . 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 ) ) )
6547adantr 451 . . . . 5  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = 
+oo )  ->  (
x D y )  <_  +oo )
66 oveq1 5881 . . . . . 6  |-  ( ( z D x )  =  +oo  ->  (
( z D x ) + e ( z D y ) )  =  (  +oo + e ( z D y ) ) )
67 xaddpnf2 10570 . . . . . . 7  |-  ( ( ( z D y )  e.  RR*  /\  (
z D y )  =/=  -oo )  ->  (  +oo + e ( z D y ) )  =  +oo )
6835, 58, 67syl2anc 642 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
(  +oo + e ( z D y ) )  =  +oo )
6966, 68sylan9eqr 2350 . . . . 5  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = 
+oo )  ->  (
( z D x ) + e ( z D y ) )  =  +oo )
7065, 69breqtrrd 4065 . . . 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 ) ) )
7125simprbi 450 . . . . . . . . 9  |-  ( ( z D x )  e.  ( 0 [,] 
+oo )  ->  0  <_  ( z D x ) )
7224, 71syl 15 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
0  <_  ( z D x ) )
73 ge0nemnf 10518 . . . . . . . 8  |-  ( ( ( z D x )  e.  RR*  /\  0  <_  ( z D x ) )  ->  (
z D x )  =/=  -oo )
7427, 72, 73syl2anc 642 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  =/=  -oo )
7574a1d 22 . . . . . 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 ) )
7675necon4bd 2521 . . . . 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 ) ) ) )
7776imp 418 . . . 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 ) ) )
7864, 70, 773jaodan 1248 . . 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 ) ) )
7929, 78mpdan 649 . 2  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  <_  ( (
z D x ) + e ( z D y ) ) )
801, 2, 12, 79isxmetd 17907 1  |-  ( ph  ->  D  e.  ( * Met `  X ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 176    /\ wa 358    \/ w3o 933    /\ w3a 934    = wceq 1632    e. wcel 1696    =/= wne 2459   A.wral 2556   _Vcvv 2801   class class class wbr 4039    X. cxp 4703    Fn wfn 5266   -->wf 5267   ` cfv 5271  (class class class)co 5874   RRcr 8752   0cc0 8753    + caddc 8756    +oocpnf 8880    -oocmnf 8881   RR*cxr 8882    <_ cle 8884   + ecxad 10466   [,]cicc 10675   * Metcxmt 16385
This theorem is referenced by:  prdsxmetlem  17948  xrsxmet  18331
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1536  ax-5 1547  ax-17 1606  ax-9 1644  ax-8 1661  ax-13 1698  ax-14 1700  ax-6 1715  ax-7 1720  ax-11 1727  ax-12 1878  ax-ext 2277  ax-sep 4157  ax-nul 4165  ax-pow 4204  ax-pr 4230  ax-un 4528  ax-cnex 8809  ax-resscn 8810  ax-1cn 8811  ax-icn 8812  ax-addcl 8813  ax-addrcl 8814  ax-mulcl 8815  ax-mulrcl 8816  ax-i2m1 8821  ax-1ne0 8822  ax-rnegex 8824  ax-rrecex 8825  ax-cnre 8826  ax-pre-lttri 8827  ax-pre-lttrn 8828
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1532  df-nf 1535  df-sb 1639  df-eu 2160  df-mo 2161  df-clab 2283  df-cleq 2289  df-clel 2292  df-nfc 2421  df-ne 2461  df-nel 2462  df-ral 2561  df-rex 2562  df-rab 2565  df-v 2803  df-sbc 3005  df-csb 3095  df-dif 3168  df-un 3170  df-in 3172  df-ss 3179  df-nul 3469  df-if 3579  df-pw 3640  df-sn 3659  df-pr 3660  df-op 3662  df-uni 3844  df-iun 3923  df-br 4040  df-opab 4094  df-mpt 4095  df-id 4325  df-po 4330  df-so 4331  df-xp 4711  df-rel 4712  df-cnv 4713  df-co 4714  df-dm 4715  df-rn 4716  df-res 4717  df-ima 4718  df-iota 5235  df-fun 5273  df-fn 5274  df-f 5275  df-f1 5276  df-fo 5277  df-f1o 5278  df-fv 5279  df-ov 5877  df-oprab 5878  df-mpt2 5879  df-er 6676  df-map 6790  df-en 6880  df-dom 6881  df-sdom 6882  df-pnf 8885  df-mnf 8886  df-xr 8887  df-ltxr 8888  df-le 8889  df-xadd 10469  df-icc 10679  df-xmet 16389
  Copyright terms: Public domain W3C validator