We show by induction that for any integer n>1, f(n) is uniquely determined by the value of f(1), f(2), …, f(n−1), and 2n≤f(n)≤n.
For n=2, f(2)=1, the claim is true.
Assume that for any k, 1≤k<n (n≥3), f(k) is uniquely determined, and 2k≤f(k)≤k, then 1≤2n−1≤f(n−1)≤n−1, and 1≤n−f(n−1)≤n−1, hence by induction hypothesis, the value of f(f(n−1)) and f(n−f(n−1)) is determined, and the value of f(n), by definition, is
f(n)=f(f(n−1))+f(n−f(n−1)),
which is uniquely determined. Furthermore, we have
21f(n−1)≤f(f(n−1))≤f(n−1),21(n−f(n−1))≤f(n−f(n−1))≤n−f(n−1).
Equality above implies 2n≤f(n)≤f(n−1)+(n−f(n−1))=n. The claim is also true for n. By induction, we proved that there exists a unique function f:N∗→N∗ satisfying the required properties, and 2n≤f(n)≤n.
Next, we show by induction that for any positive integer n, we have
f(n+1)−f(n)∈{0,1}.
When n=1, this is true.
Assume that it is true for n≤k. By the recurrence,
f(k+2)−f(k+1)=(f(f(k+1))+f(k+2−f(k+1)))−(f(f(k))+f(k+1−f(k)))=(f(f(k+1))−f(f(k)))+(f(k+2−f(k+1))−f(k+1−f(k))).
By induction hypothesis, f(k+1)−f(k)∈{0,1}.
If f(k+1)=f(k)+1, since 1≤f(k)≤k, it follows,
from above and induction hypothesis, that
f(k+2)−f(k+1)=f(f(k)+1)−f(f(k))∈{0,1}.
If f(k+1)=f(k), since 1≤k+1−f(k)≤k, it follows
from above and the induction hypothesis that
f(k+2)−f(k+1)=f(k+2−f(k))−f(k+1−f(k))∈{0,1}.
Thus, the claim is true for n=k+1. By induction, it is true for any positive integer n.
Finally, we show by induction that for any positive integer m, we have f(2m)=2m−1.
For m=1, the result is clear.
Assume that the result is true for m=k, i.e., f(2k)=2k−1, consider the case for m=k+1.
Assume on the contrary that f(2k+1)=2k, since f(2k+1)≥2k, and f(2k+1) is an integer, we have f(2k+1)≥2k+1. Since f(1)=1, by the previous claim, let n be the smallest integer such that f(n)=2k+1, we have n≤2k+1, by the minimality of n, f(n−1)=2k. Notice that n−2k≤2k, we have
2k+1=f(n)=f(f(n−1))+f(n−f(n−1))=f(2k)+f(n−2k)≤2f(2k)=2k,
which is a contradiction. It follows that f(2k+1)=2k, the result is also true for m=k+1. By induction, f(2m)=2m−1 for any positive integer m.
f(2m)=2m−1 for integer m≥2.