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

Theorem isxmet2d 19901
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 6233 . . . 4  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  RR* )
4 0xr 9429 . . . 4  |-  0  e.  RR*
5 xrletri3 11128 . . . 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 ffn 5558 . . . . . . . . 9  |-  ( D : ( X  X.  X ) --> RR*  ->  D  Fn  ( X  X.  X ) )
122, 11syl 16 . . . . . . . 8  |-  ( ph  ->  D  Fn  ( X  X.  X ) )
13 elxrge0 11393 . . . . . . . . . 10  |-  ( ( x D y )  e.  ( 0 [,] +oo )  <->  ( ( x D y )  e. 
RR*  /\  0  <_  ( x D y ) ) )
143, 7, 13sylanbrc 664 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X ) )  -> 
( x D y )  e.  ( 0 [,] +oo ) )
1514ralrimivva 2807 . . . . . . . 8  |-  ( ph  ->  A. x  e.  X  A. y  e.  X  ( x D y )  e.  ( 0 [,] +oo ) )
16 ffnov 6193 . . . . . . . 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 664 . . . . . . 7  |-  ( ph  ->  D : ( X  X.  X ) --> ( 0 [,] +oo )
)
1817adantr 465 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  D : ( X  X.  X ) --> ( 0 [,] +oo ) )
19 simpr3 996 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
z  e.  X )
20 simpr1 994 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  ->  x  e.  X )
2118, 19, 20fovrnd 6234 . . . . 5  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  e.  ( 0 [,] +oo ) )
22 elxrge0 11393 . . . . . 6  |-  ( ( z D x )  e.  ( 0 [,] +oo )  <->  ( ( z D x )  e. 
RR*  /\  0  <_  ( z D x ) ) )
2322simplbi 460 . . . . 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 11095 . . . 4  |-  ( ( z D x )  e.  RR*  <->  ( ( z D x )  e.  RR  \/  ( z D x )  = +oo  \/  ( z D x )  = -oo ) )
2624, 25sylib 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 )
)
27 simpr2 995 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
y  e.  X )
2818, 19, 27fovrnd 6234 . . . . . . . 8  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  e.  ( 0 [,] +oo ) )
29 elxrge0 11393 . . . . . . . . 9  |-  ( ( z D y )  e.  ( 0 [,] +oo )  <->  ( ( z D y )  e. 
RR*  /\  0  <_  ( z D y ) ) )
3029simplbi 460 . . . . . . . 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 465 . . . . . 6  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
z D y )  e.  RR* )
33 elxr 11095 . . . . . 6  |-  ( ( z D y )  e.  RR*  <->  ( ( z D y )  e.  RR  \/  ( z D y )  = +oo  \/  ( z D y )  = -oo ) )
3432, 33sylib 196 . . . . 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 1187 . . . . . . . 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 11201 . . . . . . . . 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 466 . . . . . . . 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 4317 . . . . . . 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 648 . . . . . 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 1149 . . . . . . . . 9  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( x D y )  e.  RR* )
42 pnfge 11109 . . . . . . . . 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 725 . . . . . . 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 6098 . . . . . . . 8  |-  ( ( z D y )  = +oo  ->  (
( z D x ) +e ( z D y ) )  =  ( ( z D x ) +e +oo )
)
46 renemnf 9431 . . . . . . . . 9  |-  ( ( z D x )  e.  RR  ->  (
z D x )  =/= -oo )
47 xaddpnf1 11195 . . . . . . . . 9  |-  ( ( ( z D x )  e.  RR*  /\  (
z D x )  =/= -oo )  -> 
( ( z D x ) +e +oo )  = +oo )
4824, 46, 47syl2an 477 . . . . . . . 8  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  e.  RR )  ->  (
( z D x ) +e +oo )  = +oo )
4945, 48sylan9eqr 2496 . . . . . . 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 4317 . . . . . 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 464 . . . . . . . . . . . 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 11144 . . . . . . . . . . 11  |-  ( ( ( z D y )  e.  RR*  /\  0  <_  ( z D y ) )  ->  (
z D y )  =/= -oo )
5431, 52, 53syl2anc 661 . . . . . . . . . 10  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D y )  =/= -oo )
5554a1d 25 . . . . . . . . 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 2672 . . . . . . . 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 465 . . . . . . 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 429 . . . . . 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 1284 . . . . 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 668 . . . 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 465 . . . . 5  |-  ( ( ( ph  /\  (
x  e.  X  /\  y  e.  X  /\  z  e.  X )
)  /\  ( z D x )  = +oo )  ->  (
x D y )  <_ +oo )
62 oveq1 6097 . . . . . 6  |-  ( ( z D x )  = +oo  ->  (
( z D x ) +e ( z D y ) )  =  ( +oo +e ( z D y ) ) )
63 xaddpnf2 11196 . . . . . . 7  |-  ( ( ( z D y )  e.  RR*  /\  (
z D y )  =/= -oo )  -> 
( +oo +e ( z D y ) )  = +oo )
6431, 54, 63syl2anc 661 . . . . . 6  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( +oo +e ( z D y ) )  = +oo )
6562, 64sylan9eqr 2496 . . . . 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 4317 . . . 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 464 . . . . . . . . 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 11144 . . . . . . . 8  |-  ( ( ( z D x )  e.  RR*  /\  0  <_  ( z D x ) )  ->  (
z D x )  =/= -oo )
7024, 68, 69syl2anc 661 . . . . . . 7  |-  ( (
ph  /\  ( x  e.  X  /\  y  e.  X  /\  z  e.  X ) )  -> 
( z D x )  =/= -oo )
7170a1d 25 . . . . . 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 2672 . . . . 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 429 . . . 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 1284 . . 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 668 . 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 19900 1  |-  ( ph  ->  D  e.  ( *Met `  X ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 369    \/ w3o 964    /\ w3a 965    = wceq 1369    e. wcel 1756    =/= wne 2605   A.wral 2714   _Vcvv 2971   class class class wbr 4291    X. cxp 4837    Fn wfn 5412   -->wf 5413   ` cfv 5417  (class class class)co 6090   RRcr 9280   0cc0 9281    + caddc 9284   +oocpnf 9414   -oocmnf 9415   RR*cxr 9416    <_ cle 9418   +ecxad 11086   [,]cicc 11302   *Metcxmt 17800
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2423  ax-sep 4412  ax-nul 4420  ax-pow 4469  ax-pr 4530  ax-un 6371  ax-cnex 9337  ax-resscn 9338  ax-1cn 9339  ax-icn 9340  ax-addcl 9341  ax-addrcl 9342  ax-mulcl 9343  ax-mulrcl 9344  ax-i2m1 9349  ax-1ne0 9350  ax-rnegex 9352  ax-rrecex 9353  ax-cnre 9354  ax-pre-lttri 9355  ax-pre-lttrn 9356
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2429  df-cleq 2435  df-clel 2438  df-nfc 2567  df-ne 2607  df-nel 2608  df-ral 2719  df-rex 2720  df-rab 2723  df-v 2973  df-sbc 3186  df-csb 3288  df-dif 3330  df-un 3332  df-in 3334  df-ss 3341  df-nul 3637  df-if 3791  df-pw 3861  df-sn 3877  df-pr 3879  df-op 3883  df-uni 4091  df-iun 4172  df-br 4292  df-opab 4350  df-mpt 4351  df-id 4635  df-po 4640  df-so 4641  df-xp 4845  df-rel 4846  df-cnv 4847  df-co 4848  df-dm 4849  df-rn 4850  df-res 4851  df-ima 4852  df-iota 5380  df-fun 5419  df-fn 5420  df-f 5421  df-f1 5422  df-fo 5423  df-f1o 5424  df-fv 5425  df-ov 6093  df-oprab 6094  df-mpt2 6095  df-er 7100  df-map 7215  df-en 7310  df-dom 7311  df-sdom 7312  df-pnf 9419  df-mnf 9420  df-xr 9421  df-ltxr 9422  df-le 9423  df-xadd 11089  df-icc 11306  df-xmet 17809
This theorem is referenced by:  prdsxmetlem  19942  xrsxmet  20385
  Copyright terms: Public domain W3C validator