| Step |
Hyp |
Ref |
Expression |
| 1 |
|
tmsval.m |
|- M = { <. ( Base ` ndx ) , X >. , <. ( dist ` ndx ) , D >. } |
| 2 |
|
tmsval.k |
|- K = ( toMetSp ` D ) |
| 3 |
|
df-tms |
|- toMetSp = ( d e. U. ran *Met |-> ( { <. ( Base ` ndx ) , dom dom d >. , <. ( dist ` ndx ) , d >. } sSet <. ( TopSet ` ndx ) , ( MetOpen ` d ) >. ) ) |
| 4 |
|
dmeq |
|- ( d = D -> dom d = dom D ) |
| 5 |
4
|
dmeqd |
|- ( d = D -> dom dom d = dom dom D ) |
| 6 |
|
xmetf |
|- ( D e. ( *Met ` X ) -> D : ( X X. X ) --> RR* ) |
| 7 |
6
|
fdmd |
|- ( D e. ( *Met ` X ) -> dom D = ( X X. X ) ) |
| 8 |
7
|
dmeqd |
|- ( D e. ( *Met ` X ) -> dom dom D = dom ( X X. X ) ) |
| 9 |
|
dmxpid |
|- dom ( X X. X ) = X |
| 10 |
8 9
|
eqtrdi |
|- ( D e. ( *Met ` X ) -> dom dom D = X ) |
| 11 |
5 10
|
sylan9eqr |
|- ( ( D e. ( *Met ` X ) /\ d = D ) -> dom dom d = X ) |
| 12 |
11
|
opeq2d |
|- ( ( D e. ( *Met ` X ) /\ d = D ) -> <. ( Base ` ndx ) , dom dom d >. = <. ( Base ` ndx ) , X >. ) |
| 13 |
|
simpr |
|- ( ( D e. ( *Met ` X ) /\ d = D ) -> d = D ) |
| 14 |
13
|
opeq2d |
|- ( ( D e. ( *Met ` X ) /\ d = D ) -> <. ( dist ` ndx ) , d >. = <. ( dist ` ndx ) , D >. ) |
| 15 |
12 14
|
preq12d |
|- ( ( D e. ( *Met ` X ) /\ d = D ) -> { <. ( Base ` ndx ) , dom dom d >. , <. ( dist ` ndx ) , d >. } = { <. ( Base ` ndx ) , X >. , <. ( dist ` ndx ) , D >. } ) |
| 16 |
15 1
|
eqtr4di |
|- ( ( D e. ( *Met ` X ) /\ d = D ) -> { <. ( Base ` ndx ) , dom dom d >. , <. ( dist ` ndx ) , d >. } = M ) |
| 17 |
13
|
fveq2d |
|- ( ( D e. ( *Met ` X ) /\ d = D ) -> ( MetOpen ` d ) = ( MetOpen ` D ) ) |
| 18 |
17
|
opeq2d |
|- ( ( D e. ( *Met ` X ) /\ d = D ) -> <. ( TopSet ` ndx ) , ( MetOpen ` d ) >. = <. ( TopSet ` ndx ) , ( MetOpen ` D ) >. ) |
| 19 |
16 18
|
oveq12d |
|- ( ( D e. ( *Met ` X ) /\ d = D ) -> ( { <. ( Base ` ndx ) , dom dom d >. , <. ( dist ` ndx ) , d >. } sSet <. ( TopSet ` ndx ) , ( MetOpen ` d ) >. ) = ( M sSet <. ( TopSet ` ndx ) , ( MetOpen ` D ) >. ) ) |
| 20 |
|
fvssunirn |
|- ( *Met ` X ) C_ U. ran *Met |
| 21 |
20
|
sseli |
|- ( D e. ( *Met ` X ) -> D e. U. ran *Met ) |
| 22 |
|
ovexd |
|- ( D e. ( *Met ` X ) -> ( M sSet <. ( TopSet ` ndx ) , ( MetOpen ` D ) >. ) e. _V ) |
| 23 |
3 19 21 22
|
fvmptd2 |
|- ( D e. ( *Met ` X ) -> ( toMetSp ` D ) = ( M sSet <. ( TopSet ` ndx ) , ( MetOpen ` D ) >. ) ) |
| 24 |
2 23
|
eqtrid |
|- ( D e. ( *Met ` X ) -> K = ( M sSet <. ( TopSet ` ndx ) , ( MetOpen ` D ) >. ) ) |