If $A\subset\mathbb{R}$ is non-empty and bounded above in $\mathbb{R}$, then $A$ has a supremum in $\mathbb{R}$.
This is the definition of a supremum I have been given:
$$\alpha=\sup{(A)}\Longleftrightarrow \forall\varepsilon>0\,\exists a\in A|\alpha-\varepsilon<a\leq\alpha$$
Suppose that the supremum of $A$ is not in $A$. Since $\alpha$ is an upper bound for $A$, then $\alpha>a$ for all $a\in A$ so $\alpha-a>0$.
Now, here is where I am confused.
Choose $\varepsilon=\alpha-a>0$. Then there exists an $a\in A$ such that
$$\alpha-(\alpha-a)=a<a\leq\alpha $$
Now I get that $a<a$, which is false. What is going on here? This was an arbitrary set that had a supremum. So from this contradiction, does every supremum of a set have to be in the set?
The definition misses an important part. The number $\alpha$ is a supremum of the set $A$ when
Without the first condition, every number less than or equal to $0$ would be a supremum of $(-\infty,0)$.
Where are you wrong? It is true that you can choose $\varepsilon=\alpha-a$, where $a\in A$ is fixed, but then condition 2 tells you that there exists some $a'\in A$ such that $$ \alpha-\varepsilon<a'\le \alpha $$ which boils down to saying that $a$ is not the maximum of $A$.