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 |
|
df-ds |
|- dist = Slot ; 1 2 |
5 |
|
1nn |
|- 1 e. NN |
6 |
|
2nn0 |
|- 2 e. NN0 |
7 |
|
1nn0 |
|- 1 e. NN0 |
8 |
|
1lt10 |
|- 1 < ; 1 0 |
9 |
5 6 7 8
|
declti |
|- 1 < ; 1 2 |
10 |
|
2nn |
|- 2 e. NN |
11 |
7 10
|
decnncl |
|- ; 1 2 e. NN |
12 |
1 4 9 11
|
2strbas |
|- ( X e. dom *Met -> X = ( Base ` M ) ) |
13 |
3 12
|
syl |
|- ( D e. ( *Met ` X ) -> X = ( Base ` M ) ) |
14 |
|
xmetf |
|- ( D e. ( *Met ` X ) -> D : ( X X. X ) --> RR* ) |
15 |
|
ffn |
|- ( D : ( X X. X ) --> RR* -> D Fn ( X X. X ) ) |
16 |
|
fnresdm |
|- ( D Fn ( X X. X ) -> ( D |` ( X X. X ) ) = D ) |
17 |
14 15 16
|
3syl |
|- ( D e. ( *Met ` X ) -> ( D |` ( X X. X ) ) = D ) |
18 |
1 4 9 11
|
2strop |
|- ( D e. ( *Met ` X ) -> D = ( dist ` M ) ) |
19 |
18
|
reseq1d |
|- ( D e. ( *Met ` X ) -> ( D |` ( X X. X ) ) = ( ( dist ` M ) |` ( X X. X ) ) ) |
20 |
17 19
|
eqtr3d |
|- ( D e. ( *Met ` X ) -> D = ( ( dist ` M ) |` ( X X. X ) ) ) |
21 |
1 2
|
tmsval |
|- ( D e. ( *Met ` X ) -> K = ( M sSet <. ( TopSet ` ndx ) , ( MetOpen ` D ) >. ) ) |
22 |
13 20 21
|
setsmsbas |
|- ( D e. ( *Met ` X ) -> X = ( Base ` K ) ) |
23 |
13 20 21
|
setsmsds |
|- ( D e. ( *Met ` X ) -> ( dist ` M ) = ( dist ` K ) ) |
24 |
18 23
|
eqtrd |
|- ( D e. ( *Met ` X ) -> D = ( dist ` K ) ) |
25 |
|
prex |
|- { <. ( Base ` ndx ) , X >. , <. ( dist ` ndx ) , D >. } e. _V |
26 |
1 25
|
eqeltri |
|- M e. _V |
27 |
26
|
a1i |
|- ( D e. ( *Met ` X ) -> M e. _V ) |
28 |
13 20 21 27
|
setsmstopn |
|- ( D e. ( *Met ` X ) -> ( MetOpen ` D ) = ( TopOpen ` K ) ) |
29 |
22 24 28
|
3jca |
|- ( D e. ( *Met ` X ) -> ( X = ( Base ` K ) /\ D = ( dist ` K ) /\ ( MetOpen ` D ) = ( TopOpen ` K ) ) ) |