Il primo risultato non banale che presentiamo `e il seguente teorema dovuto a Kakutani e Stone. E denoter`a sempre uno spazio topologico completamente regolare. Un sottoinsieme L ⊂ C(E, R) si dice retticolo se ogniqualvolta f, g ∈ L, allora anche sup(f, g) ∈ L e inf(f, g) ∈ L.
Teorema 2.1.1. (Kakutani-Stone) Siano L ⊂ C(E, R) un retticolo e f ∈ C(E, R). Allora f appartiene alla chiusura di L se e solo se per ogni > 0 e per ogni x1, x2 ∈ E esiste g ∈ L tale che
|g(x1) − f (x1)| < |g(x2) − f (x2)| <
Dimostrazione. La necessariet`a della condizione `e chiara. Infatti, sia K il sottoinsieme compatto di E formato dai punti x1 e x2. Poich´e f ∈ L segue
che, per ogni > 0, esiste g ∈ L tale che
kf − gk∞,K < .
Questo `e equivalente alla condizione enunciata.
Viceversa, possiamo assumere che E sia compatto (Osservazione 1.8.10).
Fissiamo > 0. Proviamo prima che, dato t ∈ E, esiste gt ∈ L tale che
gt(u) > f (u) − per ogni u ∈ E, e gt(t) < f (t) + .
Infatti, per ogni x ∈ E esiste gx∈ L tale che
|gx(x) − f (x)| < |gx(t) − f (t)| < .
Questo si ottiene applicando l’ipotesi ad x e t. Poniamo Vx = {u ∈ E : gx(u) > f (u) − };
allora Vx`e aperto (per la continut`a delle funzioni in ‘gioco’) e contiene l’elemen-to x. Per la compattezza di E, esisl’elemen-tono x1, . . . , xn tali che Vx1∪ · · · ∪ Vxn = E.
Ponendo
gt= sup(gx1, . . . , gxn) ∈ L,
otteniamo la funzione desiderata. Infatti, se u ∈ E, esiste i tale che u ∈ Vxi; allora gt(u) ≥ gxi(u) > f (u) − . Inoltre, poich´e gxi(t) < f (t) + per ogni i = 1, . . . , n, abbiamo gt(t) < f (t) + .
Poniamo ora
Vt= {u ∈ E : gt(u) < f (u) + };
allora Vt`e aperto e contiene t. Per la compattezza di E, esistono t1, . . . , tn tali che Vt1 ∪ · · · ∪ Vtn = E. Sia
g = inf(gt1, . . . , gtn) ∈ L.
Se u ∈ E, esiste i tale che u ∈ Vti; allora g(u) ≤ gti(u) < f (u) + . Inoltre, siccome gti(u) > f (u) − per ogni i = 1, . . . , n, abbiamo g(u) > f (u) −
. Abbiamo cos`ı provato che |f − g| < ; poich´e g ∈ L, ed `e arbitrario, concludiamo che f ∈ L.
Il prossimo passo `e riconoscere un risultato concernente la struttura di un ideale I ⊂ C(E). Un ideale in C(E) `e un sottospazio I ⊂ C(E) tale che per ogni f ∈ C(E) e per ogni g ∈ I, f g ∈ I.
Proposizione 2.1.2. Siano I ⊂ C(E) un ideale ed f ∈ C(E). Poniamo N = {x ∈ E : g(x) = 0 per ogni g ∈ I}.
Allora f ∈ I se e soltanto se f = 0 in N .
Dimostrazione. Abbiamo N = T
f ∈If−1(0); pertanto N `e chiuso in E.
Per ogni x ∈ E la funzione delta δx `e continua in C(E) (Definizione 1.8.11).
Per ogni x ∈ N la funzione delta δx si annulla in I, pertanto essa si annulla anche in I.
Nel stabilire il viceversa, possiamo assumere che E sia compatto. Osservi-amo prima che, se X ⊂ E `e chiuso e disgiunto da N , esiste h ∈ I, 0 ≤ h ≤ 1 tale che h(x) = 1 per ogni x ∈ X. Infatti, se x ∈ X, allora x non appartiene ad N ; dunque esiste hx ∈ I tale che hx(x) 6= 0. Possiamo assumere hx ≥ 0.
Infatti, possiamo sostituire hx con h2x ∈ I, nel caso reale; e possiamo sostituire hx con |hx|2 = hxhx ∈ I, nel caso complesso. Sia Vx = {u ∈ E : hx(u) > 0} per ogni x ∈ X; allora Vx`e aperto e contiene x. Per la compattezza di X, esistono x1, . . . , xn ∈ X tali che X ⊂ Vx1∪ · · · ∪ Vxn. Poniamo h0 = hx1+ · · · + hxn ∈ I.
h0 ≥ 0 e h0(x) > 0 per ogni x ∈ X. Per il teorema di estensione di Tietze (si veda Appendice A), esiste k ∈ C(E) tale che k(x) = 1/h0(x) per ogni x ∈ X;
possiamo prendere k ≥ 0 e k(x) ≤ 1/h0(x), per ogni x ∈ E. Ponendo h = h0k, abbiamo h ∈ I, 0 ≤ h ≤ 1 e h(x) = 1 per ogni x ∈ X, come volevamo.
Una volta mostrato questa osservazione possiamo ipotizzare che f si annuli in N . Dato > 0, poniamo X = {x ∈ E : |f (x)| ≥ }. Scegliamo h relativamente a questo insieme chiuso descritto come sopra. Prendiamo g = f h ∈ I. Allora |f (x) − g(x)| = |g(x)|[1 − h(x)] < ; questo si vede facilmente distinguendo i casi x ∈ X e x non appartiene ad X. Pertanto kf − gk∞ < ;
dunque f ∈ I.
Occupiamoci ora del teorema di Stone-Weierstrass; per la sua dimostrazione ci servono alcuni risultati preliminari contenuti nei seguenti lemmi.
Lemma 2.1.3. La chiusura di una sottoalgebra A ⊂ C(E) `e un retticolo.
Dimostrazione. Essendo
Sia ora f ∈ A e sia K ⊂ E un sottoinsieme compatto. Indichiamo con M = kf k∞,K. Iniziamo col supporre M > 0, allora 0 ≤ |f |/M ≤ 1 in K. Ne
uniformemente in K. Nel caso in cui M = 0, risulta f = 0 su K. Inoltre le funzioni che compaiono a secondo membro nella (1), sotto il segno del limite, appartengono ad A perch´e A `e una sottoalgebra di C(E); dunque |f | ∈ A. Lemma 2.1.4. Considerata l’algebra R2, quadrato cartesiano del algebra R, le sue sottoalgebre non banali (cio`e distinte da 0 e R2 stesso) sono 0 × R, R × 0 e ∆ = {(x, x) : x ∈ R}.
Dimostrazione. Se A ⊂ R2 `e una sottoalgebra diversa da 0, R2, 0 × R e R × 0, allora
A = {(x, y) ∈ R2 : y = kx}
per qualche k ∈ R, perch´e A `e un sottospazio di dimensione uno di R2. Inoltre deve essere k 6= 0, altrimenti sarebbe A = R × 0. Si osservi che (1, k) soddisfa l’equazione y = kx, pertanto (1, k) ∈ A. Poich´e (1, k2) = (1, k)2 ∈ A, k2 = k.
Abbiamo che k=1. Questo prova che A = ∆ e completa la dimostrazione. .
Corollario 2.1.5. Siano A ⊂ R2 una sottoalgebra e b ∈ R2. Allora b /∈ A se e solo se almeno una delle seguenti `e soddisfatta:
(1) b /∈ R × 0 ed A ⊂ R × 0;
(2) b /∈ 0 × R ed A ⊂ 0 × R;
(3) b /∈ ∆ e A ⊂ ∆.
Dimostrazione. Ciascuna delle (1), (2) e (3) implica che b /∈ A. Viceversa se b /∈ A, allora A 6= R2 e b 6= 0. Poich´e A `e una sottoalgebra di R2, dal precedente lemma 2.1.4 segue che A coincide con una di queste quattro 0, R × 0, 0 × R e ∆. Nel primo caso in cui A = 0, una delle (1) o (2) `e verificata perch´e b 6= 0. Negli ultimi tre casi sono la (1), la (2) e la (3) ad essere soddisfatte rispettivamente.
Definizione 2.1.6. Una sottoalgebra A ⊂ C(E, C) si dice autoagiunta se f ∈ A per ogni f ∈ A.
Lemma 2.1.7. Sia A ⊂ C(E, C) una algebra autoagiunta. Allora l’insieme ReA delle parti reali Ref di tutte le funzioni f ∈ A `e una sottoalgebra di C(E, R); e
A = ReA + iReA.
Dimostrazione. ReA `e chiaramente un sottospazio vettoriale di C(E, R).
Abbiamo ReA ⊂ A; infatti, se f ∈ A, allora Ref = (f + f )/2 ∈ A. Pertanto f, g ∈ ReA implicano f g ∈ ReAReA ⊂ AA ⊂ A. Dall’altro canto f g `e una funzione a valori reali; dunque f g = Re(f g) ∈ ReA. Questo prova che ReA `e una sottoalgebra di C(E, R).
Poich´e ReA ⊂ A, abbiamo che ReA + iReA ⊂ A. Se f ∈ A, scrivendo f = f1 + if2 con f1 = Ref ∈ ReA e f2 = Re(−if ) ∈ ReA, si ha che f ∈ ReA + iReA. Questo prova che A = ReA + iReA.
Teorema 2.1.8. (Teorema di Stone-Weierstrass) Sia A ⊂ C(E) una algebra, autoagiunta nel caso complesso, e sia f ∈ A. Allora f ∈ A se e solo se le seguenti condizioni sono soddisfatte:
(1) Per ogni x1, x2 ∈ E tali che f (x1) 6= f (x2) esiste g ∈ A tale che g(x1) 6= g(x2).
(2) Per ogni x ∈ E tale che f (x) 6= 0 esiste g ∈ A tale che g(x) 6= 0.
Dimostrazione. Cominciamo col supporre f ∈ A. Se x1, x2 ∈ E sono tall che f (x1) 6= f (x2), siano = |f (x1) − f (x2)| e K = {x1, x2}. Esiste g ∈ A tale che |f (x) − g(x)| < /2 per ogni x ∈ K; ossia |f (x1) − g(x1)| < /2,
|f (x2) − g(x2)| < /2. Ne consegue che g(x1) 6= g(x2). Questo prova la necessariet`a di (1). Se x ∈ E, in corrispondenza di = |f (x)|, esiste g ∈ A tale che |f (x) − g(x)| < . Allora g(x) 6= 0. Questo prova la necessariet`a di (2).
Viceversa, siano vere la (1) e la (2). Trattiamo sepatatamente il caso reale
e quello complesso cominciando dal primo, f ∈ C(E, R). Se x1, x2 ∈ E, l’applicazione g ∈ C(E, R) −→ (g(x1), g(x2)) ∈ R2 `e un omomorfismo di algebre; chiamiamolo Φ. Usando la (2), vediamo che, se Φ(f ) /∈ R × 0, allora Φ(A) " R × 0; e se Φ(f ) /∈ 0 × R, allora Φ(A) " 0 × R. Usando la (1), notiamo che, Φ(f ) /∈ ∆, allora Φ(A) " ∆. Dal Corollario 2.1.5, deduciamo che Φ(f ) ∈ Φ(A), ossia , esiste g ∈ A ⊂ A tale che f (x1) = g(x1) e f (x2) = g(x2).
Poich´e A `e un retticolo (Lemma 2.1.3), deduciamo che f ∈ A per il teorema di Kakutani-Stone 2.1.1.
Passiamo ora a considerare il caso complesso, cio`e quando f ∈ C(E, C).
Scriviamo f = f1 + if2 con f1 = Ref ∈ ReA ⊂ C(E, R) e f2 = Imf = Re(−if ) ∈ ReA ⊂ C(E, R). Affermiamo che f1 e ReA soddisfanno le con-dizioni (1) e (2) con f1 e ReA al posto di f e A rispettivamente. Infatti, siano x1, x2 ∈ E tali che f1(x1) 6= f1(x2). Allora f (x1) 6= f (x2). Esiste g ∈ A tale che g(x1) 6= g(x2). Scriviamo g = g1 + ig2 con g1 = Reg ∈ ReA ⊂ C(E, R) e g2 = Img = Re(−ig) ∈ ReA ⊂ C(E, R). Segue che g1(x1) 6= g1(x2) oppure g2(x1) 6= g2(x2). In modo analogo si giustifica anche la condizione (2). Notan-do che ReA `e una sottoalgebra di C(E, R) (Lemma 2.1.7) e usando il Teorema 2.1.8 nel caso reale, abbiamo che f1 ∈ ReA. Similmente f2 ∈ ReA. Notiamo che X + iY = X + iY per ogni X, Y ⊂ C(E, R), perch´e l’applicazione
(g1, g2) ∈ C(E, R) × C(E, R) −→ g1+ ig2 ∈ C(E, C)
`
e un omeomorfismo. Dunque f = f1+ if2 ∈ ReA + iReA = ReA + iReA = A (Lemma 2.1.7).
Corollario 2.1.9. Sia A ⊂ C(E) una sottoalgebra, che si suppone autoagiunta nel caso complesso. A `e denso in C(E) se e soltanto se le seguenti condizioni sono soddisfatte
(1) Per ogni x1, x2 ∈ E, x1 6= x2, esiste g ∈ A tale che g(x1) 6= g(x2) [ci si esprime dicendo che A separa i punti di E].
(2) Per ogni x ∈ E esiste g ∈ A tale che g(x) 6= 0 [ci si esprime dicendo che A non si annulla in E] .
Dimostrazione. Applichiamo il Teorema 2.1.8 nel modo seguente. In-iziamo col supporre A = C(E). Siano x1, x2 ∈ E, x1 6= x2, esiste f ∈ C(E) tale che f (x1) 6= f (x2), dato che E `e completamente regolare. f ∈ A, e (1) del Teorema 2.1.8 implica (1) del Corollario. Similmente se x ∈ E esiste f ∈ C(E) tale che f (x) 6= 0, precisamente f = 1. Allora (2) del Teorema 2.1.8 implica (2) del Corollario.
Osservazione 2.1.10. Se 1 ∈ A, allora la condizione (2) del Teorema 2.1.8, oppure quella del suo Corollario 2.1.5, `e automaticamente soddisfatta.
Dal Corollario 2.1.5 possiamo derivare immediatamente il Teorema di Weier-strass classico. Se E ⊂ Rn, indicheremo con P (E, K) l’algebra di tutti i polino-mi a valori in K definiti in E. Spesso indicheremo P (E, K) pi`u semplicemente conP (E) o addirittura con Pn se E = Rn.
Teorema 2.1.11. (Weierstrass) P (Rn, K) `e denso in C(Rn, K).
Dimostrazione. Usiamo il Corollario 2.1.5 e l’Osserazione 2.1.10. Per ogni i = 1, . . . , n indichiamo con pri la i-esima proiezione canonica, cio`e l’ap-plicazione che ad ogni x = (x1, . . . , xn) ∈ Rn associa l’i-esima coordinata xi; pri ∈ P (Rn, K). Chiaramente le proiezioni canoniche separano i punti di Rn. 1 ∈ P (Rn, K). P (Rn, K) `e una sottoalgebra di C(Rn, K), ed `e autoagiunta nel caso complesso.
Osservazione 2.1.12. Sia a ∈ Rn. Allora il sottoinsieme di P (Rn, K) di tutti i polinomi che si annullano in a `e denso nel sottoinsieme di C(Rn, K) di tutte le funzioni che si annullano in a. Questo si deduce dal Teorema 2.1.11 nel modo seguente. Sia f ∈ C(Rn, K) e f (a) = 0. Siano > 0 e K ⊂ Rn compatto.
Esiste p ∈ P (Rn, K) tale che |p(x) − f (x)| < per ogni x ∈ K. Non c`e perdita
di generalit`a se supponiamo che a ∈ K. Ponendo q = p − p(a), abbiamo q(a) = 0 e |q(x) − f (x)| < 2 per ogni x ∈ K, come volevasi dimostrare.
Vogliamo presentare ora la cosiddetta forma trigonometrica del teorema di Weierstrass. Indicheremo con C2π(R, K) l’algebra delle funzioni contin-ue a valori in K e 2π-periodiche definite sulla retta reale R. Evidentemente {1, cos x, sin x} ⊂ C2π(R, K). Gli elementi della sottoalgebra di C2π(R, K) gen-erata da {1, cos x, sin x} si dicono polinomi trigonometrici. Mostriamo che il generico polinomio trigonometrico pu`o essere scritto nella forma
a0 2 +
N
X
n=1
(ancosnx + bnsin nx),
dove a0, a1, . . . , aN, b1, . . . , bN ∈ K.
A tal fine indichiamo con T la circonferenza unitaria del piano complesso C, cio`e l’insieme
T = {z ∈ C : |z| = 1}.
Indichiamo con e la funzione identica su T, ossia e(z) = z per ogni z ∈ T.
Sia e la funzione complessa coniugata di e, ossia la funzione definita medi-ante e(z) = z per ogni z ∈ T. Come al solito, C(T) indicher`a l’algebra delle funzione continue definite su T. Cominciamo col fare vedere che le algebre di funzioni C2π(R, C) e C(T, C) possono essere identificate in modo canonico.
Infatti, ad ogni funzione f ∈ C2π(R, C) associamo la funzione Ff ∈ C(T, C) definita mediante Ff(eit) = f (t). Il fatto che f sia 2π-periodica implica che Ff sia ben definita. Viceversa, ad ogni funzione F ∈ C(T, C) associamo la funzione fF ∈ C2π(R, C), definita mediante fF(t) = F (eit). Si vede facilmente che l’applicazione f ∈ C2π(R, C) → Ff ∈ C(T, C) `e un isomorfismo isometrico di algebre normate la cui inversa `e F ∈ C(T, C) → fF ∈ C2π(R, C). Infine facciamo vedere che i polinomi trigonometrici vengono identificati con gli el-ementi della sottoalgebra di C(T, C) generata da {1, e, e}. Poich´e ee = 1, il generico elemento dalla sottoalgebra generata dalle funzioni {1, e, e} pu`o essere
scritto nella forma
N
X
n=−N
cnen,
dove N `e un intero non negativo e c−N, . . . , c0, . . . , cN ∈ C. Esso viene identificato con il seguente elemento di C2π(R, C),
N
X
n=−N
eint
che pu`o essere scritto nella forma a0
2 +
N
X
n=1
(ancosnx + bnsin nx),
se poniamo a0 = c0/2, an= (cn+ c−n) e bn= i(cn− c−n) per ogni 1 ≤ n ≤ N . Anche nel caso reale (K = R ) `e vero che ogni polinomio trigonometrico reale (a coefficienti reali) pu`o essere scritto nella forma precedente; infatti ogni poli-nomio trigonometrico reale pu`o essere visto come parte reale di un polinomio trigonometrico complesso (l’algebra dei polinomi trigonometrici complessi `e autoagiunta, vedi Lemma 2.1.7).
Adesso siamo pronti ad enunciare il teorema di Weierstrass.
Teorema 2.1.13. Con le notazione introdotte precedentemente, i polinomi trigonometrici sono densi in C2π(R, K).
Dimostrazione. Infatti, T `e uno spazio topologico compatto di Haus-dorff. Nel caso complesso, la sottoalgebra di C(T, C) generata dalle funzioni {1, e, e} separa i punti (in quanto e da sola separa i punti), contiene le costanti (contiene la funzione 1) ed `e autoagiunta. Pertanto essa `e densa in C(T, C) (vedi Corollario 2.1.5 e Osservazione 2.1.10). Usando l’identificazione vista precedentemente che c’`e fra C(T, C) e C2π(R, C), si conclude che i polino-mi trigonometrici complessi sono densi in C2π(R, C). A questo punto il caso
reale (K = R) `e ovvio, giacch´e ogni funzione f ∈ C2π(R, R) ed ogni poli-nomio trigonometrico reale possono essere visti come parte reale di una fun-zione complessa f∗ ∈ C2π(R, C) e di un polinomio trigonometrico complesso rispettivamente.
Abbiamo dedotto il teorema classico di Weierstrass dal teorema di Stone-Weierstrass. Ripercorrendo la dimostrazione del teorema di Stone-Weierstrass, ci accorgiamo che abbiamo fatto uso di un caso particolarissimo del Teorema classico di Weierstrass sulla retta reale R (vedere la dimostrazione del Lemma 2.1.3). Esistono moltissime dimostrazioni dirette del teorema di Weierstrass;
ci asteniamo dal presentare una di queste qui. Vogliamo mostrare, invece, che il teorema di Stone-Weierstrass pu`o essere dedotto dal teorema classico di Weierstrass e argomenti di Topologia Generale. A tal fine ci occorre il seguente risultato.
Lemma 2.1.14. Sia E = Q
i∈IEi un prodotto cartesiano di spazi topologici completamente regolari. Il sottoinsieme di C(E, K) di tutte le funzioni della forma ϕ ◦ πJ, dove J ⊂ I `e finito, πJ la proiezione naturale di E in EJ = Q
i∈JEi e ϕ ∈ C(EJ, K), `e denso in C(E, K).
Dimostrazione. Certamente possiamo supporre Ei 6= ∅ per ogni i ∈ I.
Supponiamo che E sia compatto. Se πi `e la proiezione naturale di E su Ei e Vi ⊂ Ei `e aperto, le intersezioni finite di πi−1(Vi) per i ∈ I costituiscono una base per E; chiameremo i sottoinsiemi del tipo suddetto sottoinsiemi aperti di base. Se x = {xi}i∈I e y = {yi}i∈I sono elementi di E e J ⊂ I, scriveremo x|J = y|J per dire che xi = yi per ogni i ∈ J . Allora dato un sottoinsieme aperto di base V ⊂ E, esiste J ⊂ I finito tale che x ∈ V , y ∈ E e x|J = y|J implicano y ∈ V . Sia ora f ∈ C(E, K); allora f `e uniformemente continua in E (Teorema di Heine-Borel). Pertanto, dato > 0, esiste un ricoprimento E = V1∪ · · · ∪ Vn di sottoinsiemi aperti di base tale che, per ogni r = 1, . . . , n e per ogni t1, t2 ∈ Vr risulti |f (t1) − f (t2)| < . Sia J ⊂ I finito, e tale che
per ogni r = 1, . . . , n, se x ∈ Vr, y ∈ E e x|J = y|J, allora y ∈ Vr. Fissiamo a = {ai}i∈I ∈ E. Definiamo l’applicazione continua ω : EJ → E come segue.
L’immagine di {xi}i∈J ∈ EJ `e {yi}i∈I ∈ E, dove yi = xi se i ∈ J e yi = ai se i /∈ J. Poniamo ϕ = f ◦ ω. Allora |ϕ(πJ(x)) − f (x)| < per ogni x ∈ E.
Infatti, dato x ∈ E, scegliamo r tale che x ∈ Vr. Poich´e ω(πJ(x))|J = x|J, allora anche ω(πJ(x)) ∈ Vr; quindi |f (ω(πJ(x))) − f (x)| < , come volevasi dimostrare.
Osservazione 2.1.15. Sia dato a ∈ E. Allora il sottoinsieme di C(E, K) di tutte le funzioni della forma ϕ ◦ πJ, dove J ⊂ I `e finito, e ϕ ∈ C(EJ, K) e inoltre si annulla in πJ(a), `e denso nel sottoinsieme di C(E, K) di tutte le funzioni che si annullano in a. Infatti, scegliamo questo punto a ∈ E, come il punto che abbiamo utilizzato nella dimostrazione del Lemma; con le notazioni di quella dimostrazione, se f (a) = 0, allora ϕ(πJ(a)) = f (ω(πJ(a))) = f (a) = 0.
Dimostrazione del Teorema di Stone-Weierstrass. La necessariet`a delle (1) e (2) nel Teorema 2.1.8, si provano come indicato nella dimostrazione che abbiamo gi`a visto. Viceversa, supponiamo che (1) e (2) siano soddisfat-te. Trattiamo prima il caso reale. Possiamo assumere che E sia compatto.
Consideriamo il prodotto cartesiano E0 = Q
g∈ALg, dove Lg `e l’unione di g(E) con il sottoinsieme di R ridotto al solo 0. Sia ω l’applicazione continua x ∈ E → {g(x)}g∈A ∈ E0. Usando la (1) troviamo una funzione a valori reali f0 su ω(E) tale che f0(ω(x)) = f (x) per ogni x ∈ E. Diciamo che f0
`e continua in ω(E): se X ⊂ R `e chiuso, allora f0−1(X) = ω(f−1(X)) `e com-patto, pertanto chiuso in ω(E), perch´e f−1(X) `e chiuso in E, e quindi anche compatto. Per (2), se ω(E) contiene il punto 0 di E0 le cui coordinate sono tutte nulle, allora f0(0) = 0. Usiamo il teorema di estensione di Tietze (si veda Appendice A), per prolungare f0 ad una funzione a valori reali definita su E0 che denotiamo ancora con f0. Nel caso 0 /∈ ω(E), possiamo assumere f0(0) = 0. In ogni caso abbiamo f0(0) = 0. Usando il Lemma 2.1.14 per E0 e
f0, troviamo g1, . . . , gn ∈ A ed una funzione continua a valori reali ϕ definita sul sottoinsieme compatto K = Lg1 × · · · × Lgn di Rn tale che
(1)
|ϕ(g1(x), . . . , gn(x)) − f0[ω(x)]| < /2
per ogni x ∈ E. Per Osservazione 2.1.15, possiamo assumere che ϕ(0, . . . , 0) = 0 perche f0(0) = 0. Estendiamo ϕ a una funzione continua a valori reali in Rn. Usando il teorema di Weierstrass, troviamo un polinomio su Rn tale che
(2)
|p(t1, . . . , tn) − ϕ(t1, . . . , tn)| < /2
per ogni (t1, . . . , tn) ∈ K. Possiamo assumere p(0, . . . , 0) = 0, per via del-l’Osservazione 2.1.12. Usando (1) e (2) otteniamo
|p(g1(x), . . . , gn(x)) − f (x)| <
per ogni x ∈ E. Notiamo che p(g1, . . . , gn) ∈ A per concludere che f ∈ A. Il caso complesso pu`o essere ridotto al caso reale come abbiamo gi`a fatto nella dimostrazione del Teorema 2.1.8.