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

Theorem isxmet2d 18362
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 6220 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  RR* )
4 0xr 9136 . . . 4  |-  0  e.  RR*
5 xrletri3 10750 . . . 4  |-  ( ( ( x D y )  e.  RR*  /\  0  e.  RR* )  ->  (
( x D y )  =  0  <->  (
( x D y )  <_  0  /\  0  <_  ( x D y ) ) ) )
63, 4, 5sylancl 645 . . 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 495 . . 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 274 . 2  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( ( x D y )  =  0  <-> 
x  =  y ) )
11 ffn 5594 . . . . . . . . 9  |-  ( D : ( X  X.  X ) --> RR*  ->  D  Fn  ( X  X.  X ) )
122, 11syl 16 . . . . . . . 8  |-  ( ph  ->  D  Fn  ( X  X.  X ) )
13 elxrge0 11013 . . . . . . . . . 10  |-  ( ( x D y )  e.  ( 0 [,] 
+oo )  <->  ( (
x D y )  e.  RR*  /\  0  <_  ( x D y ) ) )
143, 7, 13sylanbrc 647 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  ( 0 [,]  +oo ) )
1514ralrimivva 2800 . . . . . . . 8  |-  ( ph  ->  A. x  e.  X  A. y  e.  X  ( x D y )  e.  ( 0 [,]  +oo ) )
16 ffnov 6177 . . . . . . . 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 647 . . . . . . 7  |-  ( ph  ->  D : ( X  X.  X ) --> ( 0 [,]  +oo )
)
1817adantr 453 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  D : ( X  X.  X ) --> ( 0 [,]  +oo ) )
19 simpr3 966 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
z  e.  X )
20 simpr1 964 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  x  e.  X )
2118, 19, 20fovrnd 6221 . . . . 5  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  e.  ( 0 [,]  +oo ) )
22 elxrge0 11013 . . . . . 6  |-  ( ( z D x )  e.  ( 0 [,] 
+oo )  <->  ( (
z D x )  e.  RR*  /\  0  <_  ( z D x ) ) )
2322simplbi 448 . . . . 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 10721 . . . 4  |-  ( ( z D x )  e.  RR*  <->  ( ( z D x )  e.  RR  \/  ( z D x )  = 
+oo  \/  ( z D x )  = 
-oo ) )
2624, 25sylib 190 . . 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 965 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
y  e.  X )
2818, 19, 27fovrnd 6221 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  e.  ( 0 [,]  +oo ) )
29 elxrge0 11013 . . . . . . . . 9  |-  ( ( z D y )  e.  ( 0 [,] 
+oo )  <->  ( (
z D y )  e.  RR*  /\  0  <_  ( z D y ) ) )
3029simplbi 448 . . . . . . . 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 453 . . . . . 6  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
z D y )  e.  RR* )
33 elxr 10721 . . . . . 6  |-  ( ( z D y )  e.  RR*  <->  ( ( z D y )  e.  RR  \/  ( z D y )  = 
+oo  \/  ( z D y )  = 
-oo ) )
3432, 33sylib 190 . . . . 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 1154 . . . . . . . 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 10823 . . . . . . . . 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 454 . . . . . . . 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 4241 . . . . . . 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 631 . . . . . 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 1119 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  e.  RR* )
42 pnfge 10732 . . . . . . . . 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 708 . . . . . . 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 6092 . . . . . . . 8  |-  ( ( z D y )  =  +oo  ->  (
( z D x ) + e ( z D y ) )  =  ( ( z D x ) + e  +oo )
)
46 renemnf 9138 . . . . . . . . 9  |-  ( ( z D x )  e.  RR  ->  (
z D x )  =/=  -oo )
47 xaddpnf1 10817 . . . . . . . . 9  |-  ( ( ( z D x )  e.  RR*  /\  (
z D x )  =/=  -oo )  ->  (
( z D x ) + e  +oo )  =  +oo )
4824, 46, 47syl2an 465 . . . . . . . 8  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
( z D x ) + e  +oo )  =  +oo )
4945, 48sylan9eqr 2492 . . . . . . 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 4241 . . . . . 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 452 . . . . . . . . . . . 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 10766 . . . . . . . . . . 11  |-  ( ( ( z D y )  e.  RR*  /\  0  <_  ( z D y ) )  ->  (
z D y )  =/=  -oo )
5431, 52, 53syl2anc 644 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  =/=  -oo )
5554a1d 24 . . . . . . . . 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 2668 . . . . . . . 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 453 . . . . . . 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 420 . . . . . 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 1251 . . . . 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 651 . . . 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 453 . . . . 5  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = 
+oo )  ->  (
x D y )  <_  +oo )
62 oveq1 6091 . . . . . 6  |-  ( ( z D x )  =  +oo  ->  (
( z D x ) + e ( z D y ) )  =  (  +oo + e ( z D y ) ) )
63 xaddpnf2 10818 . . . . . . 7  |-  ( ( ( z D y )  e.  RR*  /\  (
z D y )  =/=  -oo )  ->  (  +oo + e ( z D y ) )  =  +oo )
6431, 54, 63syl2anc 644 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
(  +oo + e ( z D y ) )  =  +oo )
6562, 64sylan9eqr 2492 . . . . 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 4241 . . . 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 452 . . . . . . . . 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 10766 . . . . . . . 8  |-  ( ( ( z D x )  e.  RR*  /\  0  <_  ( z D x ) )  ->  (
z D x )  =/=  -oo )
7024, 68, 69syl2anc 644 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  =/=  -oo )
7170a1d 24 . . . . . 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 2668 . . . . 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 420 . . . 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 1251 . . 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 651 . 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 18361 1  |-  ( ph  ->  D  e.  ( * Met `  X ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 178    /\ wa 360    \/ w3o 936    /\ w3a 937    = wceq 1653    e. wcel 1726    =/= wne 2601   A.wral 2707   _Vcvv 2958   class class class wbr 4215    X. cxp 4879    Fn wfn 5452   -->wf 5453   ` cfv 5457  (class class class)co 6084   RRcr 8994   0cc0 8995    + caddc 8998    +oocpnf 9122    -oocmnf 9123   RR*cxr 9124    <_ cle 9126   + ecxad 10713   [,]cicc 10924   * Metcxmt 16691
This theorem is referenced by:  prdsxmetlem  18403  xrsxmet  18845
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1556  ax-5 1567  ax-17 1627  ax-9 1667  ax-8 1688  ax-13 1728  ax-14 1730  ax-6 1745  ax-7 1750  ax-11 1762  ax-12 1951  ax-ext 2419  ax-sep 4333  ax-nul 4341  ax-pow 4380  ax-pr 4406  ax-un 4704  ax-cnex 9051  ax-resscn 9052  ax-1cn 9053  ax-icn 9054  ax-addcl 9055  ax-addrcl 9056  ax-mulcl 9057  ax-mulrcl 9058  ax-i2m1 9063  ax-1ne0 9064  ax-rnegex 9066  ax-rrecex 9067  ax-cnre 9068  ax-pre-lttri 9069  ax-pre-lttrn 9070
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1660  df-eu 2287  df-mo 2288  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2712  df-rex 2713  df-rab 2716  df-v 2960  df-sbc 3164  df-csb 3254  df-dif 3325  df-un 3327  df-in 3329  df-ss 3336  df-nul 3631  df-if 3742  df-pw 3803  df-sn 3822  df-pr 3823  df-op 3825  df-uni 4018  df-iun 4097  df-br 4216  df-opab 4270  df-mpt 4271  df-id 4501  df-po 4506  df-so 4507  df-xp 4887  df-rel 4888  df-cnv 4889  df-co 4890  df-dm 4891  df-rn 4892  df-res 4893  df-ima 4894  df-iota 5421  df-fun 5459  df-fn 5460  df-f 5461  df-f1 5462  df-fo 5463  df-f1o 5464  df-fv 5465  df-ov 6087  df-oprab 6088  df-mpt2 6089  df-er 6908  df-map 7023  df-en 7113  df-dom 7114  df-sdom 7115  df-pnf 9127  df-mnf 9128  df-xr 9129  df-ltxr 9130  df-le 9131  df-xadd 10716  df-icc 10928  df-xmet 16700
  Copyright terms: Public domain W3C validator