# Teorema di Bolzano

In analisi matematica il teorema di Bolzano, detto anche teorema degli zeri per le funzioni continue, assicura l'esistenza di almeno una radice delle funzioni continue reali che assumano segni opposti ai due estremi di un intervallo. Il teorema è stato dimostrato dal matematico e filosofo boemo Bernard Bolzano, da cui il teorema prende il nome.

## Enunciato

Consideriamo una funzione $f:[a,b]\to \mathbb {R}$ continua. Supponiamo che $f(a)$ e $f(b)$ abbiano segno opposto, ovvero
    $f(a)<0<f(b)\quad {\text{(oppure }}f(b)<0<f(a){\text}}$
Allora esiste almeno un punto $x_{0}\in (a,b)$ tale che
    $f(x_{0})=0$.

## Dimostrazione (per assurdo)

Senza perdita di generalità poniamo $f(a)<0<f(b)$. La dimostrazione seguente è una dimostrazione per assurdo. Si suppone quindi che $f(x)$ sia diverso da zero per ogni $x$ nell'intervallo. Si definisce l'insieme seguente $E$:
    $E=\{x\in [a,b]:f(x)<0\}$
L'insieme $E$ non è vuoto, perché contiene $a$, inoltre $E$ è superiormente limitato da $b$ poiché $E\subset [a,b],$ dunque per l'assioma di completezza dei reali esiste $x_{0}=\sup(E)\leq b$.
L'estremo superiore è caratterizzato da queste due proprietà
* $x_{0}$ è un maggiorante di $E$,
* se $y_{0}<x_{0}$ allora $y_{0}$ non è un maggiorante di $E$.
Il valore $f(x_{0})$ è diverso da zero, ed è quindi positivo o negativo. In entrambi i casi si giunge ad un assurdo.
* Se $f(x_{0})<0$, allora per le ipotesi $x_{0}<b$ e per la permanenza del segno sulle funzioni continue esiste un $\delta >0$ tale che per ogni $x$ appartenente all'intorno $]x_{0},x_{0}+\delta [\;\subseteq [a,b]$ vale $f(x)<0$, ma ciò è assurdo perché in contrasto con la prima proprietà dell'estremo superiore;
* Se $f(x_{0})>0$, allora per le ipotesi $x_{0}>a$ e sempre per la permanenza del segno sulle funzioni continue, esiste $\delta >0$ tale che per ogni $x$ appartenente all'intorno $]x_{0}-\delta ,x_{0}[\;\subseteq [a,b]$ vale $f(x)>0$: ciò è in contrasto con la seconda proprietà dell'estremo superiore.

## Dimostrazione (con metodo di bisezione)

Senza perdita di generalità poniamo $f(a)<0<f(b)$. L'idea è quella di costruire una successione reale convergente ad un punto che si verifichi essere proprio lo zero della funzione data.
Si ponga $a_{0}=a$, $b_{0}=b$.
Poi si definisca $c_{0}={\frac {a_{0}+b_{0}}{2}}$.
Se $f(c_{0})=0$ allora non c'è più niente da dimostrare.
Se invece $f(c_{0})<0$ si ponga $a_{1}=c_{0}$ e $b_{1}=b_{0}$; al contrario, se $f(c_{0})>0$, si ponga $a_{1}=a_{0}$ e $b_{1}=c_{0}$.
Al generico passo $k$ si ponga induttivamente $c_{k}={\frac {(a_{k}+b_{k})}{2}}$. Se $f(c_{k})=0$ non c'è più nulla da dimostrare, se $f(c_{k})<0$ si ponga $a_{k+1}=c_{k}$ e $b_{k+1}=b_{k}$, se invece $f(c_{k})>0$ si ponga $a_{k+1}=a_{k}$ e $b_{k+1}=c_{k}$.
Risultano così costruite induttivamente le tre successioni $\{a_{n}\}$, $\{b_{n}\}$ e $\{c_{n}\}$.
Si vede immediatamente che $\{a_{n}\}$ è non decrescente, $\{b_{n}\}$ è non crescente, e nondimeno $a_{0}\leq a_{n}\leq c_{n}\leq b_{n}\leq b_{0}$ per ogni $n$ (quindi per il teorema delle successioni monotone $\displaystyle \lim _{n\rightarrow +\infty }a_{n}$ e $\displaystyle \lim _{n\rightarrow +\infty }b_{n}$ esistono finiti).
Si nota poi che $b_{n}-a_{n}={\frac {b_{n-1}-a_{n-1}}{2}}$, e di conseguenza $b_{n}-a_{n}={\frac {b_{0}-a_{0}}{2^{n}}}$.
Quindi $\displaystyle \lim _{n\ \rightarrow +\infty }(b_{n}-a_{n})=0=\lim _{n\rightarrow +\infty }b_{n}-\lim _{n\rightarrow +\infty }a_{n}$, cioè $\displaystyle \lim _{n\rightarrow +\infty }a_{n}=\lim _{n\rightarrow +\infty }b_{n}$.
Possiamo allora applicare il teorema dei carabinieri e concludere che: $\displaystyle \lim _{n\rightarrow +\infty }a_{n}=\lim _{n\rightarrow +\infty }c_{n}=\lim _{n\rightarrow +\infty }b_{n}$.
Sia allora $c$ tale limite comune. La continuità della funzione $f$ ci assicura che $\displaystyle f(c)=\lim _{n\rightarrow +\infty }f(a_{n})=\lim _{n\rightarrow +\infty }f(b_{n})$.
Nondimeno il fatto che $[a,b]$ sia chiuso assicura che $c\in [a,b]$.
D'altra parte, per costruzione induttiva si ha che $f(a_{n})<0<f(b_{n})$.
Quindi possiamo applicare il teorema di conservazione delle disuguaglianze ed affermare: $\displaystyle f(c)=\lim _{n\rightarrow +\infty }f(a_{n})\leq 0\leq \lim _{n\rightarrow +\infty }f(b_{n})=f(c)$
Quindi $f(c)\leq 0\leq f(c)$, di conseguenza $f(c)=0$.
Siccome poi $a$ e $b$ non sono zeri di $f$, deve essere che $c\in (a,b)$, come volevamo.
Ovviamente il teorema vale anche nell'ipotesi che $f(a)>0>f(b)$, basta applicare il procedimento visto a $-f$, sicuri del fatto che gli zeri di $f$ sono tutti e soli quelli di $-f$.

## Osservazioni

* Nel caso ci si trovi in presenza di una funzione strettamente monotona, il teorema dice che lo zero è unico; se non si fa tale ipotesi gli zeri possono essere più di uno.
* Il teorema assicura l'esistenza dello zero, quindi è solo una condizione sufficiente ma non necessaria. Basti pensare alla funzione $f(x)=x^{2}$, che non assume valori discordi in $x=\pm 1$ ma comunque ha uno zero in $x=0$
* Il teorema vale in ipotesi molto più generali sull'insieme di definizione di $\ f$: basta che esso sia uno spazio topologico connesso.