# Topological proof of Bolzano-Weierstrass

Below is my attempt to prove the topological version of the Bolzano-Weierstrass Theorem. Is it an effective proof? I'd appreciate any comments on it. The book gave a hint to use a nested sequence of half-intervals. The idea is pretty intuitive...I'll explain it if anyone would like me to.

Bolzano-Weierstrass Theorem: "Every bounded, infinite subset of $\mathbb{R}$ has a limit point."

"Let $A$ be a bounded, infinite subset of $\mathbb{R}$. Then since $A$ is bounded, it is a subset of some closed interval $[a,b]$. Take a sequence of half-intervals of $[a,b]$, $\{[a_n,b_n]\}_{n=1}^\infty$ where $[a_1,b_1]=[a,b]$. By Cantor's Nested Intervals Theorem $\displaystyle\bigcap_{n=1}^\infty [a_n,b_n]$ is nonempty and since $\mbox{diam}([a_n,b_n]) \to 0$ as $n \to \infty$, the intersection contains exactly one element, say $p$. Since $p \in \displaystyle\bigcap_{n=1}^\infty [a_n,b_n]$ and every $[a_n,b_n]$ contains infinitely many elements of $A$*, so does $(a_n,b_n)$. Since $\mbox{diam}(a_n,b_n) \to 0$ as $n \to \infty$, every open set containing $p$ also contains some $(a_n,b_n)$, so $p$ is a limit point of $A$."

*Intuitively, if we cram an infinite number of points into a bounded interval, they will be 'dense' in that interval (I haven't formally learned what 'dense' means yet), but how do we prove it?

-
A set $S$ of points is dense in a metric space $(M, d)$ if for every $x \in M$ and for every $\epsilon > 0$ there exists a point $s \in S$ with $d(x, s) < \epsilon$. Your last statement is false (consider the points $1, \frac{1}{2}, \frac{1}{3}, ...$ in the interval $[0, 1]$). –  Qiaochu Yuan May 20 '12 at 1:25
You actually don' say anything about the sequence $([a_n,b_n])$ apart from what $[a_1,b_1]$ is. You have to fill that gap. –  Michael Greinecker May 20 '12 at 1:26
Well, intuitively, they will "bunch up", but it'd be bad to use the word dense here as it has a more special meaning. –  rschwieb May 20 '12 at 1:26

You’re missing one crucial aspect of dividing the intervals in two at each stage. Let’s say that you currently have $[a_n,b_n]$, and its intersection with $A$ is infinite. Let $c_n$ be the midpoint of $[a_n,b_n]$. Then at least one of the sets $A\cap[a_n,c_n]$ and $A\cap[c_n,b_n]$ must be infinite. If $A\cap[a_n,c_n]$ is infinite, let $a_{n+1}=a_n$ and $b_{n+1}=c_n$; otherwise, let $a_{n+1}=c_n$ and $b_{n+1}=b_n$. Now you know that $A\cap[a_{n+1},b_{n+1}]$ is infinite, and therefore so is $(a_{n+1},b_{n+1})$.
Without some such argument, you can’t in fact be sure that every $[a_n,b_n]$ has an infinite intersection with $A$; in fact, if you make one bad choice, all of your smaller intervals will contain only finitely many points of $A$.
Choose so that $A\cap[a_n,b_n]$ is infinite. It is not hard to argue this is possible at each step.