Theorem 8.19 — Bohr–Mollerup characterization of
ProvedRudin.ch08_bohr_mollerupanalysisspecial-functions
If is positive on , , , and is convex, then .
Preamble
import Mathlib import Definitions.Def_Rudin_ch08_fourier open Filter Topology
Formal statement
namespace Rudin
/-- Rudin, Theorem 8.19 (Bohr–Mollerup): a positive function `f` on `(0, ∞)` with
`f 1 = 1`, `f (x + 1) = x f x` and `log f` convex is the Gamma function. -/
theorem ch08_bohr_mollerup (f : ℝ → ℝ) (hpos : ∀ x : ℝ, 0 < x → 0 < f x)
(hone : f 1 = 1) (hrec : ∀ x : ℝ, 0 < x → f (x + 1) = x * f x)
(hconv : ConvexOn ℝ (Set.Ioi (0 : ℝ)) (fun x => Real.log (f x))) :
∀ x : ℝ, 0 < x → f x = Real.Gamma x := by sorry
end RudinSource
Walter Rudin, Principles of Mathematical Analysis, 3rd edition, McGraw-Hill, 1976, Chapter 8, p. 193, Theorem 8.19
Read-back
What the Lean code literally says, in plain math · Aristotle (Harmonic)
Let satisfy:
- for every ;
- ;
- for every ;
- is convex on the open half-line .
Then for every real .
The conclusion is restricted to positive arguments: no claim is made about at , where the hypotheses impose nothing either. The logarithm is the real logarithm (value on non-positive arguments), but on the positivity hypothesis makes it the genuine logarithm of .
Human review
Confirmed by the mission captain (proposal self-audit).