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

Theorem isxmet2d 20808
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 6431 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  RR* )
4 0xr 9643 . . . 4  |-  0  e.  RR*
5 xrletri3 11369 . . . 4  |-  ( ( ( x D y )  e.  RR*  /\  0  e.  RR* )  ->  (
( x D y )  =  0  <->  (
( x D y )  <_  0  /\  0  <_  ( x D y ) ) ) )
63, 4, 5sylancl 662 . . 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 507 . . 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 281 . 2  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  =  0  <-> 
x  =  y ) )
11 isxmet2d.4 . . . . . . 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 )  +  ( z D y ) ) )
12113expa 1197 . . . . . 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 )  +  ( z D y ) ) )
13 rexadd 11442 . . . . . . 7  |-  ( ( ( z D x )  e.  RR  /\  ( z D y )  e.  RR )  ->  ( ( z D x ) +e ( z D y ) )  =  ( ( z D x )  +  ( z D y ) ) )
1413adantl 466 . . . . . 6  |-  ( ( ( 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 ) ) )
1512, 14breqtrrd 4463 . . . . 5  |-  ( ( ( 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 ) ) )
1615anassrs 648 . . . 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 ) +e ( z D y ) ) )
1733adantr3 1158 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  e.  RR* )
18 pnfge 11350 . . . . . . 7  |-  ( ( x D y )  e.  RR*  ->  ( x D y )  <_ +oo )
1917, 18syl 16 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  <_ +oo )
2019ad2antrr 725 . . . . 5  |-  ( ( ( ( ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X
) )  /\  (
z D x )  e.  RR )  /\  ( z D y )  = +oo )  ->  ( x D y )  <_ +oo )
21 oveq2 6289 . . . . . 6  |-  ( ( z D y )  = +oo  ->  (
( z D x ) +e ( z D y ) )  =  ( ( z D x ) +e +oo )
)
22 ffn 5721 . . . . . . . . . . . 12  |-  ( D : ( X  X.  X ) --> RR*  ->  D  Fn  ( X  X.  X ) )
232, 22syl 16 . . . . . . . . . . 11  |-  ( ph  ->  D  Fn  ( X  X.  X ) )
24 elxrge0 11640 . . . . . . . . . . . . 13  |-  ( ( x D y )  e.  ( 0 [,] +oo )  <->  ( ( x D y )  e. 
RR*  /\  0  <_  ( x D y ) ) )
253, 7, 24sylanbrc 664 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  ( 0 [,] +oo ) )
2625ralrimivva 2864 . . . . . . . . . . 11  |-  ( ph  ->  A. x  e.  X  A. y  e.  X  ( x D y )  e.  ( 0 [,] +oo ) )
27 ffnov 6391 . . . . . . . . . . 11  |-  ( 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 ) ) )
2823, 26, 27sylanbrc 664 . . . . . . . . . 10  |-  ( ph  ->  D : ( X  X.  X ) --> ( 0 [,] +oo )
)
2928adantr 465 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  D : ( X  X.  X ) --> ( 0 [,] +oo ) )
30 simpr3 1005 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
z  e.  X )
31 simpr1 1003 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  x  e.  X )
3229, 30, 31fovrnd 6432 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  e.  ( 0 [,] +oo ) )
33 elxrge0 11640 . . . . . . . . 9  |-  ( ( z D x )  e.  ( 0 [,] +oo )  <->  ( ( z D x )  e. 
RR*  /\  0  <_  ( z D x ) ) )
3433simplbi 460 . . . . . . . 8  |-  ( ( z D x )  e.  ( 0 [,] +oo )  ->  ( z D x )  e. 
RR* )
3532, 34syl 16 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  e.  RR* )
36 renemnf 9645 . . . . . . 7  |-  ( ( z D x )  e.  RR  ->  (
z D x )  =/= -oo )
37 xaddpnf1 11436 . . . . . . 7  |-  ( ( ( z D x )  e.  RR*  /\  (
z D x )  =/= -oo )  -> 
( ( z D x ) +e +oo )  = +oo )
3835, 36, 37syl2an 477 . . . . . 6  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
( z D x ) +e +oo )  = +oo )
3921, 38sylan9eqr 2506 . . . . 5  |-  ( ( ( ( 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 )
4020, 39breqtrrd 4463 . . . 4  |-  ( ( ( ( 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 ) ) )
41 simpr2 1004 . . . . . . . . . . 11  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
y  e.  X )
4229, 30, 41fovrnd 6432 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  e.  ( 0 [,] +oo ) )
43 elxrge0 11640 . . . . . . . . . . 11  |-  ( ( z D y )  e.  ( 0 [,] +oo )  <->  ( ( z D y )  e. 
RR*  /\  0  <_  ( z D y ) ) )
4443simplbi 460 . . . . . . . . . 10  |-  ( ( z D y )  e.  ( 0 [,] +oo )  ->  ( z D y )  e. 
RR* )
4542, 44syl 16 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  e.  RR* )
4643simprbi 464 . . . . . . . . . 10  |-  ( ( z D y )  e.  ( 0 [,] +oo )  ->  0  <_ 
( z D y ) )
4742, 46syl 16 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
0  <_  ( z D y ) )
48 ge0nemnf 11385 . . . . . . . . 9  |-  ( ( ( z D y )  e.  RR*  /\  0  <_  ( z D y ) )  ->  (
z D y )  =/= -oo )
4945, 47, 48syl2anc 661 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  =/= -oo )
5049a1d 25 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( -.  ( x D y )  <_ 
( ( z D x ) +e
( z D y ) )  ->  (
z D y )  =/= -oo ) )
5150necon4bd 2665 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( ( z D y )  = -oo  ->  ( x D y )  <_  ( (
z D x ) +e ( z D y ) ) ) )
5251adantr 465 . . . . 5  |-  ( ( ( 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 ) ) ) )
5352imp 429 . . . 4  |-  ( ( ( ( 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 ) ) )
5445adantr 465 . . . . 5  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
z D y )  e.  RR* )
55 elxr 11336 . . . . 5  |-  ( ( z D y )  e.  RR*  <->  ( ( z D y )  e.  RR  \/  ( z D y )  = +oo  \/  ( z D y )  = -oo ) )
5654, 55sylib 196 . . . 4  |-  ( ( ( 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 )
)
5716, 40, 53, 56mpjao3dan 1296 . . 3  |-  ( ( ( 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 ) ) )
5819adantr 465 . . . 4  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = +oo )  ->  (
x D y )  <_ +oo )
59 oveq1 6288 . . . . 5  |-  ( ( z D x )  = +oo  ->  (
( z D x ) +e ( z D y ) )  =  ( +oo +e ( z D y ) ) )
60 xaddpnf2 11437 . . . . . 6  |-  ( ( ( z D y )  e.  RR*  /\  (
z D y )  =/= -oo )  -> 
( +oo +e ( z D y ) )  = +oo )
6145, 49, 60syl2anc 661 . . . . 5  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( +oo +e ( z D y ) )  = +oo )
6259, 61sylan9eqr 2506 . . . 4  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = +oo )  ->  (
( z D x ) +e ( z D y ) )  = +oo )
6358, 62breqtrrd 4463 . . 3  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = +oo )  ->  (
x D y )  <_  ( ( z D x ) +e ( z D y ) ) )
6433simprbi 464 . . . . . . . 8  |-  ( ( z D x )  e.  ( 0 [,] +oo )  ->  0  <_ 
( z D x ) )
6532, 64syl 16 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
0  <_  ( z D x ) )
66 ge0nemnf 11385 . . . . . . 7  |-  ( ( ( z D x )  e.  RR*  /\  0  <_  ( z D x ) )  ->  (
z D x )  =/= -oo )
6735, 65, 66syl2anc 661 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  =/= -oo )
6867a1d 25 . . . . 5  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( -.  ( x D y )  <_ 
( ( z D x ) +e
( z D y ) )  ->  (
z D x )  =/= -oo ) )
6968necon4bd 2665 . . . 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 ) ) ) )
7069imp 429 . . 3  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = -oo )  ->  (
x D y )  <_  ( ( z D x ) +e ( z D y ) ) )
71 elxr 11336 . . . 4  |-  ( ( z D x )  e.  RR*  <->  ( ( z D x )  e.  RR  \/  ( z D x )  = +oo  \/  ( z D x )  = -oo ) )
7235, 71sylib 196 . . 3  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( ( z D x )  e.  RR  \/  ( z D x )  = +oo  \/  ( z D x )  = -oo )
)
7357, 63, 70, 72mpjao3dan 1296 . 2  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  <_  ( (
z D x ) +e ( z D y ) ) )
741, 2, 10, 73isxmetd 20807 1  |-  ( ph  ->  D  e.  ( *Met `  X ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 369    \/ w3o 973    /\ w3a 974    = wceq 1383    e. wcel 1804    =/= wne 2638   A.wral 2793   _Vcvv 3095   class class class wbr 4437    X. cxp 4987    Fn wfn 5573   -->wf 5574   ` cfv 5578  (class class class)co 6281   RRcr 9494   0cc0 9495    + caddc 9498   +oocpnf 9628   -oocmnf 9629   RR*cxr 9630    <_ cle 9632   +ecxad 11327   [,]cicc 11543   *Metcxmt 18382
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1605  ax-4 1618  ax-5 1691  ax-6 1734  ax-7 1776  ax-8 1806  ax-9 1808  ax-10 1823  ax-11 1828  ax-12 1840  ax-13 1985  ax-ext 2421  ax-sep 4558  ax-nul 4566  ax-pow 4615  ax-pr 4676  ax-un 6577  ax-cnex 9551  ax-resscn 9552  ax-1cn 9553  ax-icn 9554  ax-addcl 9555  ax-addrcl 9556  ax-mulcl 9557  ax-mulrcl 9558  ax-i2m1 9563  ax-1ne0 9564  ax-rnegex 9566  ax-rrecex 9567  ax-cnre 9568  ax-pre-lttri 9569  ax-pre-lttrn 9570
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 975  df-3an 976  df-tru 1386  df-ex 1600  df-nf 1604  df-sb 1727  df-eu 2272  df-mo 2273  df-clab 2429  df-cleq 2435  df-clel 2438  df-nfc 2593  df-ne 2640  df-nel 2641  df-ral 2798  df-rex 2799  df-rab 2802  df-v 3097  df-sbc 3314  df-csb 3421  df-dif 3464  df-un 3466  df-in 3468  df-ss 3475  df-nul 3771  df-if 3927  df-pw 3999  df-sn 4015  df-pr 4017  df-op 4021  df-uni 4235  df-iun 4317  df-br 4438  df-opab 4496  df-mpt 4497  df-id 4785  df-po 4790  df-so 4791  df-xp 4995  df-rel 4996  df-cnv 4997  df-co 4998  df-dm 4999  df-rn 5000  df-res 5001  df-ima 5002  df-iota 5541  df-fun 5580  df-fn 5581  df-f 5582  df-f1 5583  df-fo 5584  df-f1o 5585  df-fv 5586  df-ov 6284  df-oprab 6285  df-mpt2 6286  df-er 7313  df-map 7424  df-en 7519  df-dom 7520  df-sdom 7521  df-pnf 9633  df-mnf 9634  df-xr 9635  df-ltxr 9636  df-le 9637  df-xadd 11330  df-icc 11547  df-xmet 18391
This theorem is referenced by:  prdsxmetlem  20849  xrsxmet  21292
  Copyright terms: Public domain W3C validator