Is this a proof for Heine-Borel Theorem in $R$ and if it is why doesn't this work for open sets? $[a,b]$ has an open cover then every point of this interval is covered in an open set. Since a is in an open set some neighborhood of a is a subset of that set. Say $[a,a+r_1) \subset O_i $ similarly $[a+r_1,a+r_1+r_2)\subset O_j$. Going like this we can reach a $r_n$ such that $b \in [a+r_1...r_n,a+r_1....r_{n+1})$ Radius of these neighborhoods are real numbers greater than zero. $M=min(r_1,r_2...r_{n+1}))$ It is obvious that  $n+1 \le \frac{b-a}{M}$ Then n is clearly finite and even if these neighborhoods belong to different open sets number of open sets are finite then every open cover has a finite subcover. Then [a,b] is compact.
It is really easy to show that a compact subset of R is closed and bounded. 
My argument seems to be correct but shouldn't this work for intervals (a,b) or [a,b)? 
Some say that a sequence of real numbers doesn't add up to any number. But since [a,b] is closed a neighborhood of b is also in those open sets. What I mean is we can always add whatever is missing in this case.
 A: The comments have already explained where your argument breaks down; here's an example of an open cover of a non-compact set, with no finite subcover, which hopefully makes things clear:
Consider the following sequence of open intervals: $U_n=(0, 1-{1\over n+1})$. Clearly $\{U_n: n\in\mathbb{N}\}$ is an open cover of $(0, 1)$; however, the corresponding $r$-values are $$r_1={1\over 2}, r_{n+1}={1\over n+1}-{1\over n+2}.$$ It's easy to see (and you should check this) that while $\lim_{n\rightarrow\infty}\sum^n_1r_i=1$, no finite sum of the $r_i$s equals or exceeds $1$. This is why $\{U_n\}$ has no finite subcover.
A: Heine Borel Theorem was discovered much later than other forms of completeness of real number system and it is a very powerful and non-intuitive result about closed intervals. Therefore it is reasonable to expect that it does not have an obvious or trivial proof.
Your approach fails primarily because it is not guaranteed that the numbers $a,r_{1}, r_{2}, \ldots, r_{n}$ add up to something more than $b$. Moreover this kind of result fails for open intervals. Let $I = (0, 1)$ and let $I_{x} = (x/2, 3x/2)$ so that $ x\in I_{x}$ and the set of all intervals $I_{x}$ where $x \in (0, 1)$ forms an open cover for $I$. Clearly if we take any finite number of intervals $I_{x}$, say $I_{x_{1}}, I_{x_{2}}, \ldots, I_{x_{n}}$ and we reorder these intervals so that $x_{1}$ is the least among $x_{i}$'s then clearly these finite number of intervals don't cover any point lying in $(0, x_{1}/2) \subseteq I = (0, 1)$.

Finding proofs for Heine Borel is not too difficult. As I mentioned it is equivalent to the completeness property of real numbers, we can just pick any property and try to derive Heine Borel Theorem.
Easiest approach is via Dedekind's theorem or via supremum principle. I give an approach based on Bolzano Weierstrass Theorem.
There is a two step process involved. First we reduce any cover to a countable subcover and then reduce countable cover to a finite subcover. The first step holds for any set of real numbers and is known as:
Lindelof Covering Theorem: If $A$ is a set of real numbers and $\mathcal{C}$ is a collection of open sets $S$ such that for each $x \in A$ there is an $S \in \mathcal{C}$ such that $x \in S$, then there is a countable collection of sets $\mathcal{D} = \{S_{1}, S_{2}, \ldots\}\subseteq \mathcal{C}$ such that each point $x \in A$ lies in some $S_{k}$.
The idea is to start with the countable collection $\mathcal{B} = \{B_{1}, B_{2}\,\ldots\}$ where $B_{k}$ is an interval of type $(c - h, c + h)$ where $c, h$ are rational and $h$ is positive. By the countability of rationals it is clear that $\mathcal{B}$ is countable.
Now let $x \in A$ so that there is an open set $S \in \mathcal{C}$ such that $x \in S$. Now $S$ is open so there is a neighborhood $I$ of $x$ with $I \subseteq S$. It is possible to choose this $I$ of the form $B_{k}$ (why??). Hence for each $x \in A$ there is a $B_{k}\in \mathcal{B}$ such that $x \in B_{k}\subseteq S \in \mathcal{C}$. Now we can see that $A$ is covered by a countable number of $B_{k}$ and we can choose corresponding sets $S$ from $\mathcal{C}$ to form a countable subcover for $A$.

Now let $A = [a, b]$ and by previous argument if $\mathcal{C}$ is an open cover for $A$ then there is a countable sub-cover for $A$. Let $S_{1}, S_{2}, \ldots $ from $\mathcal{C}$ cover $A$.
Assume on the contrary that no finite number of $S_{i}$ covers $A$. Thus we have a sequence $x_{n}$ of points (and we can choose them to be distinct) such that $x_{n} \notin \bigcup_{i = 1}^{n}S_{i}$. These points $x_{n}$ form an infinite set and they lie in $[a, b]$ so by Bolzano Weierstrass theorem they have an accumulation point $c \in [a, b]$. Clearly $c$ lies in some $S_{k}$. But then since $c$ is an accumulation point and $S_{k}$ is open there is a point $x_{n}$ with $n > k$ such that $x_{n} \in S_{k} \subseteq \bigcup_{i = 1}^{n}S_{i}$. This is the contradiction we need to prove that a finite number of $S_{i}$ cover $A = [a, b]$.
The above proof clearly demonstrates why Heine Borel Theorem does not hold if the set is not "closed and bounded". Clearly if the set is unbounded the Bolzano Weierstrass can't be applied to guarantee the accumulation point $c$ of $x_{i}$'s. If it is not closed then we can't guarantee that $c$ lies in the set being considered.
