Maths WorkshopMaths problems with full solutions
Exercise 1943Calculus › Single-variable calculus › Continuity › Functional equationsOlympiadAdded 4 Nov 2026

An inequality as a functional equation (IMO 1977)

#IMO#natural numbers#induction#monotonicity

Statement

Let f:N∗→N∗f:\mathbb{N}^*\to\mathbb{N}^* satisfy f(n+1)>f(f(n))f(n+1)>f(f(n)) for every positive integer nn. Prove that f(n)=nf(n)=n for all nn.

Hint

Prove by induction on nn the statement P(n)P(n): "f(k)≥nf(k)\ge n for all k≥nk\ge n". Deduce that f(n)≥nf(n)\ge n, then that ff is strictly increasing, and finally compare.

Show solutionHide solution

Solution

Claim. P(n)P(n): for every k≥nk\ge n, f(k)≥nf(k)\ge n.

*Base.* P(1)P(1): all values of ff are at least 11.

*Step.* Assume P(n)P(n). Let k≥n+1k\ge n+1. Then k−1≥nk-1\ge n, so f(k−1)≥nf(k-1)\ge n by P(n)P(n). Applying P(n)P(n) again to the argument f(k−1)≥nf(k-1)\ge n: f(f(k−1))≥nf(f(k-1))\ge n. Therefore
f(k)>f(f(k−1))≥n,f(k)>f(f(k-1))\ge n,
so f(k)≥n+1f(k)\ge n+1. This proves P(n+1)P(n+1).

Consequence 1. Taking k=nk=n in P(n)P(n): f(n)≥nf(n)\ge n for all nn.

Consequence 2: ff is strictly increasing. Apply Consequence 1 to m=f(n)m=f(n): f(f(n))≥f(n)f(f(n))\ge f(n). Hence f(n+1)>f(f(n))≥f(n)f(n+1)>f(f(n))\ge f(n).

Conclusion. Suppose f(n)≥n+1f(n)\ge n+1 for some nn. Since ff is increasing, f(f(n))≥f(n+1)f(f(n))\ge f(n+1), contradicting f(n+1)>f(f(n))f(n+1)>f(f(n)). So f(n)≤nf(n)\le n. Together with f(n)≥nf(n)\ge n: f(n)=nf(n)=n.

Verification. f(n)=nf(n)=n: n+1>nn+1>n ✓.

Lesson. For f:N→Nf:\mathbb{N}\to\mathbb{N} with an inequality, prove a *lower bound by induction* (here "f(k)≥nf(k)\ge n for k≥nk\ge n"), then show monotonicity, which lets you "cancel" ff from both sides of an inequality.