Why natural numbers don't have supremum? As I know the definition of supremum for set $ S$ is the lowest number that is greater or equal than all the members of $S$.
This means : $\forall \: m\in R \:\:m<\sup S,\exists\: s\in S \rightarrow s> x$.
Based on this definition we have supremum for all finite subset of $\mathbb N$.
For example the $\sup S$ for $S = \{1,2,\dots, k\}$ is $k$.
Is this right?
 A: Let's review several senses in which $\Bbb R$ is complete:

*

*Each set with an upper bound has a least upper bound This works in $\Bbb N$ because $\Bbb N\subseteq\Bbb R$, so if $S\subseteq\Bbb N$ then $S\subseteq\Bbb R$. Narrowly interpreted, your question boils down to overlooking the bold part; broadly interpreted viz. the comments, other respects in which $\Bbb R$ is complete are worth comparing with $\Bbb N$.

*Each Dedekind cut is generated by a real number Of course, they're not in general generated by natural numbers. (You could, I suppose, think of naturals as something similar to Dedekind cuts on themselves, but you'd gain nothing from it.)

*Each Cauchy sequence converges to a value in $\Bbb R$ Any Cauchy sequence in $\Bbb N$ is eventually constant, converging to some natural number.

*Intersection of interval nested, in the way the nested intervals theorem specifies, is a $1$-element set Since naturals differ by at least $1$ (crucial also in the below discussion of IVT), you eventually can't nest proper-subset intervals further.

*Monotone convergence In analogy with the least-upper-bound point above, this follows because every sequence in $\Bbb N$ is also in $\Bbb R$. Bolzano-Weierstrass Ditto.

*Intermediate value theorem This fails for $\Bbb N$ because if $f(a)<0<f(b)$ then there might not be values between $a,\,b$.

