| Step | Hyp | Ref | Expression | 
						
							| 1 |  | ptrecube.r | ⊢ 𝑅  =  ( ∏t ‘ ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ) | 
						
							| 2 |  | ptrecube.d | ⊢ 𝐷  =  ( ( abs  ∘   −  )  ↾  ( ℝ  ×  ℝ ) ) | 
						
							| 3 |  | fzfi | ⊢ ( 1 ... 𝑁 )  ∈  Fin | 
						
							| 4 |  | retop | ⊢ ( topGen ‘ ran  (,) )  ∈  Top | 
						
							| 5 |  | fnconstg | ⊢ ( ( topGen ‘ ran  (,) )  ∈  Top  →  ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } )  Fn  ( 1 ... 𝑁 ) ) | 
						
							| 6 | 4 5 | ax-mp | ⊢ ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } )  Fn  ( 1 ... 𝑁 ) | 
						
							| 7 |  | eqid | ⊢ { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) }  =  { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) } | 
						
							| 8 | 7 | ptval | ⊢ ( ( ( 1 ... 𝑁 )  ∈  Fin  ∧  ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } )  Fn  ( 1 ... 𝑁 ) )  →  ( ∏t ‘ ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) )  =  ( topGen ‘ { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) } ) ) | 
						
							| 9 | 3 6 8 | mp2an | ⊢ ( ∏t ‘ ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) )  =  ( topGen ‘ { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) } ) | 
						
							| 10 | 1 9 | eqtri | ⊢ 𝑅  =  ( topGen ‘ { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) } ) | 
						
							| 11 | 10 | eleq2i | ⊢ ( 𝑆  ∈  𝑅  ↔  𝑆  ∈  ( topGen ‘ { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) } ) ) | 
						
							| 12 |  | tg2 | ⊢ ( ( 𝑆  ∈  ( topGen ‘ { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) } )  ∧  𝑃  ∈  𝑆 )  →  ∃ 𝑧  ∈  { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) } ( 𝑃  ∈  𝑧  ∧  𝑧  ⊆  𝑆 ) ) | 
						
							| 13 | 7 | elpt | ⊢ ( 𝑧  ∈  { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) }  ↔  ∃ 𝑔 ( ( 𝑔  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑧  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑧 ) ( 𝑔 ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑧  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 14 |  | fvex | ⊢ ( topGen ‘ ran  (,) )  ∈  V | 
						
							| 15 | 14 | fvconst2 | ⊢ ( 𝑛  ∈  ( 1 ... 𝑁 )  →  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  =  ( topGen ‘ ran  (,) ) ) | 
						
							| 16 | 15 | eleq2d | ⊢ ( 𝑛  ∈  ( 1 ... 𝑁 )  →  ( ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ↔  ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) ) ) ) | 
						
							| 17 | 16 | ralbiia | ⊢ ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ↔  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) ) ) | 
						
							| 18 |  | elixp2 | ⊢ ( 𝑃  ∈  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ↔  ( 𝑃  ∈  V  ∧  𝑃  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 19 | 18 | simp3bi | ⊢ ( 𝑃  ∈  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  →  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 20 |  | r19.26 | ⊢ ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) )  ↔  ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 21 |  | uniretop | ⊢ ℝ  =  ∪  ( topGen ‘ ran  (,) ) | 
						
							| 22 | 21 | eltopss | ⊢ ( ( ( topGen ‘ ran  (,) )  ∈  Top  ∧  ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) ) )  →  ( 𝑔 ‘ 𝑛 )  ⊆  ℝ ) | 
						
							| 23 | 4 22 | mpan | ⊢ ( ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  →  ( 𝑔 ‘ 𝑛 )  ⊆  ℝ ) | 
						
							| 24 | 23 | sselda | ⊢ ( ( ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) )  →  ( 𝑃 ‘ 𝑛 )  ∈  ℝ ) | 
						
							| 25 | 2 | rexmet | ⊢ 𝐷  ∈  ( ∞Met ‘ ℝ ) | 
						
							| 26 |  | eqid | ⊢ ( MetOpen ‘ 𝐷 )  =  ( MetOpen ‘ 𝐷 ) | 
						
							| 27 | 2 26 | tgioo | ⊢ ( topGen ‘ ran  (,) )  =  ( MetOpen ‘ 𝐷 ) | 
						
							| 28 | 27 | mopni2 | ⊢ ( ( 𝐷  ∈  ( ∞Met ‘ ℝ )  ∧  ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) )  →  ∃ 𝑦  ∈  ℝ+ ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 29 | 25 28 | mp3an1 | ⊢ ( ( ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) )  →  ∃ 𝑦  ∈  ℝ+ ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 30 |  | r19.42v | ⊢ ( ∃ 𝑦  ∈  ℝ+ ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  ⊆  ( 𝑔 ‘ 𝑛 ) )  ↔  ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ∃ 𝑦  ∈  ℝ+ ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 31 | 24 29 30 | sylanbrc | ⊢ ( ( ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) )  →  ∃ 𝑦  ∈  ℝ+ ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 32 | 31 | ralimi | ⊢ ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) )  →  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ∃ 𝑦  ∈  ℝ+ ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 33 |  | oveq2 | ⊢ ( 𝑦  =  ( ℎ ‘ 𝑛 )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  =  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) ) ) | 
						
							| 34 | 33 | sseq1d | ⊢ ( 𝑦  =  ( ℎ ‘ 𝑛 )  →  ( ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  ⊆  ( 𝑔 ‘ 𝑛 )  ↔  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 35 | 34 | anbi2d | ⊢ ( 𝑦  =  ( ℎ ‘ 𝑛 )  →  ( ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  ⊆  ( 𝑔 ‘ 𝑛 ) )  ↔  ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) ) | 
						
							| 36 | 35 | ac6sfi | ⊢ ( ( ( 1 ... 𝑁 )  ∈  Fin  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ∃ 𝑦  ∈  ℝ+ ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑦 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) )  →  ∃ ℎ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) ) | 
						
							| 37 | 3 32 36 | sylancr | ⊢ ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) )  →  ∃ ℎ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) ) | 
						
							| 38 |  | 1rp | ⊢ 1  ∈  ℝ+ | 
						
							| 39 | 38 | a1i | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ( 1 ... 𝑁 )  =  ∅ )  →  1  ∈  ℝ+ ) | 
						
							| 40 |  | frn | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ran  ℎ  ⊆  ℝ+ ) | 
						
							| 41 | 40 | adantr | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ¬  ( 1 ... 𝑁 )  =  ∅ )  →  ran  ℎ  ⊆  ℝ+ ) | 
						
							| 42 |  | ffn | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ℎ  Fn  ( 1 ... 𝑁 ) ) | 
						
							| 43 |  | fnfi | ⊢ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ( 1 ... 𝑁 )  ∈  Fin )  →  ℎ  ∈  Fin ) | 
						
							| 44 | 42 3 43 | sylancl | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ℎ  ∈  Fin ) | 
						
							| 45 |  | rnfi | ⊢ ( ℎ  ∈  Fin  →  ran  ℎ  ∈  Fin ) | 
						
							| 46 | 44 45 | syl | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ran  ℎ  ∈  Fin ) | 
						
							| 47 | 46 | adantr | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ¬  ( 1 ... 𝑁 )  =  ∅ )  →  ran  ℎ  ∈  Fin ) | 
						
							| 48 |  | dm0rn0 | ⊢ ( dom  ℎ  =  ∅  ↔  ran  ℎ  =  ∅ ) | 
						
							| 49 |  | fdm | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  dom  ℎ  =  ( 1 ... 𝑁 ) ) | 
						
							| 50 | 49 | eqeq1d | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ( dom  ℎ  =  ∅  ↔  ( 1 ... 𝑁 )  =  ∅ ) ) | 
						
							| 51 | 48 50 | bitr3id | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ( ran  ℎ  =  ∅  ↔  ( 1 ... 𝑁 )  =  ∅ ) ) | 
						
							| 52 | 51 | necon3abid | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ( ran  ℎ  ≠  ∅  ↔  ¬  ( 1 ... 𝑁 )  =  ∅ ) ) | 
						
							| 53 | 52 | biimpar | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ¬  ( 1 ... 𝑁 )  =  ∅ )  →  ran  ℎ  ≠  ∅ ) | 
						
							| 54 |  | rpssre | ⊢ ℝ+  ⊆  ℝ | 
						
							| 55 | 40 54 | sstrdi | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ran  ℎ  ⊆  ℝ ) | 
						
							| 56 | 55 | adantr | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ¬  ( 1 ... 𝑁 )  =  ∅ )  →  ran  ℎ  ⊆  ℝ ) | 
						
							| 57 |  | ltso | ⊢  <   Or  ℝ | 
						
							| 58 |  | fiinfcl | ⊢ ( (  <   Or  ℝ  ∧  ( ran  ℎ  ∈  Fin  ∧  ran  ℎ  ≠  ∅  ∧  ran  ℎ  ⊆  ℝ ) )  →  inf ( ran  ℎ ,  ℝ ,   <  )  ∈  ran  ℎ ) | 
						
							| 59 | 57 58 | mpan | ⊢ ( ( ran  ℎ  ∈  Fin  ∧  ran  ℎ  ≠  ∅  ∧  ran  ℎ  ⊆  ℝ )  →  inf ( ran  ℎ ,  ℝ ,   <  )  ∈  ran  ℎ ) | 
						
							| 60 | 47 53 56 59 | syl3anc | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ¬  ( 1 ... 𝑁 )  =  ∅ )  →  inf ( ran  ℎ ,  ℝ ,   <  )  ∈  ran  ℎ ) | 
						
							| 61 | 41 60 | sseldd | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ¬  ( 1 ... 𝑁 )  =  ∅ )  →  inf ( ran  ℎ ,  ℝ ,   <  )  ∈  ℝ+ ) | 
						
							| 62 | 39 61 | ifclda | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ+ ) | 
						
							| 63 | 62 | adantr | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) )  →  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ+ ) | 
						
							| 64 | 62 | adantr | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ+ ) | 
						
							| 65 | 64 | rpxrd | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ* ) | 
						
							| 66 |  | ffvelcdm | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  ( ℎ ‘ 𝑛 )  ∈  ℝ+ ) | 
						
							| 67 | 66 | rpxrd | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  ( ℎ ‘ 𝑛 )  ∈  ℝ* ) | 
						
							| 68 |  | ne0i | ⊢ ( 𝑛  ∈  ( 1 ... 𝑁 )  →  ( 1 ... 𝑁 )  ≠  ∅ ) | 
						
							| 69 |  | ifnefalse | ⊢ ( ( 1 ... 𝑁 )  ≠  ∅  →  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  =  inf ( ran  ℎ ,  ℝ ,   <  ) ) | 
						
							| 70 | 68 69 | syl | ⊢ ( 𝑛  ∈  ( 1 ... 𝑁 )  →  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  =  inf ( ran  ℎ ,  ℝ ,   <  ) ) | 
						
							| 71 | 70 | adantl | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  =  inf ( ran  ℎ ,  ℝ ,   <  ) ) | 
						
							| 72 | 55 | adantr | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  ran  ℎ  ⊆  ℝ ) | 
						
							| 73 |  | 0re | ⊢ 0  ∈  ℝ | 
						
							| 74 |  | rpge0 | ⊢ ( 𝑦  ∈  ℝ+  →  0  ≤  𝑦 ) | 
						
							| 75 | 74 | rgen | ⊢ ∀ 𝑦  ∈  ℝ+ 0  ≤  𝑦 | 
						
							| 76 |  | ssralv | ⊢ ( ran  ℎ  ⊆  ℝ+  →  ( ∀ 𝑦  ∈  ℝ+ 0  ≤  𝑦  →  ∀ 𝑦  ∈  ran  ℎ 0  ≤  𝑦 ) ) | 
						
							| 77 | 40 75 76 | mpisyl | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ∀ 𝑦  ∈  ran  ℎ 0  ≤  𝑦 ) | 
						
							| 78 |  | breq1 | ⊢ ( 𝑥  =  0  →  ( 𝑥  ≤  𝑦  ↔  0  ≤  𝑦 ) ) | 
						
							| 79 | 78 | ralbidv | ⊢ ( 𝑥  =  0  →  ( ∀ 𝑦  ∈  ran  ℎ 𝑥  ≤  𝑦  ↔  ∀ 𝑦  ∈  ran  ℎ 0  ≤  𝑦 ) ) | 
						
							| 80 | 79 | rspcev | ⊢ ( ( 0  ∈  ℝ  ∧  ∀ 𝑦  ∈  ran  ℎ 0  ≤  𝑦 )  →  ∃ 𝑥  ∈  ℝ ∀ 𝑦  ∈  ran  ℎ 𝑥  ≤  𝑦 ) | 
						
							| 81 | 73 77 80 | sylancr | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ∃ 𝑥  ∈  ℝ ∀ 𝑦  ∈  ran  ℎ 𝑥  ≤  𝑦 ) | 
						
							| 82 | 81 | adantr | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  ∃ 𝑥  ∈  ℝ ∀ 𝑦  ∈  ran  ℎ 𝑥  ≤  𝑦 ) | 
						
							| 83 |  | fnfvelrn | ⊢ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  ( ℎ ‘ 𝑛 )  ∈  ran  ℎ ) | 
						
							| 84 | 42 83 | sylan | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  ( ℎ ‘ 𝑛 )  ∈  ran  ℎ ) | 
						
							| 85 |  | infrelb | ⊢ ( ( ran  ℎ  ⊆  ℝ  ∧  ∃ 𝑥  ∈  ℝ ∀ 𝑦  ∈  ran  ℎ 𝑥  ≤  𝑦  ∧  ( ℎ ‘ 𝑛 )  ∈  ran  ℎ )  →  inf ( ran  ℎ ,  ℝ ,   <  )  ≤  ( ℎ ‘ 𝑛 ) ) | 
						
							| 86 | 72 82 84 85 | syl3anc | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  inf ( ran  ℎ ,  ℝ ,   <  )  ≤  ( ℎ ‘ 𝑛 ) ) | 
						
							| 87 | 71 86 | eqbrtrd | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ≤  ( ℎ ‘ 𝑛 ) ) | 
						
							| 88 | 65 67 87 | jca31 | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  ( ( if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ*  ∧  ( ℎ ‘ 𝑛 )  ∈  ℝ* )  ∧  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ≤  ( ℎ ‘ 𝑛 ) ) ) | 
						
							| 89 |  | ssbl | ⊢ ( ( ( 𝐷  ∈  ( ∞Met ‘ ℝ )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ℝ )  ∧  ( if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ*  ∧  ( ℎ ‘ 𝑛 )  ∈  ℝ* )  ∧  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ≤  ( ℎ ‘ 𝑛 ) )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) ) ) | 
						
							| 90 | 89 | 3expb | ⊢ ( ( ( 𝐷  ∈  ( ∞Met ‘ ℝ )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ℝ )  ∧  ( ( if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ*  ∧  ( ℎ ‘ 𝑛 )  ∈  ℝ* )  ∧  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ≤  ( ℎ ‘ 𝑛 ) ) )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) ) ) | 
						
							| 91 | 25 90 | mpanl1 | ⊢ ( ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ*  ∧  ( ℎ ‘ 𝑛 )  ∈  ℝ* )  ∧  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ≤  ( ℎ ‘ 𝑛 ) ) )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) ) ) | 
						
							| 92 | 91 | ancoms | ⊢ ( ( ( ( if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ*  ∧  ( ℎ ‘ 𝑛 )  ∈  ℝ* )  ∧  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ≤  ( ℎ ‘ 𝑛 ) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ℝ )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) ) ) | 
						
							| 93 | 88 92 | sylan | ⊢ ( ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ℝ )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) ) ) | 
						
							| 94 |  | sstr2 | ⊢ ( ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  →  ( ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 95 | 93 94 | syl | ⊢ ( ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ℝ )  →  ( ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 96 | 95 | expimpd | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  𝑛  ∈  ( 1 ... 𝑁 ) )  →  ( ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 97 | 96 | ralimdva | ⊢ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  →  ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) )  →  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 98 | 97 | imp | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) )  →  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 99 | 2 | fveq2i | ⊢ ( ball ‘ 𝐷 )  =  ( ball ‘ ( ( abs  ∘   −  )  ↾  ( ℝ  ×  ℝ ) ) ) | 
						
							| 100 | 99 | oveqi | ⊢ ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  =  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ ( ( abs  ∘   −  )  ↾  ( ℝ  ×  ℝ ) ) ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) ) | 
						
							| 101 | 100 | sseq1i | ⊢ ( ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 )  ↔  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ ( ( abs  ∘   −  )  ↾  ( ℝ  ×  ℝ ) ) ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 102 | 101 | ralbii | ⊢ ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 )  ↔  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ ( ( abs  ∘   −  )  ↾  ( ℝ  ×  ℝ ) ) ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 103 |  | nfv | ⊢ Ⅎ 𝑑 ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ ( ( abs  ∘   −  )  ↾  ( ℝ  ×  ℝ ) ) ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) | 
						
							| 104 | 102 103 | nfxfr | ⊢ Ⅎ 𝑑 ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) | 
						
							| 105 |  | oveq2 | ⊢ ( 𝑑  =  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  →  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  =  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) ) ) | 
						
							| 106 | 105 | sseq1d | ⊢ ( 𝑑  =  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  →  ( ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 )  ↔  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 107 | 106 | ralbidv | ⊢ ( 𝑑  =  if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  →  ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 )  ↔  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 108 | 104 107 | rspce | ⊢ ( ( if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) )  ∈  ℝ+  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) if ( ( 1 ... 𝑁 )  =  ∅ ,  1 ,  inf ( ran  ℎ ,  ℝ ,   <  ) ) )  ⊆  ( 𝑔 ‘ 𝑛 ) )  →  ∃ 𝑑  ∈  ℝ+ ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 109 | 63 98 108 | syl2anc | ⊢ ( ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) )  →  ∃ 𝑑  ∈  ℝ+ ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 110 | 109 | exlimiv | ⊢ ( ∃ ℎ ( ℎ : ( 1 ... 𝑁 ) ⟶ ℝ+  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 )  ∈  ℝ  ∧  ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) ( ℎ ‘ 𝑛 ) )  ⊆  ( 𝑔 ‘ 𝑛 ) ) )  →  ∃ 𝑑  ∈  ℝ+ ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 111 | 37 110 | syl | ⊢ ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) )  →  ∃ 𝑑  ∈  ℝ+ ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 112 | 20 111 | sylbir | ⊢ ( ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑃 ‘ 𝑛 )  ∈  ( 𝑔 ‘ 𝑛 ) )  →  ∃ 𝑑  ∈  ℝ+ ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 113 | 19 112 | sylan2 | ⊢ ( ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( topGen ‘ ran  (,) )  ∧  𝑃  ∈  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 ) )  →  ∃ 𝑑  ∈  ℝ+ ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 114 | 17 113 | sylanb | ⊢ ( ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  𝑃  ∈  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 ) )  →  ∃ 𝑑  ∈  ℝ+ ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 115 |  | sstr2 | ⊢ ( X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  →  ( X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ⊆  𝑆  →  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) | 
						
							| 116 |  | ss2ixp | ⊢ ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 )  →  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 ) ) | 
						
							| 117 | 115 116 | syl11 | ⊢ ( X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ⊆  𝑆  →  ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 )  →  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) | 
						
							| 118 | 117 | reximdv | ⊢ ( X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ⊆  𝑆  →  ( ∃ 𝑑  ∈  ℝ+ ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  ( 𝑔 ‘ 𝑛 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) | 
						
							| 119 | 114 118 | syl5com | ⊢ ( ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  𝑃  ∈  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 ) )  →  ( X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ⊆  𝑆  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) | 
						
							| 120 | 119 | expimpd | ⊢ ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  →  ( ( 𝑃  ∈  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∧  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ⊆  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) | 
						
							| 121 |  | eleq2 | ⊢ ( 𝑧  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  →  ( 𝑃  ∈  𝑧  ↔  𝑃  ∈  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 ) ) ) | 
						
							| 122 |  | sseq1 | ⊢ ( 𝑧  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  →  ( 𝑧  ⊆  𝑆  ↔  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ⊆  𝑆 ) ) | 
						
							| 123 | 121 122 | anbi12d | ⊢ ( 𝑧  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  →  ( ( 𝑃  ∈  𝑧  ∧  𝑧  ⊆  𝑆 )  ↔  ( 𝑃  ∈  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∧  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ⊆  𝑆 ) ) ) | 
						
							| 124 | 123 | imbi1d | ⊢ ( 𝑧  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  →  ( ( ( 𝑃  ∈  𝑧  ∧  𝑧  ⊆  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 )  ↔  ( ( 𝑃  ∈  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∧  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ⊆  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) ) | 
						
							| 125 | 120 124 | syl5ibrcom | ⊢ ( ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  →  ( 𝑧  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  →  ( ( 𝑃  ∈  𝑧  ∧  𝑧  ⊆  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) ) | 
						
							| 126 | 125 | 3ad2ant2 | ⊢ ( ( 𝑔  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑧  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑧 ) ( 𝑔 ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  →  ( 𝑧  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  →  ( ( 𝑃  ∈  𝑧  ∧  𝑧  ⊆  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) ) | 
						
							| 127 | 126 | imp | ⊢ ( ( ( 𝑔  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑧  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑧 ) ( 𝑔 ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑧  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 ) )  →  ( ( 𝑃  ∈  𝑧  ∧  𝑧  ⊆  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) | 
						
							| 128 | 127 | exlimiv | ⊢ ( ∃ 𝑔 ( ( 𝑔  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑧  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑧 ) ( 𝑔 ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑧  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( 𝑔 ‘ 𝑛 ) )  →  ( ( 𝑃  ∈  𝑧  ∧  𝑧  ⊆  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) | 
						
							| 129 | 13 128 | sylbi | ⊢ ( 𝑧  ∈  { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) }  →  ( ( 𝑃  ∈  𝑧  ∧  𝑧  ⊆  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) ) | 
						
							| 130 | 129 | rexlimiv | ⊢ ( ∃ 𝑧  ∈  { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) } ( 𝑃  ∈  𝑧  ∧  𝑧  ⊆  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) | 
						
							| 131 | 12 130 | syl | ⊢ ( ( 𝑆  ∈  ( topGen ‘ { 𝑥  ∣  ∃ ℎ ( ( ℎ  Fn  ( 1 ... 𝑁 )  ∧  ∀ 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 )  ∈  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 )  ∧  ∃ 𝑤  ∈  Fin ∀ 𝑛  ∈  ( ( 1 ... 𝑁 )  ∖  𝑤 ) ( ℎ ‘ 𝑛 )  =  ∪  ( ( ( 1 ... 𝑁 )  ×  { ( topGen ‘ ran  (,) ) } ) ‘ 𝑛 ) )  ∧  𝑥  =  X 𝑛  ∈  ( 1 ... 𝑁 ) ( ℎ ‘ 𝑛 ) ) } )  ∧  𝑃  ∈  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) | 
						
							| 132 | 11 131 | sylanb | ⊢ ( ( 𝑆  ∈  𝑅  ∧  𝑃  ∈  𝑆 )  →  ∃ 𝑑  ∈  ℝ+ X 𝑛  ∈  ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 )  ⊆  𝑆 ) |