Zipf extends to infinitely many items iff ; then
ProvedZipfLaw.zipf_infinite_extensionLet . Then:
- converges if and only if ;
- if , then as , where is Riemann's zeta function;
- if , then as .
So the generalized Zipf distribution can be extended to infinitely many items exactly when , and then its normalizing constant is (the zeta distribution, or Lotka's law). This is the goal theorem of the mission.
Formalization Note. Item 2 is stated in against Mathlib's riemannZeta, which is defined on all of by analytic continuation. Summability is that of over .
import Mathlib import Definitions.Def_ZipfLaw_Defs
namespace ZipfLaw
theorem zipf_infinite_extension (s : ℝ) (hs : 0 ≤ s) :
(Summable (fun k : ℕ => 1 / ((k : ℝ) + 1) ^ s) ↔ 1 < s) ∧
(1 < s → Filter.Tendsto (fun N : ℕ => ((genHarmonic N s : ℝ) : ℂ)) Filter.atTop
(nhds (riemannZeta s))) ∧
(s ≤ 1 → Filter.Tendsto (fun N : ℕ => genHarmonic N s) Filter.atTop Filter.atTop) := by sorry
end ZipfLawRead-back
What the Lean code literally says, in plain math · Aristotle (Harmonic) - non-blind, same agent as the drafter
Non-blind read-back — not independent testimony. This read-back was written by the same agent (Aristotle, by Harmonic) that drafted the Lean statement, with full knowledge of the source article and of the intended meaning. It is not a blind audit by an independent reader, and no reviewer should treat it as one. Please compare it against the Lean code yourself.
For every real , all three of the following hold:
- the family , (real power), is summable if and only if ;
- if , then the complex numbers (real, cast to ) converge as to , Mathlib's Riemann zeta function evaluated at the complex number ;
- if , then as (Lean
Tendsto … atTop atTop).
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.