Metamath Proof Explorer


Theorem stoweidlem39

Description: This lemma is used to prove that there exists a function x as in the proof of Lemma 2 in BrosowskiDeutsh p. 91: assuming that r is a finite subset of W , x indexes a finite set of functions in the subalgebra (of the Stone Weierstrass theorem), such that for all i ranging in the finite indexing set, 0 ≤ x_i ≤ 1, x_i < ε / m on V(t_i), and x_i > 1 - ε / m on B . Here D is used to represent A in the paper's Lemma 2 (because A is used for the subalgebra), M is used to represent m in the paper, E is used to represent ε, and v_i is used to represent V(t_i). W is just a local definition, used to shorten statements. (Contributed by Glauco Siliprandi, 20-Apr-2017)

Ref Expression
Hypotheses stoweidlem39.1 𝜑
stoweidlem39.2 𝑡 𝜑
stoweidlem39.3 𝑤 𝜑
stoweidlem39.4 𝑈 = ( 𝑇𝐵 )
stoweidlem39.5 𝑌 = { 𝐴 ∣ ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) }
stoweidlem39.6 𝑊 = { 𝑤𝐽 ∣ ∀ 𝑒 ∈ ℝ+𝐴 ( ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) ∧ ∀ 𝑡𝑤 ( 𝑡 ) < 𝑒 ∧ ∀ 𝑡 ∈ ( 𝑇𝑈 ) ( 1 − 𝑒 ) < ( 𝑡 ) ) }
stoweidlem39.7 ( 𝜑𝑟 ∈ ( 𝒫 𝑊 ∩ Fin ) )
stoweidlem39.8 ( 𝜑𝐷 𝑟 )
stoweidlem39.9 ( 𝜑𝐷 ≠ ∅ )
stoweidlem39.10 ( 𝜑𝐸 ∈ ℝ+ )
stoweidlem39.11 ( 𝜑𝐵𝑇 )
stoweidlem39.12 ( 𝜑𝑊 ∈ V )
stoweidlem39.13 ( 𝜑𝐴 ∈ V )
Assertion stoweidlem39 ( 𝜑 → ∃ 𝑚 ∈ ℕ ∃ 𝑣 ( 𝑣 : ( 1 ... 𝑚 ) ⟶ 𝑊𝐷 ran 𝑣 ∧ ∃ 𝑥 ( 𝑥 : ( 1 ... 𝑚 ) ⟶ 𝑌 ∧ ∀ 𝑖 ∈ ( 1 ... 𝑚 ) ( ∀ 𝑡 ∈ ( 𝑣𝑖 ) ( ( 𝑥𝑖 ) ‘ 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡𝐵 ( 1 − ( 𝐸 / 𝑚 ) ) < ( ( 𝑥𝑖 ) ‘ 𝑡 ) ) ) ) )

Proof

Step Hyp Ref Expression
1 stoweidlem39.1 𝜑
2 stoweidlem39.2 𝑡 𝜑
3 stoweidlem39.3 𝑤 𝜑
4 stoweidlem39.4 𝑈 = ( 𝑇𝐵 )
5 stoweidlem39.5 𝑌 = { 𝐴 ∣ ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) }
6 stoweidlem39.6 𝑊 = { 𝑤𝐽 ∣ ∀ 𝑒 ∈ ℝ+𝐴 ( ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) ∧ ∀ 𝑡𝑤 ( 𝑡 ) < 𝑒 ∧ ∀ 𝑡 ∈ ( 𝑇𝑈 ) ( 1 − 𝑒 ) < ( 𝑡 ) ) }
7 stoweidlem39.7 ( 𝜑𝑟 ∈ ( 𝒫 𝑊 ∩ Fin ) )
8 stoweidlem39.8 ( 𝜑𝐷 𝑟 )
9 stoweidlem39.9 ( 𝜑𝐷 ≠ ∅ )
10 stoweidlem39.10 ( 𝜑𝐸 ∈ ℝ+ )
11 stoweidlem39.11 ( 𝜑𝐵𝑇 )
12 stoweidlem39.12 ( 𝜑𝑊 ∈ V )
13 stoweidlem39.13 ( 𝜑𝐴 ∈ V )
14 8 9 jca ( 𝜑 → ( 𝐷 𝑟𝐷 ≠ ∅ ) )
15 ssn0 ( ( 𝐷 𝑟𝐷 ≠ ∅ ) → 𝑟 ≠ ∅ )
16 unieq ( 𝑟 = ∅ → 𝑟 = ∅ )
17 uni0 ∅ = ∅
18 16 17 eqtrdi ( 𝑟 = ∅ → 𝑟 = ∅ )
19 18 necon3i ( 𝑟 ≠ ∅ → 𝑟 ≠ ∅ )
20 14 15 19 3syl ( 𝜑𝑟 ≠ ∅ )
21 20 neneqd ( 𝜑 → ¬ 𝑟 = ∅ )
22 elinel2 ( 𝑟 ∈ ( 𝒫 𝑊 ∩ Fin ) → 𝑟 ∈ Fin )
23 7 22 syl ( 𝜑𝑟 ∈ Fin )
24 fz1f1o ( 𝑟 ∈ Fin → ( 𝑟 = ∅ ∨ ( ( ♯ ‘ 𝑟 ) ∈ ℕ ∧ ∃ 𝑣 𝑣 : ( 1 ... ( ♯ ‘ 𝑟 ) ) –1-1-onto𝑟 ) ) )
25 pm2.53 ( ( 𝑟 = ∅ ∨ ( ( ♯ ‘ 𝑟 ) ∈ ℕ ∧ ∃ 𝑣 𝑣 : ( 1 ... ( ♯ ‘ 𝑟 ) ) –1-1-onto𝑟 ) ) → ( ¬ 𝑟 = ∅ → ( ( ♯ ‘ 𝑟 ) ∈ ℕ ∧ ∃ 𝑣 𝑣 : ( 1 ... ( ♯ ‘ 𝑟 ) ) –1-1-onto𝑟 ) ) )
26 23 24 25 3syl ( 𝜑 → ( ¬ 𝑟 = ∅ → ( ( ♯ ‘ 𝑟 ) ∈ ℕ ∧ ∃ 𝑣 𝑣 : ( 1 ... ( ♯ ‘ 𝑟 ) ) –1-1-onto𝑟 ) ) )
27 21 26 mpd ( 𝜑 → ( ( ♯ ‘ 𝑟 ) ∈ ℕ ∧ ∃ 𝑣 𝑣 : ( 1 ... ( ♯ ‘ 𝑟 ) ) –1-1-onto𝑟 ) )
28 oveq2 ( 𝑚 = ( ♯ ‘ 𝑟 ) → ( 1 ... 𝑚 ) = ( 1 ... ( ♯ ‘ 𝑟 ) ) )
29 28 f1oeq2d ( 𝑚 = ( ♯ ‘ 𝑟 ) → ( 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟𝑣 : ( 1 ... ( ♯ ‘ 𝑟 ) ) –1-1-onto𝑟 ) )
30 29 exbidv ( 𝑚 = ( ♯ ‘ 𝑟 ) → ( ∃ 𝑣 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ↔ ∃ 𝑣 𝑣 : ( 1 ... ( ♯ ‘ 𝑟 ) ) –1-1-onto𝑟 ) )
31 30 rspcev ( ( ( ♯ ‘ 𝑟 ) ∈ ℕ ∧ ∃ 𝑣 𝑣 : ( 1 ... ( ♯ ‘ 𝑟 ) ) –1-1-onto𝑟 ) → ∃ 𝑚 ∈ ℕ ∃ 𝑣 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 )
32 27 31 syl ( 𝜑 → ∃ 𝑚 ∈ ℕ ∃ 𝑣 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 )
33 f1of ( 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟𝑣 : ( 1 ... 𝑚 ) ⟶ 𝑟 )
34 33 adantl ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝑣 : ( 1 ... 𝑚 ) ⟶ 𝑟 )
35 simpll ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝜑 )
36 elinel1 ( 𝑟 ∈ ( 𝒫 𝑊 ∩ Fin ) → 𝑟 ∈ 𝒫 𝑊 )
37 36 elpwid ( 𝑟 ∈ ( 𝒫 𝑊 ∩ Fin ) → 𝑟𝑊 )
38 35 7 37 3syl ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝑟𝑊 )
39 34 38 fssd ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝑣 : ( 1 ... 𝑚 ) ⟶ 𝑊 )
40 8 ad2antrr ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝐷 𝑟 )
41 dff1o2 ( 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ↔ ( 𝑣 Fn ( 1 ... 𝑚 ) ∧ Fun 𝑣 ∧ ran 𝑣 = 𝑟 ) )
42 41 simp3bi ( 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 → ran 𝑣 = 𝑟 )
43 42 unieqd ( 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ran 𝑣 = 𝑟 )
44 43 adantl ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → ran 𝑣 = 𝑟 )
45 40 44 sseqtrrd ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝐷 ran 𝑣 )
46 nfv 𝑚 ∈ ℕ
47 1 46 nfan ( 𝜑𝑚 ∈ ℕ )
48 nfv 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟
49 47 48 nfan ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 )
50 nfv 𝑡 𝑚 ∈ ℕ
51 2 50 nfan 𝑡 ( 𝜑𝑚 ∈ ℕ )
52 nfv 𝑡 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟
53 51 52 nfan 𝑡 ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 )
54 nfv 𝑤 𝑚 ∈ ℕ
55 3 54 nfan 𝑤 ( 𝜑𝑚 ∈ ℕ )
56 nfv 𝑤 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟
57 55 56 nfan 𝑤 ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 )
58 eqid ( 𝑤𝑟 ↦ { 𝐴 ∣ ( ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) ∧ ∀ 𝑡𝑤 ( 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡 ∈ ( 𝑇𝑈 ) ( 1 − ( 𝐸 / 𝑚 ) ) < ( 𝑡 ) ) } ) = ( 𝑤𝑟 ↦ { 𝐴 ∣ ( ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) ∧ ∀ 𝑡𝑤 ( 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡 ∈ ( 𝑇𝑈 ) ( 1 − ( 𝐸 / 𝑚 ) ) < ( 𝑡 ) ) } )
59 simplr ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝑚 ∈ ℕ )
60 simpr ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 )
61 10 ad2antrr ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝐸 ∈ ℝ+ )
62 11 sselda ( ( 𝜑𝑏𝐵 ) → 𝑏𝑇 )
63 notnot ( 𝑏𝐵 → ¬ ¬ 𝑏𝐵 )
64 63 intnand ( 𝑏𝐵 → ¬ ( 𝑏𝑇 ∧ ¬ 𝑏𝐵 ) )
65 64 adantl ( ( 𝜑𝑏𝐵 ) → ¬ ( 𝑏𝑇 ∧ ¬ 𝑏𝐵 ) )
66 eldif ( 𝑏 ∈ ( 𝑇𝐵 ) ↔ ( 𝑏𝑇 ∧ ¬ 𝑏𝐵 ) )
67 65 66 sylnibr ( ( 𝜑𝑏𝐵 ) → ¬ 𝑏 ∈ ( 𝑇𝐵 ) )
68 4 eleq2i ( 𝑏𝑈𝑏 ∈ ( 𝑇𝐵 ) )
69 67 68 sylnibr ( ( 𝜑𝑏𝐵 ) → ¬ 𝑏𝑈 )
70 62 69 eldifd ( ( 𝜑𝑏𝐵 ) → 𝑏 ∈ ( 𝑇𝑈 ) )
71 70 ralrimiva ( 𝜑 → ∀ 𝑏𝐵 𝑏 ∈ ( 𝑇𝑈 ) )
72 dfss3 ( 𝐵 ⊆ ( 𝑇𝑈 ) ↔ ∀ 𝑏𝐵 𝑏 ∈ ( 𝑇𝑈 ) )
73 71 72 sylibr ( 𝜑𝐵 ⊆ ( 𝑇𝑈 ) )
74 73 ad2antrr ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝐵 ⊆ ( 𝑇𝑈 ) )
75 12 ad2antrr ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝑊 ∈ V )
76 13 ad2antrr ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝐴 ∈ V )
77 23 ad2antrr ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → 𝑟 ∈ Fin )
78 mptfi ( 𝑟 ∈ Fin → ( 𝑤𝑟 ↦ { 𝐴 ∣ ( ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) ∧ ∀ 𝑡𝑤 ( 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡 ∈ ( 𝑇𝑈 ) ( 1 − ( 𝐸 / 𝑚 ) ) < ( 𝑡 ) ) } ) ∈ Fin )
79 rnfi ( ( 𝑤𝑟 ↦ { 𝐴 ∣ ( ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) ∧ ∀ 𝑡𝑤 ( 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡 ∈ ( 𝑇𝑈 ) ( 1 − ( 𝐸 / 𝑚 ) ) < ( 𝑡 ) ) } ) ∈ Fin → ran ( 𝑤𝑟 ↦ { 𝐴 ∣ ( ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) ∧ ∀ 𝑡𝑤 ( 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡 ∈ ( 𝑇𝑈 ) ( 1 − ( 𝐸 / 𝑚 ) ) < ( 𝑡 ) ) } ) ∈ Fin )
80 77 78 79 3syl ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → ran ( 𝑤𝑟 ↦ { 𝐴 ∣ ( ∀ 𝑡𝑇 ( 0 ≤ ( 𝑡 ) ∧ ( 𝑡 ) ≤ 1 ) ∧ ∀ 𝑡𝑤 ( 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡 ∈ ( 𝑇𝑈 ) ( 1 − ( 𝐸 / 𝑚 ) ) < ( 𝑡 ) ) } ) ∈ Fin )
81 49 53 57 5 6 58 38 59 60 61 74 75 76 80 stoweidlem31 ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → ∃ 𝑥 ( 𝑥 : ( 1 ... 𝑚 ) ⟶ 𝑌 ∧ ∀ 𝑖 ∈ ( 1 ... 𝑚 ) ( ∀ 𝑡 ∈ ( 𝑣𝑖 ) ( ( 𝑥𝑖 ) ‘ 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡𝐵 ( 1 − ( 𝐸 / 𝑚 ) ) < ( ( 𝑥𝑖 ) ‘ 𝑡 ) ) ) )
82 39 45 81 3jca ( ( ( 𝜑𝑚 ∈ ℕ ) ∧ 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 ) → ( 𝑣 : ( 1 ... 𝑚 ) ⟶ 𝑊𝐷 ran 𝑣 ∧ ∃ 𝑥 ( 𝑥 : ( 1 ... 𝑚 ) ⟶ 𝑌 ∧ ∀ 𝑖 ∈ ( 1 ... 𝑚 ) ( ∀ 𝑡 ∈ ( 𝑣𝑖 ) ( ( 𝑥𝑖 ) ‘ 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡𝐵 ( 1 − ( 𝐸 / 𝑚 ) ) < ( ( 𝑥𝑖 ) ‘ 𝑡 ) ) ) ) )
83 82 ex ( ( 𝜑𝑚 ∈ ℕ ) → ( 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 → ( 𝑣 : ( 1 ... 𝑚 ) ⟶ 𝑊𝐷 ran 𝑣 ∧ ∃ 𝑥 ( 𝑥 : ( 1 ... 𝑚 ) ⟶ 𝑌 ∧ ∀ 𝑖 ∈ ( 1 ... 𝑚 ) ( ∀ 𝑡 ∈ ( 𝑣𝑖 ) ( ( 𝑥𝑖 ) ‘ 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡𝐵 ( 1 − ( 𝐸 / 𝑚 ) ) < ( ( 𝑥𝑖 ) ‘ 𝑡 ) ) ) ) ) )
84 83 eximdv ( ( 𝜑𝑚 ∈ ℕ ) → ( ∃ 𝑣 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 → ∃ 𝑣 ( 𝑣 : ( 1 ... 𝑚 ) ⟶ 𝑊𝐷 ran 𝑣 ∧ ∃ 𝑥 ( 𝑥 : ( 1 ... 𝑚 ) ⟶ 𝑌 ∧ ∀ 𝑖 ∈ ( 1 ... 𝑚 ) ( ∀ 𝑡 ∈ ( 𝑣𝑖 ) ( ( 𝑥𝑖 ) ‘ 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡𝐵 ( 1 − ( 𝐸 / 𝑚 ) ) < ( ( 𝑥𝑖 ) ‘ 𝑡 ) ) ) ) ) )
85 84 reximdva ( 𝜑 → ( ∃ 𝑚 ∈ ℕ ∃ 𝑣 𝑣 : ( 1 ... 𝑚 ) –1-1-onto𝑟 → ∃ 𝑚 ∈ ℕ ∃ 𝑣 ( 𝑣 : ( 1 ... 𝑚 ) ⟶ 𝑊𝐷 ran 𝑣 ∧ ∃ 𝑥 ( 𝑥 : ( 1 ... 𝑚 ) ⟶ 𝑌 ∧ ∀ 𝑖 ∈ ( 1 ... 𝑚 ) ( ∀ 𝑡 ∈ ( 𝑣𝑖 ) ( ( 𝑥𝑖 ) ‘ 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡𝐵 ( 1 − ( 𝐸 / 𝑚 ) ) < ( ( 𝑥𝑖 ) ‘ 𝑡 ) ) ) ) ) )
86 32 85 mpd ( 𝜑 → ∃ 𝑚 ∈ ℕ ∃ 𝑣 ( 𝑣 : ( 1 ... 𝑚 ) ⟶ 𝑊𝐷 ran 𝑣 ∧ ∃ 𝑥 ( 𝑥 : ( 1 ... 𝑚 ) ⟶ 𝑌 ∧ ∀ 𝑖 ∈ ( 1 ... 𝑚 ) ( ∀ 𝑡 ∈ ( 𝑣𝑖 ) ( ( 𝑥𝑖 ) ‘ 𝑡 ) < ( 𝐸 / 𝑚 ) ∧ ∀ 𝑡𝐵 ( 1 − ( 𝐸 / 𝑚 ) ) < ( ( 𝑥𝑖 ) ‘ 𝑡 ) ) ) ) )