Bohr–Mollerup Theorem

f(1)=1f(1) = 1 and f(x+1)=x f(x)f(x+1) = x\,f(x) do not pin down the continuous extension of the factorial — the impostor Γ(x)(1+asin⁡2πx)\Gamma(x)(1 + a\sin 2\pi x) matches Γ\Gamma at every integer and survives. Watch the secant test expose log-convexity as Γ\Gamma's true fingerprint.

f(1)=1f(1) = 1
f(x+1)=x f(x)(x>0)f(x+1) = x\,f(x) \quad (x > 0)
ln⁡f is convex on (0,∞)\ln f \text{ is convex on } (0,\infty)
f=Γf = \Gamma

Part of these learning paths

Examples & Exercises

Let f:(0,∞)→(0,∞)f: (0,\infty) \to (0,\infty) satisfy f(1)=1f(1) = 1 and f(x+1)=x f(x)f(x+1) = x\,f(x) for all x>0x > 0. Prove that f(n)=(n−1)!f(n) = (n-1)! for every positive integer nn.

f(1)=1,f(x+1)=x f(x)⟹f(n)=(n−1)!f(1) = 1, \qquad f(x+1) = x\,f(x) \quad \Longrightarrow \quad f(n) = (n-1)!
At a=0.3a = 0.3, x0=0.6x_0 = 0.6: the impostor ln⁡fa\ln f_a has secant violation ≈0.297>0\approx 0.297 > 0 (convexity broken), while ln⁡Γ\ln\Gamma has violation below 10−910^{-9} (convexity holds).
Show proof
  1. Base case: f(1)=1=0!f(1) = 1 = 0! — given by hypothesis.
  2. Inductive step: assume f(k)=(k−1)!f(k) = (k-1)!. Applying the recurrence at x=kx = k gives f(k+1)=k⋅f(k)=k⋅(k−1)!=k!f(k+1) = k \cdot f(k) = k \cdot (k-1)! = k!.
  3. By mathematical induction, f(n)=(n−1)!f(n) = (n-1)! for every positive integer nn.
  4. The lesson: this proof uses only the first two conditions — ff is not determined at all between the integers. Indeed the impostor fa(x)=Γ(x)(1+asin⁡2πx)f_a(x) = \Gamma(x)(1 + a\sin 2\pi x) matches Γ\Gamma exactly at every integer nn (since sin⁡2πn=0\sin 2\pi n = 0) while differing wildly between them. The third condition (log-convexity) is what closes this gap.

Use Hölder's inequality to prove that Γ\Gamma is log-convex: show φ(x)=ln⁡Γ(x)\varphi(x) = \ln\Gamma(x) is convex on (0,∞)(0,\infty).

