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

Theorem isxmet2d 18349
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 6209 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  RR* )
4 0xr 9123 . . . 4  |-  0  e.  RR*
5 xrletri3 10737 . . . 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 5583 . . . . . . . . 9  |-  ( D : ( X  X.  X ) --> RR*  ->  D  Fn  ( X  X.  X ) )
122, 11syl 16 . . . . . . . 8  |-  ( ph  ->  D  Fn  ( X  X.  X ) )
13 elxrge0 11000 . . . . . . . . . 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 2790 . . . . . . . 8  |-  ( ph  ->  A. x  e.  X  A. y  e.  X  ( x D y )  e.  ( 0 [,]  +oo ) )
16 ffnov 6166 . . . . . . . 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 6210 . . . . 5  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  e.  ( 0 [,]  +oo ) )
22 elxrge0 11000 . . . . . 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 10708 . . . 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 6210 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  e.  ( 0 [,]  +oo ) )
29 elxrge0 11000 . . . . . . . . 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 10708 . . . . . 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 10810 . . . . . . . . 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 4230 . . . . . . 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 10719 . . . . . . . . 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 6081 . . . . . . . 8  |-  ( ( z D y )  =  +oo  ->  (
( z D x ) + e ( z D y ) )  =  ( ( z D x ) + e  +oo )
)
46 renemnf 9125 . . . . . . . . 9  |-  ( ( z D x )  e.  RR  ->  (
z D x )  =/=  -oo )
47 xaddpnf1 10804 . . . . . . . . 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 2489 . . . . . . 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 4230 . . . . . 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 10753 . . . . . . . . . . 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 2660 . . . . . . . 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 6080 . . . . . 6  |-  ( ( z D x )  =  +oo  ->  (
( z D x ) + e ( z D y ) )  =  (  +oo + e ( z D y ) ) )
63 xaddpnf2 10805 . . . . . . 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 2489 . . . . 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 4230 . . . 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 10753 . . . . . . . 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 2660 . . . . 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 18348 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 1652    e. wcel 1725    =/= wne 2598   A.wral 2697   _Vcvv 2948   class class class wbr 4204    X. cxp 4868    Fn wfn 5441   -->wf 5442   ` cfv 5446  (class class class)co 6073   RRcr 8981   0cc0 8982    + caddc 8985    +oocpnf 9109    -oocmnf 9110   RR*cxr 9111    <_ cle 9113   + ecxad 10700   [,]cicc 10911   * Metcxmt 16678
This theorem is referenced by:  prdsxmetlem  18390  xrsxmet  18832
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-13 1727  ax-14 1729  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2416  ax-sep 4322  ax-nul 4330  ax-pow 4369  ax-pr 4395  ax-un 4693  ax-cnex 9038  ax-resscn 9039  ax-1cn 9040  ax-icn 9041  ax-addcl 9042  ax-addrcl 9043  ax-mulcl 9044  ax-mulrcl 9045  ax-i2m1 9050  ax-1ne0 9051  ax-rnegex 9053  ax-rrecex 9054  ax-cnre 9055  ax-pre-lttri 9056  ax-pre-lttrn 9057
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-eu 2284  df-mo 2285  df-clab 2422  df-cleq 2428  df-clel 2431  df-nfc 2560  df-ne 2600  df-nel 2601  df-ral 2702  df-rex 2703  df-rab 2706  df-v 2950  df-sbc 3154  df-csb 3244  df-dif 3315  df-un 3317  df-in 3319  df-ss 3326  df-nul 3621  df-if 3732  df-pw 3793  df-sn 3812  df-pr 3813  df-op 3815  df-uni 4008  df-iun 4087  df-br 4205  df-opab 4259  df-mpt 4260  df-id 4490  df-po 4495  df-so 4496  df-xp 4876  df-rel 4877  df-cnv 4878  df-co 4879  df-dm 4880  df-rn 4881  df-res 4882  df-ima 4883  df-iota 5410  df-fun 5448  df-fn 5449  df-f 5450  df-f1 5451  df-fo 5452  df-f1o 5453  df-fv 5454  df-ov 6076  df-oprab 6077  df-mpt2 6078  df-er 6897  df-map 7012  df-en 7102  df-dom 7103  df-sdom 7104  df-pnf 9114  df-mnf 9115  df-xr 9116  df-ltxr 9117  df-le 9118  df-xadd 10703  df-icc 10915  df-xmet 16687
  Copyright terms: Public domain W3C validator