Step |
Hyp |
Ref |
Expression |
1 |
|
elex |
|- ( X e. A -> X e. _V ) |
2 |
|
xpeq12 |
|- ( ( t = X /\ t = X ) -> ( t X. t ) = ( X X. X ) ) |
3 |
2
|
anidms |
|- ( t = X -> ( t X. t ) = ( X X. X ) ) |
4 |
3
|
oveq2d |
|- ( t = X -> ( RR* ^m ( t X. t ) ) = ( RR* ^m ( X X. X ) ) ) |
5 |
|
raleq |
|- ( t = X -> ( A. z e. t ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) <-> A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) ) |
6 |
5
|
anbi2d |
|- ( t = X -> ( ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. t ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) <-> ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) ) ) |
7 |
6
|
raleqbi1dv |
|- ( t = X -> ( A. y e. t ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. t ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) <-> A. y e. X ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) ) ) |
8 |
7
|
raleqbi1dv |
|- ( t = X -> ( A. x e. t A. y e. t ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. t ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) <-> A. x e. X A. y e. X ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) ) ) |
9 |
4 8
|
rabeqbidv |
|- ( t = X -> { d e. ( RR* ^m ( t X. t ) ) | A. x e. t A. y e. t ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. t ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) } = { d e. ( RR* ^m ( X X. X ) ) | A. x e. X A. y e. X ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) } ) |
10 |
|
df-xmet |
|- *Met = ( t e. _V |-> { d e. ( RR* ^m ( t X. t ) ) | A. x e. t A. y e. t ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. t ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) } ) |
11 |
|
ovex |
|- ( RR* ^m ( X X. X ) ) e. _V |
12 |
11
|
rabex |
|- { d e. ( RR* ^m ( X X. X ) ) | A. x e. X A. y e. X ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) } e. _V |
13 |
9 10 12
|
fvmpt |
|- ( X e. _V -> ( *Met ` X ) = { d e. ( RR* ^m ( X X. X ) ) | A. x e. X A. y e. X ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) } ) |
14 |
1 13
|
syl |
|- ( X e. A -> ( *Met ` X ) = { d e. ( RR* ^m ( X X. X ) ) | A. x e. X A. y e. X ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) } ) |
15 |
14
|
eleq2d |
|- ( X e. A -> ( D e. ( *Met ` X ) <-> D e. { d e. ( RR* ^m ( X X. X ) ) | A. x e. X A. y e. X ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) } ) ) |
16 |
|
oveq |
|- ( d = D -> ( x d y ) = ( x D y ) ) |
17 |
16
|
eqeq1d |
|- ( d = D -> ( ( x d y ) = 0 <-> ( x D y ) = 0 ) ) |
18 |
17
|
bibi1d |
|- ( d = D -> ( ( ( x d y ) = 0 <-> x = y ) <-> ( ( x D y ) = 0 <-> x = y ) ) ) |
19 |
|
oveq |
|- ( d = D -> ( z d x ) = ( z D x ) ) |
20 |
|
oveq |
|- ( d = D -> ( z d y ) = ( z D y ) ) |
21 |
19 20
|
oveq12d |
|- ( d = D -> ( ( z d x ) +e ( z d y ) ) = ( ( z D x ) +e ( z D y ) ) ) |
22 |
16 21
|
breq12d |
|- ( d = D -> ( ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) <-> ( x D y ) <_ ( ( z D x ) +e ( z D y ) ) ) ) |
23 |
22
|
ralbidv |
|- ( d = D -> ( A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) <-> A. z e. X ( x D y ) <_ ( ( z D x ) +e ( z D y ) ) ) ) |
24 |
18 23
|
anbi12d |
|- ( d = D -> ( ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) <-> ( ( ( x D y ) = 0 <-> x = y ) /\ A. z e. X ( x D y ) <_ ( ( z D x ) +e ( z D y ) ) ) ) ) |
25 |
24
|
2ralbidv |
|- ( d = D -> ( A. x e. X A. y e. X ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) <-> A. x e. X A. y e. X ( ( ( x D y ) = 0 <-> x = y ) /\ A. z e. X ( x D y ) <_ ( ( z D x ) +e ( z D y ) ) ) ) ) |
26 |
25
|
elrab |
|- ( D e. { d e. ( RR* ^m ( X X. X ) ) | A. x e. X A. y e. X ( ( ( x d y ) = 0 <-> x = y ) /\ A. z e. X ( x d y ) <_ ( ( z d x ) +e ( z d y ) ) ) } <-> ( D e. ( RR* ^m ( X X. X ) ) /\ A. x e. X A. y e. X ( ( ( x D y ) = 0 <-> x = y ) /\ A. z e. X ( x D y ) <_ ( ( z D x ) +e ( z D y ) ) ) ) ) |
27 |
15 26
|
bitrdi |
|- ( X e. A -> ( D e. ( *Met ` X ) <-> ( D e. ( RR* ^m ( X X. X ) ) /\ A. x e. X A. y e. X ( ( ( x D y ) = 0 <-> x = y ) /\ A. z e. X ( x D y ) <_ ( ( z D x ) +e ( z D y ) ) ) ) ) ) |
28 |
|
xrex |
|- RR* e. _V |
29 |
|
sqxpexg |
|- ( X e. A -> ( X X. X ) e. _V ) |
30 |
|
elmapg |
|- ( ( RR* e. _V /\ ( X X. X ) e. _V ) -> ( D e. ( RR* ^m ( X X. X ) ) <-> D : ( X X. X ) --> RR* ) ) |
31 |
28 29 30
|
sylancr |
|- ( X e. A -> ( D e. ( RR* ^m ( X X. X ) ) <-> D : ( X X. X ) --> RR* ) ) |
32 |
31
|
anbi1d |
|- ( X e. A -> ( ( D e. ( RR* ^m ( X X. X ) ) /\ A. x e. X A. y e. X ( ( ( x D y ) = 0 <-> x = y ) /\ A. z e. X ( x D y ) <_ ( ( z D x ) +e ( z D y ) ) ) ) <-> ( D : ( X X. X ) --> RR* /\ A. x e. X A. y e. X ( ( ( x D y ) = 0 <-> x = y ) /\ A. z e. X ( x D y ) <_ ( ( z D x ) +e ( z D y ) ) ) ) ) ) |
33 |
27 32
|
bitrd |
|- ( X e. A -> ( D e. ( *Met ` X ) <-> ( D : ( X X. X ) --> RR* /\ A. x e. X A. y e. X ( ( ( x D y ) = 0 <-> x = y ) /\ A. z e. X ( x D y ) <_ ( ( z D x ) +e ( z D y ) ) ) ) ) ) |