Lemma 1. For every natural number x, {fn(x)} is unbounded.
Proof. For every natural number y,
ff(y)(x)≥y+f(x)−1,
So, send y to the infinity, we are done.
Lemma 2. All the terms of the sequence (fn(x)) are distinct.
Proof. If i<j and fi(x)=fj(x) then this sequence becomes periodic which contradicts the first lemma.
Back to our problem, by the first lemma f(1)≥2, set y=1,k=f(1), then
1≥1+f(x)−fk−1(f(x))≥0→fk−1(f(x))∈{f(x),f(x)+1}.
We want to prove that f(1)=2. Assume the contrary, by lemma 2, there is no k such that fk−1(f(x))=f(x), so we have
∀x∈N:fk−1(f(x))=f(x)+1(1)
Set t=k−1 then 1 tells us that for each a in the range of f, we have ft(a)=a+1. If we use this for a+1 we have f2t(a)=ft(a+1)=a+2. Therefore for every natural number n we have
fnt(a)=a+n
Hence {fnt(a)} which is a proper subset of fm(a) contains every big enough natural number. This contradicts the fact that members of fm(a) are distinct. So we should have f(1)=2. Now 1 implies that f(f(x))=x+1, by induction we have f(x)=x+1.