Here is the question:
Let $b_n$ be a sequence of positive numbers such that $b_n \rightarrow 0$. Suppose $|a_n - a_m| \leq b_n$ for all $m \geq n$. Prove that $a_n$ is Cauchy.
Attempt at a solution: Since $b_n \rightarrow 0$ and $b_n > 0$ for all $n$, we know that $b_n < \epsilon$ for given $\epsilon > 0$. Since $|a_n - a_m| \leq b_n$ for all $m \geq n$, $|a_n - a_m| < \epsilon$ for all $m \geq n$. Let $N \leq n$. Then $N \leq m$, so for all $m \geq n \geq N$, $|a_n - a_m| < \epsilon$, which fulfills the definition of a Cauchy sequence.
I'm not entirely sure if this proof is correct, though I am unsure of where (if anywhere) I went wrong.
You've suddenly moved from using $n$ as an unrestricted value ("for all $n$") to using it in ways that are evidently not universal ($b_n<\epsilon$) without properly stating so. Also, the most obvious interpretation (for someone who doesn't know how to do the proof themselves and is therefore trying to learn it from your proof) would be that you mean a fixed value of $n$, dependent only on $\epsilon$.
Okay. So now we know that for any $m$ greater than that fixed $n, |a_n−a_m|<\epsilon$.
Really? I can just pick a value $N \le n$ and this works?. Well, I pick $N = 0$. Now we have two ways of interpreting the next sentence:
$N$ is the linch-pin of the Cauchy condition. It must be picked with care to satisfy its purpose. It should be picked based on $\epsilon$ right at the start.
Fortunately $b_n \to 0$ means more than $b_n < \epsilon$ for some $n$. The definition of convergence here (using that $b_n > 0$ for all $n$) is
"Given $\epsilon > 0$, there is an $N$ such that for all $n \ge N, b_n < \epsilon$".
Now, $N$ is the fixed value, and $n$ still varies freely over its restricted domain.