Γ(tx+(1−t)y)≤Γ(x)t Γ(y)1−t(0<t<1,  x,y>0)\Gamma(tx + (1-t)y) \le \Gamma(x)^t\,\Gamma(y)^{1-t} \qquad (0 < t < 1,\; x, y > 0)
Ho¨lder: ∫FG≤(∫Fp)1/p(∫Gq)1/q,1p+1q=1\text{H\"older: } \int FG \le \left(\int F^p\right)^{1/p}\left(\int G^q\right)^{1/q}, \quad \frac1p + \frac1q = 1
At a=0.3a = 0.3, x0=0.6x_0 = 0.6: the impostor ln⁡fa\ln f_a has secant violation ≈0.297>0\approx 0.297 > 0 (convexity broken), while ln⁡Γ\ln\Gamma has violation below 10−910^{-9} (convexity holds).
Show proof
  1. Let 0<t<10 < t < 1, x,y>0x, y > 0, and z=tx+(1−t)yz = tx + (1-t)y. Split the integrand of Γ(z)=∫0∞sz−1e−s ds\Gamma(z) = \int_0^\infty s^{z-1} e^{-s}\,ds: sz−1e−s=(sx−1e−s)t⋅(sy−1e−s)1−ts^{z-1} e^{-s} = \left(s^{x-1} e^{-s}\right)^t \cdot \left(s^{y-1} e^{-s}\right)^{1-t} — checking exponents, t(x−1)+(1−t)(y−1)=z−1t(x-1) + (1-t)(y-1) = z - 1 and the exponent of e−se^{-s} is t+(1−t)=1t + (1-t) = 1.
  2. Set F=(sx−1e−s)tF = \left(s^{x-1} e^{-s}\right)^t, G=(sy−1e−s)1−tG = \left(s^{y-1} e^{-s}\right)^{1-t} and apply Hölder with exponents p=1tp = \frac1t, q=11−tq = \frac{1}{1-t} (so 1p+1q=1\frac1p + \frac1q = 1): ∫0∞FG≤(∫0∞Fp)1/p(∫0∞Gq)1/q\int_0^\infty FG \le \left(\int_0^\infty F^p\right)^{1/p} \left(\int_0^\infty G^q\right)^{1/q}.
  3. But Fp=sx−1e−sF^p = s^{x-1} e^{-s} and Gq=sy−1e−sG^q = s^{y-1} e^{-s}, so the right side is Γ(x)t Γ(y)1−t\Gamma(x)^t\,\Gamma(y)^{1-t}. Hence Γ(tx+(1−t)y)≤Γ(x)t Γ(y)1−t\Gamma(tx + (1-t)y) \le \Gamma(x)^t\,\Gamma(y)^{1-t}; taking logs gives φ(tx+(1−t)y)≤t φ(x)+(1−t) φ(y)\varphi(tx + (1-t)y) \le t\,\varphi(x) + (1-t)\,\varphi(y), so φ=ln⁡Γ\varphi = \ln\Gamma is convex.
  4. Numerical check: the secant test above checks the very definition of convexity (the chord lies above the graph). The violation for ln⁡Γ\ln\Gamma is below 10−910^{-9} — zero, agreeing with the proof.

Prove the Bohr–Mollerup theorem: if f:(0,∞)→(0,∞)f: (0,\infty) \to (0,\infty) satisfies (i) f(1)=1f(1) = 1, (ii) f(x+1)=x f(x)f(x+1) = x\,f(x), and (iii) ln⁡f\ln f is convex, then f=Γf = \Gamma.

xln⁡(n−1)≤φ(n+x)−φ(n)≤xln⁡n(0<x<1, n≥2)x\ln(n-1) \le \varphi(n+x) - \varphi(n) \le x\ln n \qquad (0 < x < 1,\ n \ge 2)
(n−1)x(n−1)!∏k=0n−1(x+k)≤f(x)≤nx(n−1)!∏k=0n−1(x+k)\frac{(n-1)^x (n-1)!}{\prod_{k=0}^{n-1}(x+k)} \le f(x) \le \frac{n^x (n-1)!}{\prod_{k=0}^{n-1}(x+k)}
At a=0.3a = 0.3, x0=0.6x_0 = 0.6: the impostor ln⁡fa\ln f_a has secant violation ≈0.297>0\approx 0.297 > 0 (convexity broken), while ln⁡Γ\ln\Gamma has violation below 10−910^{-9} (convexity holds).
Show proof
  1. Set φ=ln⁡f\varphi = \ln f. We use slope monotonicity of convex functions: for a<b<ca < b < c, φ(b)−φ(a)b−a≤φ(c)−φ(b)c−b\frac{\varphi(b) - \varphi(a)}{b-a} \le \frac{\varphi(c) - \varphi(b)}{c-b}. For 0<x<10 < x < 1 and integer n≥2n \ge 2, applying this to n−1<n<n+xn-1 < n < n+x and n<n+x<n+1n < n+x < n+1 gives φ(n)−φ(n−1)≤φ(n+x)−φ(n)x≤φ(n+1)−φ(n)\varphi(n) - \varphi(n-1) \le \frac{\varphi(n+x) - \varphi(n)}{x} \le \varphi(n+1) - \varphi(n).
  2. From (i) and (ii) (problem 1), f(n)=(n−1)!f(n) = (n-1)!, so φ(n)−φ(n−1)=ln⁡(n−1)\varphi(n) - \varphi(n-1) = \ln(n-1) and φ(n+1)−φ(n)=ln⁡n\varphi(n+1) - \varphi(n) = \ln n. Multiplying by xx gives the key inequality xln⁡(n−1)≤φ(n+x)−φ(n)≤xln⁡nx\ln(n-1) \le \varphi(n+x) - \varphi(n) \le x\ln n.
  3. Exponentiating gives (n−1)x≤f(n+x)f(n)≤nx(n-1)^x \le \frac{f(n+x)}{f(n)} \le n^x, i.e. (n−1)x(n−1)!≤f(n+x)≤nx(n−1)!(n-1)^x (n-1)! \le f(n+x) \le n^x (n-1)!. Iterating (ii) nn times gives f(n+x)=x(x+1)⋯(x+n−1) f(x)=f(x)∏k=0n−1(x+k)f(n+x) = x(x+1)\cdots(x+n-1)\,f(x) = f(x)\prod_{k=0}^{n-1}(x+k); dividing through yields (n−1)x(n−1)!∏k=0n−1(x+k)≤f(x)≤nx(n−1)!∏k=0n−1(x+k)\frac{(n-1)^x (n-1)!}{\prod_{k=0}^{n-1}(x+k)} \le f(x) \le \frac{n^x (n-1)!}{\prod_{k=0}^{n-1}(x+k)}.
  4. The ratio of the upper to the lower bound is (nn−1)x→1\left(\frac{n}{n-1}\right)^x \to 1 as n→∞n \to \infty. Writing LnL_n and UnU_n for the bounds, Ln≤f(x)≤UnL_n \le f(x) \le U_n and Un−Ln=Ln((nn−1)x−1)≤f(x)((nn−1)x−1)→0U_n - L_n = L_n\left(\left(\frac{n}{n-1}\right)^x - 1\right) \le f(x)\left(\left(\frac{n}{n-1}\right)^x - 1\right) \to 0; by the squeeze theorem both bounds converge to the same limit G(x)G(x), and f(x)=G(x)f(x) = G(x) for 0<x<10 < x < 1.
  5. Finally extend by (ii): writing x>0x > 0 as x=y+mx = y + m with 0<y≤10 < y \le 1 and integer m≥0m \ge 0, f(x)=y(y+1)⋯(y+m−1) f(y)f(x) = y(y+1)\cdots(y+m-1)\,f(y), and since Γ\Gamma satisfies the same recurrence, the agreement on (0,1](0,1] extends to all x>0x > 0: f=Γf = \Gamma.
  6. Honest label: the identification G(x)=Γ(x)G(x) = \Gamma(x) is Gauss's product formula for Γ\Gamma; its proof (via (1−t/n)n↗e−t(1-t/n)^n \nearrow e^{-t} and the beta integral) is sketched at idea level on this site, not proved here.

10. Integration