Step |
Hyp |
Ref |
Expression |
1 |
|
dscmet.1 |
|- D = ( x e. X , y e. X |-> if ( x = y , 0 , 1 ) ) |
2 |
|
0re |
|- 0 e. RR |
3 |
|
1re |
|- 1 e. RR |
4 |
2 3
|
ifcli |
|- if ( x = y , 0 , 1 ) e. RR |
5 |
4
|
rgen2w |
|- A. x e. X A. y e. X if ( x = y , 0 , 1 ) e. RR |
6 |
1
|
fmpo |
|- ( A. x e. X A. y e. X if ( x = y , 0 , 1 ) e. RR <-> D : ( X X. X ) --> RR ) |
7 |
5 6
|
mpbi |
|- D : ( X X. X ) --> RR |
8 |
|
equequ1 |
|- ( x = w -> ( x = y <-> w = y ) ) |
9 |
8
|
ifbid |
|- ( x = w -> if ( x = y , 0 , 1 ) = if ( w = y , 0 , 1 ) ) |
10 |
|
equequ2 |
|- ( y = v -> ( w = y <-> w = v ) ) |
11 |
10
|
ifbid |
|- ( y = v -> if ( w = y , 0 , 1 ) = if ( w = v , 0 , 1 ) ) |
12 |
|
0nn0 |
|- 0 e. NN0 |
13 |
|
1nn0 |
|- 1 e. NN0 |
14 |
12 13
|
ifcli |
|- if ( w = v , 0 , 1 ) e. NN0 |
15 |
14
|
elexi |
|- if ( w = v , 0 , 1 ) e. _V |
16 |
9 11 1 15
|
ovmpo |
|- ( ( w e. X /\ v e. X ) -> ( w D v ) = if ( w = v , 0 , 1 ) ) |
17 |
16
|
eqeq1d |
|- ( ( w e. X /\ v e. X ) -> ( ( w D v ) = 0 <-> if ( w = v , 0 , 1 ) = 0 ) ) |
18 |
|
iffalse |
|- ( -. w = v -> if ( w = v , 0 , 1 ) = 1 ) |
19 |
|
ax-1ne0 |
|- 1 =/= 0 |
20 |
19
|
a1i |
|- ( -. w = v -> 1 =/= 0 ) |
21 |
18 20
|
eqnetrd |
|- ( -. w = v -> if ( w = v , 0 , 1 ) =/= 0 ) |
22 |
21
|
neneqd |
|- ( -. w = v -> -. if ( w = v , 0 , 1 ) = 0 ) |
23 |
22
|
con4i |
|- ( if ( w = v , 0 , 1 ) = 0 -> w = v ) |
24 |
|
iftrue |
|- ( w = v -> if ( w = v , 0 , 1 ) = 0 ) |
25 |
23 24
|
impbii |
|- ( if ( w = v , 0 , 1 ) = 0 <-> w = v ) |
26 |
17 25
|
bitrdi |
|- ( ( w e. X /\ v e. X ) -> ( ( w D v ) = 0 <-> w = v ) ) |
27 |
12 13
|
ifcli |
|- if ( u = w , 0 , 1 ) e. NN0 |
28 |
12 13
|
ifcli |
|- if ( u = v , 0 , 1 ) e. NN0 |
29 |
27 28
|
nn0addcli |
|- ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) e. NN0 |
30 |
|
elnn0 |
|- ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) e. NN0 <-> ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) e. NN \/ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) = 0 ) ) |
31 |
29 30
|
mpbi |
|- ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) e. NN \/ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) = 0 ) |
32 |
|
breq1 |
|- ( 0 = if ( w = v , 0 , 1 ) -> ( 0 <_ 1 <-> if ( w = v , 0 , 1 ) <_ 1 ) ) |
33 |
|
breq1 |
|- ( 1 = if ( w = v , 0 , 1 ) -> ( 1 <_ 1 <-> if ( w = v , 0 , 1 ) <_ 1 ) ) |
34 |
|
0le1 |
|- 0 <_ 1 |
35 |
3
|
leidi |
|- 1 <_ 1 |
36 |
32 33 34 35
|
keephyp |
|- if ( w = v , 0 , 1 ) <_ 1 |
37 |
|
nnge1 |
|- ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) e. NN -> 1 <_ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) ) |
38 |
14
|
nn0rei |
|- if ( w = v , 0 , 1 ) e. RR |
39 |
29
|
nn0rei |
|- ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) e. RR |
40 |
38 3 39
|
letri |
|- ( ( if ( w = v , 0 , 1 ) <_ 1 /\ 1 <_ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) ) -> if ( w = v , 0 , 1 ) <_ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) ) |
41 |
36 37 40
|
sylancr |
|- ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) e. NN -> if ( w = v , 0 , 1 ) <_ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) ) |
42 |
27
|
nn0ge0i |
|- 0 <_ if ( u = w , 0 , 1 ) |
43 |
28
|
nn0ge0i |
|- 0 <_ if ( u = v , 0 , 1 ) |
44 |
27
|
nn0rei |
|- if ( u = w , 0 , 1 ) e. RR |
45 |
28
|
nn0rei |
|- if ( u = v , 0 , 1 ) e. RR |
46 |
44 45
|
add20i |
|- ( ( 0 <_ if ( u = w , 0 , 1 ) /\ 0 <_ if ( u = v , 0 , 1 ) ) -> ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) = 0 <-> ( if ( u = w , 0 , 1 ) = 0 /\ if ( u = v , 0 , 1 ) = 0 ) ) ) |
47 |
42 43 46
|
mp2an |
|- ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) = 0 <-> ( if ( u = w , 0 , 1 ) = 0 /\ if ( u = v , 0 , 1 ) = 0 ) ) |
48 |
|
equequ2 |
|- ( v = w -> ( u = v <-> u = w ) ) |
49 |
48
|
ifbid |
|- ( v = w -> if ( u = v , 0 , 1 ) = if ( u = w , 0 , 1 ) ) |
50 |
49
|
eqeq1d |
|- ( v = w -> ( if ( u = v , 0 , 1 ) = 0 <-> if ( u = w , 0 , 1 ) = 0 ) ) |
51 |
50 48
|
bibi12d |
|- ( v = w -> ( ( if ( u = v , 0 , 1 ) = 0 <-> u = v ) <-> ( if ( u = w , 0 , 1 ) = 0 <-> u = w ) ) ) |
52 |
|
equequ1 |
|- ( w = u -> ( w = v <-> u = v ) ) |
53 |
52
|
ifbid |
|- ( w = u -> if ( w = v , 0 , 1 ) = if ( u = v , 0 , 1 ) ) |
54 |
53
|
eqeq1d |
|- ( w = u -> ( if ( w = v , 0 , 1 ) = 0 <-> if ( u = v , 0 , 1 ) = 0 ) ) |
55 |
54 52
|
bibi12d |
|- ( w = u -> ( ( if ( w = v , 0 , 1 ) = 0 <-> w = v ) <-> ( if ( u = v , 0 , 1 ) = 0 <-> u = v ) ) ) |
56 |
55 25
|
chvarvv |
|- ( if ( u = v , 0 , 1 ) = 0 <-> u = v ) |
57 |
51 56
|
chvarvv |
|- ( if ( u = w , 0 , 1 ) = 0 <-> u = w ) |
58 |
|
eqtr2 |
|- ( ( u = w /\ u = v ) -> w = v ) |
59 |
57 56 58
|
syl2anb |
|- ( ( if ( u = w , 0 , 1 ) = 0 /\ if ( u = v , 0 , 1 ) = 0 ) -> w = v ) |
60 |
59
|
iftrued |
|- ( ( if ( u = w , 0 , 1 ) = 0 /\ if ( u = v , 0 , 1 ) = 0 ) -> if ( w = v , 0 , 1 ) = 0 ) |
61 |
2
|
leidi |
|- 0 <_ 0 |
62 |
60 61
|
eqbrtrdi |
|- ( ( if ( u = w , 0 , 1 ) = 0 /\ if ( u = v , 0 , 1 ) = 0 ) -> if ( w = v , 0 , 1 ) <_ 0 ) |
63 |
47 62
|
sylbi |
|- ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) = 0 -> if ( w = v , 0 , 1 ) <_ 0 ) |
64 |
|
id |
|- ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) = 0 -> ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) = 0 ) |
65 |
63 64
|
breqtrrd |
|- ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) = 0 -> if ( w = v , 0 , 1 ) <_ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) ) |
66 |
41 65
|
jaoi |
|- ( ( ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) e. NN \/ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) = 0 ) -> if ( w = v , 0 , 1 ) <_ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) ) |
67 |
31 66
|
mp1i |
|- ( ( u e. X /\ ( w e. X /\ v e. X ) ) -> if ( w = v , 0 , 1 ) <_ ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) ) |
68 |
16
|
adantl |
|- ( ( u e. X /\ ( w e. X /\ v e. X ) ) -> ( w D v ) = if ( w = v , 0 , 1 ) ) |
69 |
|
eqeq12 |
|- ( ( x = u /\ y = w ) -> ( x = y <-> u = w ) ) |
70 |
69
|
ifbid |
|- ( ( x = u /\ y = w ) -> if ( x = y , 0 , 1 ) = if ( u = w , 0 , 1 ) ) |
71 |
27
|
elexi |
|- if ( u = w , 0 , 1 ) e. _V |
72 |
70 1 71
|
ovmpoa |
|- ( ( u e. X /\ w e. X ) -> ( u D w ) = if ( u = w , 0 , 1 ) ) |
73 |
72
|
adantrr |
|- ( ( u e. X /\ ( w e. X /\ v e. X ) ) -> ( u D w ) = if ( u = w , 0 , 1 ) ) |
74 |
|
eqeq12 |
|- ( ( x = u /\ y = v ) -> ( x = y <-> u = v ) ) |
75 |
74
|
ifbid |
|- ( ( x = u /\ y = v ) -> if ( x = y , 0 , 1 ) = if ( u = v , 0 , 1 ) ) |
76 |
28
|
elexi |
|- if ( u = v , 0 , 1 ) e. _V |
77 |
75 1 76
|
ovmpoa |
|- ( ( u e. X /\ v e. X ) -> ( u D v ) = if ( u = v , 0 , 1 ) ) |
78 |
77
|
adantrl |
|- ( ( u e. X /\ ( w e. X /\ v e. X ) ) -> ( u D v ) = if ( u = v , 0 , 1 ) ) |
79 |
73 78
|
oveq12d |
|- ( ( u e. X /\ ( w e. X /\ v e. X ) ) -> ( ( u D w ) + ( u D v ) ) = ( if ( u = w , 0 , 1 ) + if ( u = v , 0 , 1 ) ) ) |
80 |
67 68 79
|
3brtr4d |
|- ( ( u e. X /\ ( w e. X /\ v e. X ) ) -> ( w D v ) <_ ( ( u D w ) + ( u D v ) ) ) |
81 |
80
|
expcom |
|- ( ( w e. X /\ v e. X ) -> ( u e. X -> ( w D v ) <_ ( ( u D w ) + ( u D v ) ) ) ) |
82 |
81
|
ralrimiv |
|- ( ( w e. X /\ v e. X ) -> A. u e. X ( w D v ) <_ ( ( u D w ) + ( u D v ) ) ) |
83 |
26 82
|
jca |
|- ( ( w e. X /\ v e. X ) -> ( ( ( w D v ) = 0 <-> w = v ) /\ A. u e. X ( w D v ) <_ ( ( u D w ) + ( u D v ) ) ) ) |
84 |
83
|
rgen2 |
|- A. w e. X A. v e. X ( ( ( w D v ) = 0 <-> w = v ) /\ A. u e. X ( w D v ) <_ ( ( u D w ) + ( u D v ) ) ) |
85 |
7 84
|
pm3.2i |
|- ( D : ( X X. X ) --> RR /\ A. w e. X A. v e. X ( ( ( w D v ) = 0 <-> w = v ) /\ A. u e. X ( w D v ) <_ ( ( u D w ) + ( u D v ) ) ) ) |
86 |
|
ismet |
|- ( X e. V -> ( D e. ( Met ` X ) <-> ( D : ( X X. X ) --> RR /\ A. w e. X A. v e. X ( ( ( w D v ) = 0 <-> w = v ) /\ A. u e. X ( w D v ) <_ ( ( u D w ) + ( u D v ) ) ) ) ) ) |
87 |
85 86
|
mpbiri |
|- ( X e. V -> D e. ( Met ` X ) ) |