| Step |
Hyp |
Ref |
Expression |
| 1 |
|
tmsval.m |
|- M = { <. ( Base ` ndx ) , X >. , <. ( dist ` ndx ) , D >. } |
| 2 |
|
tmsval.k |
|- K = ( toMetSp ` D ) |
| 3 |
|
elfvdm |
|- ( D e. ( *Met ` X ) -> X e. dom *Met ) |
| 4 |
|
basendxltdsndx |
|- ( Base ` ndx ) < ( dist ` ndx ) |
| 5 |
|
dsndxnn |
|- ( dist ` ndx ) e. NN |
| 6 |
1 4 5
|
2strbas1 |
|- ( X e. dom *Met -> X = ( Base ` M ) ) |
| 7 |
3 6
|
syl |
|- ( D e. ( *Met ` X ) -> X = ( Base ` M ) ) |
| 8 |
|
xmetf |
|- ( D e. ( *Met ` X ) -> D : ( X X. X ) --> RR* ) |
| 9 |
|
ffn |
|- ( D : ( X X. X ) --> RR* -> D Fn ( X X. X ) ) |
| 10 |
|
fnresdm |
|- ( D Fn ( X X. X ) -> ( D |` ( X X. X ) ) = D ) |
| 11 |
8 9 10
|
3syl |
|- ( D e. ( *Met ` X ) -> ( D |` ( X X. X ) ) = D ) |
| 12 |
|
dsid |
|- dist = Slot ( dist ` ndx ) |
| 13 |
1 4 5 12
|
2strop1 |
|- ( D e. ( *Met ` X ) -> D = ( dist ` M ) ) |
| 14 |
13
|
reseq1d |
|- ( D e. ( *Met ` X ) -> ( D |` ( X X. X ) ) = ( ( dist ` M ) |` ( X X. X ) ) ) |
| 15 |
11 14
|
eqtr3d |
|- ( D e. ( *Met ` X ) -> D = ( ( dist ` M ) |` ( X X. X ) ) ) |
| 16 |
1 2
|
tmsval |
|- ( D e. ( *Met ` X ) -> K = ( M sSet <. ( TopSet ` ndx ) , ( MetOpen ` D ) >. ) ) |
| 17 |
7 15 16
|
setsmsbas |
|- ( D e. ( *Met ` X ) -> X = ( Base ` K ) ) |
| 18 |
7 15 16
|
setsmsds |
|- ( D e. ( *Met ` X ) -> ( dist ` M ) = ( dist ` K ) ) |
| 19 |
13 18
|
eqtrd |
|- ( D e. ( *Met ` X ) -> D = ( dist ` K ) ) |
| 20 |
|
prex |
|- { <. ( Base ` ndx ) , X >. , <. ( dist ` ndx ) , D >. } e. _V |
| 21 |
1 20
|
eqeltri |
|- M e. _V |
| 22 |
21
|
a1i |
|- ( D e. ( *Met ` X ) -> M e. _V ) |
| 23 |
7 15 16 22
|
setsmstopn |
|- ( D e. ( *Met ` X ) -> ( MetOpen ` D ) = ( TopOpen ` K ) ) |
| 24 |
17 19 23
|
3jca |
|- ( D e. ( *Met ` X ) -> ( X = ( Base ` K ) /\ D = ( dist ` K ) /\ ( MetOpen ` D ) = ( TopOpen ` K ) ) ) |