Metamath Proof Explorer


Theorem ptrecube

Description: Any point in an open set of N-space is surrounded by an open cube within that set. (Contributed by Brendan Leahy, 21-Aug-2020) (Proof shortened by AV, 28-Sep-2020)

Ref Expression
Hypotheses ptrecube.r ⊢ 𝑅 = ( ∏t ‘ ( ( 1 ... 𝑁 ) × { ( topGen ‘ ran (,) ) } ) )
ptrecube.d ⊢ 𝐷 = ( ( abs ∘ − ) ↾ ( ℝ × ℝ ) )
Assertion ptrecube ( ( 𝑆 ∈ 𝑅 ∧ 𝑃 ∈ 𝑆 ) → ∃ 𝑑 ∈ ℝ+ X 𝑛 ∈ ( 1 ... 𝑁 ) ( ( 𝑃 ‘ 𝑛 ) ( ball ‘ 𝐷 ) 𝑑 ) ⊆ 𝑆 )

Proof

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 ‘ 𝐷 ) 𝑑 ) ⊆ 𝑆 )