Step |
Hyp |
Ref |
Expression |
1 |
|
mopnval.1 |
|- J = ( MetOpen ` D ) |
2 |
|
fvssunirn |
|- ( *Met ` X ) C_ U. ran *Met |
3 |
2
|
sseli |
|- ( D e. ( *Met ` X ) -> D e. U. ran *Met ) |
4 |
|
fveq2 |
|- ( d = D -> ( ball ` d ) = ( ball ` D ) ) |
5 |
4
|
rneqd |
|- ( d = D -> ran ( ball ` d ) = ran ( ball ` D ) ) |
6 |
5
|
fveq2d |
|- ( d = D -> ( topGen ` ran ( ball ` d ) ) = ( topGen ` ran ( ball ` D ) ) ) |
7 |
|
df-mopn |
|- MetOpen = ( d e. U. ran *Met |-> ( topGen ` ran ( ball ` d ) ) ) |
8 |
|
fvex |
|- ( topGen ` ran ( ball ` D ) ) e. _V |
9 |
6 7 8
|
fvmpt |
|- ( D e. U. ran *Met -> ( MetOpen ` D ) = ( topGen ` ran ( ball ` D ) ) ) |
10 |
1 9
|
eqtrid |
|- ( D e. U. ran *Met -> J = ( topGen ` ran ( ball ` D ) ) ) |
11 |
3 10
|
syl |
|- ( D e. ( *Met ` X ) -> J = ( topGen ` ran ( ball ` D ) ) ) |