| Step | Hyp | Ref | Expression | 
						
							| 1 |  | setsms.x |  |-  ( ph -> X = ( Base ` M ) ) | 
						
							| 2 |  | setsms.d |  |-  ( ph -> D = ( ( dist ` M ) |` ( X X. X ) ) ) | 
						
							| 3 |  | setsms.k |  |-  ( ph -> K = ( M sSet <. ( TopSet ` ndx ) , ( MetOpen ` D ) >. ) ) | 
						
							| 4 |  | setsms.m |  |-  ( ph -> M e. V ) | 
						
							| 5 | 1 2 3 4 | setsmstset |  |-  ( ph -> ( MetOpen ` D ) = ( TopSet ` K ) ) | 
						
							| 6 |  | df-mopn |  |-  MetOpen = ( x e. U. ran *Met |-> ( topGen ` ran ( ball ` x ) ) ) | 
						
							| 7 | 6 | dmmptss |  |-  dom MetOpen C_ U. ran *Met | 
						
							| 8 | 7 | sseli |  |-  ( D e. dom MetOpen -> D e. U. ran *Met ) | 
						
							| 9 |  | simpr |  |-  ( ( ph /\ D e. U. ran *Met ) -> D e. U. ran *Met ) | 
						
							| 10 |  | xmetunirn |  |-  ( D e. U. ran *Met <-> D e. ( *Met ` dom dom D ) ) | 
						
							| 11 | 9 10 | sylib |  |-  ( ( ph /\ D e. U. ran *Met ) -> D e. ( *Met ` dom dom D ) ) | 
						
							| 12 |  | eqid |  |-  ( MetOpen ` D ) = ( MetOpen ` D ) | 
						
							| 13 | 12 | mopnuni |  |-  ( D e. ( *Met ` dom dom D ) -> dom dom D = U. ( MetOpen ` D ) ) | 
						
							| 14 | 11 13 | syl |  |-  ( ( ph /\ D e. U. ran *Met ) -> dom dom D = U. ( MetOpen ` D ) ) | 
						
							| 15 | 2 | dmeqd |  |-  ( ph -> dom D = dom ( ( dist ` M ) |` ( X X. X ) ) ) | 
						
							| 16 |  | dmres |  |-  dom ( ( dist ` M ) |` ( X X. X ) ) = ( ( X X. X ) i^i dom ( dist ` M ) ) | 
						
							| 17 | 15 16 | eqtrdi |  |-  ( ph -> dom D = ( ( X X. X ) i^i dom ( dist ` M ) ) ) | 
						
							| 18 |  | inss1 |  |-  ( ( X X. X ) i^i dom ( dist ` M ) ) C_ ( X X. X ) | 
						
							| 19 | 17 18 | eqsstrdi |  |-  ( ph -> dom D C_ ( X X. X ) ) | 
						
							| 20 |  | dmss |  |-  ( dom D C_ ( X X. X ) -> dom dom D C_ dom ( X X. X ) ) | 
						
							| 21 | 19 20 | syl |  |-  ( ph -> dom dom D C_ dom ( X X. X ) ) | 
						
							| 22 |  | dmxpid |  |-  dom ( X X. X ) = X | 
						
							| 23 | 21 22 | sseqtrdi |  |-  ( ph -> dom dom D C_ X ) | 
						
							| 24 | 23 | adantr |  |-  ( ( ph /\ D e. U. ran *Met ) -> dom dom D C_ X ) | 
						
							| 25 | 14 24 | eqsstrrd |  |-  ( ( ph /\ D e. U. ran *Met ) -> U. ( MetOpen ` D ) C_ X ) | 
						
							| 26 |  | sspwuni |  |-  ( ( MetOpen ` D ) C_ ~P X <-> U. ( MetOpen ` D ) C_ X ) | 
						
							| 27 | 25 26 | sylibr |  |-  ( ( ph /\ D e. U. ran *Met ) -> ( MetOpen ` D ) C_ ~P X ) | 
						
							| 28 | 27 | ex |  |-  ( ph -> ( D e. U. ran *Met -> ( MetOpen ` D ) C_ ~P X ) ) | 
						
							| 29 | 8 28 | syl5 |  |-  ( ph -> ( D e. dom MetOpen -> ( MetOpen ` D ) C_ ~P X ) ) | 
						
							| 30 |  | ndmfv |  |-  ( -. D e. dom MetOpen -> ( MetOpen ` D ) = (/) ) | 
						
							| 31 |  | 0ss |  |-  (/) C_ ~P X | 
						
							| 32 | 30 31 | eqsstrdi |  |-  ( -. D e. dom MetOpen -> ( MetOpen ` D ) C_ ~P X ) | 
						
							| 33 | 29 32 | pm2.61d1 |  |-  ( ph -> ( MetOpen ` D ) C_ ~P X ) | 
						
							| 34 | 1 2 3 | setsmsbas |  |-  ( ph -> X = ( Base ` K ) ) | 
						
							| 35 | 34 | pweqd |  |-  ( ph -> ~P X = ~P ( Base ` K ) ) | 
						
							| 36 | 33 5 35 | 3sstr3d |  |-  ( ph -> ( TopSet ` K ) C_ ~P ( Base ` K ) ) | 
						
							| 37 |  | eqid |  |-  ( Base ` K ) = ( Base ` K ) | 
						
							| 38 |  | eqid |  |-  ( TopSet ` K ) = ( TopSet ` K ) | 
						
							| 39 | 37 38 | topnid |  |-  ( ( TopSet ` K ) C_ ~P ( Base ` K ) -> ( TopSet ` K ) = ( TopOpen ` K ) ) | 
						
							| 40 | 36 39 | syl |  |-  ( ph -> ( TopSet ` K ) = ( TopOpen ` K ) ) | 
						
							| 41 | 5 40 | eqtrd |  |-  ( ph -> ( MetOpen ` D ) = ( TopOpen ` K ) ) |