To this end, write ℓ=f(1), and notice that, since 1≤f(n)/n≤ℓ, there exists a minimal positive integer k≤ℓ such that ⌊f(n)/n⌋=k for infinitely many positive integers n. Let A denote the set of all these positive integers, let B={n:n∈A and 2n∈/A}, and let A′=A∖B.
We now show that B is finite, so A′ is infinite. Indeed, f(2n)≤2f(n) and ⌊f(2n)/(2n)⌋≤⌊2f(n)/(2n)⌋=k imply ⌊f(2n)/(2n)⌋<k for all n in B, so B is finite by minimality of k.
Next, for n in A′, write
f(2n)2f(n)=2nf(2n)nf(n)<1+k1,
to deduce that the positive integer 2f(n)/f(2n) is less than 2, so f(2n)=2f(n).
Further, fix a positive integer a and notice, as before by minimality of k, that f(a+n)≥k(a+n) for all but finitely many n in A′. Hence
f(a+n)f(a)+f(n)<k(a+n)f(a)+(k+1)n,
for all but finitely many n in A′, so (f(a)+f(n))/f(a+n) is a positive integer less than 2 for all but finitely many n in A′, i.e., f(a+n)=f(a)+f(n) for all but finitely many n in A′.
Finally, fix two positive integers a and b. By the preceding, f(a+n)=f(a)+f(n), f(b+n)=f(b)+f(n), and (f(a+n)+f(b+n))/f(a+b+2n) is a positive integer for all but finitely many n in A′. Consequently,
f(a+b)+f(2n)f(a)+f(b)+2f(n)=f(a+b)+f(2n)f(a)+f(b)+f(2n)
is a positive integer for all but finitely many n in A′, so the latter must equal 1 for all but finitely many n in A′, i.e., f(a+b)=f(a)+f(b). This ends the proof.