rh/pedagogical-breakdown
Pedagogical Breakdown: APO Theory & Lean Proofs
NoteA step-by-step primer on the Information-Geometric approach to the Riemann Hypothesis and the structure of its formal Lean 4 verification.
Pedagogical Breakdown: APO Theory & Lean Proofs
Lean 4 Formalization of APO-RH Proven Results | Claude
Part 1: What the Paper Says
The Core Question
The Riemann Hypothesis asks: do all non-trivial zeros of the Riemann zeta function lie on the line ?
We know zeros can only live in the strip . The functional equation already forces a symmetry: if is a zero, so is . So zeros come in pairs reflected across the critical line . RH says those pairs always collapse to a single point — meaning every zero is its own mirror image, which only happens when exactly.
Step 1: Build a Probability Distribution from Zeta
For any real , define a probability distribution over the natural numbers:
This is well-defined because converges for and is positive there, so the weights sum to exactly 1. Think of it as: “how much does the integer contribute to the zeta function at ?” This is verified in the paper as Theorem II.1 and verified in Lean as zetaDistribution_sum_one.
Step 2: Build a Geometric Embedding
Take the square root of each probability weight:
This embeds the distribution into an infinite-dimensional unit sphere, because . Now each value of is a unit vector in . This is the square-root embedding, verified as sqrtEmbedding_norm_one.
Step 3: Define the Recognition Operator
Compare two unit vectors and by their inner product:
This computes to:
This is a similarity measure between two values of . It tells you how “arithmetically similar” two zeta arguments are. Key verified properties:
- — symmetric
- — perfect self-similarity
- — bounded, by Cauchy-Schwarz
Step 4: Lift to the Completed Zeta Function
The recognition operator only works for real . To reach the critical strip where zeros live, you upgrade to the completed zeta function , which satisfies the functional equation and is defined everywhere (as a meromorphic function with poles only at 0 and 1).
The completed observable becomes:
Step 5: The Invariance
The functional equation immediately gives:
The observable is blind to the reflection . This is verified as completedObs_Z2_invariant.
Step 6: Schwarz Reflection
The completed zeta function satisfies — conjugating the input conjugates the output. This is the Schwarz reflection principle, and it holds because is real on the real axis and analytic everywhere.
Combined with invariance, this means:
for every real . This is the main theorem: recognition_Z2_indistinguishable.
Step 7: What This Means
The recognition weight function cannot tell the difference between and . Every information-geometric probe gives the same measurement for both.
The critical line is the unique fixed point of this symmetry. Off the critical line, you have two distinct points that are informationally identical. On the critical line, those two points collapse to one — the point is its own mirror image.
The missing bridge to RH: If the recognition observable is complete — meaning it captures all the information-geometric structure of the zeta function — then off-critical zeros would be a contradiction. They would be genuinely distinct points (distinguishable by their complex values) that the complete observable cannot distinguish. That completeness argument is what Papers II and III build toward.
Part 2: What the Lean Proofs Actually Do
What Lean verification means
Lean is a proof assistant. When you write a theorem in Lean, the computer checks every single logical step against a small, trusted kernel of rules. If it compiles, the proof is correct — not “probably correct,” not “correct modulo standard arguments,” but formally verified from axioms. This is what makes the result significant.
The five layers of proof
Layer 1: Real analysis (Sections 1–5)
These proofs establish the recognition operator for real . The strategy is:
- Express as an explicit convergent Dirichlet series using Mathlib’s
zeta_eq_tsum_one_div_nat_add_one_cpow - Prove positivity of by showing the series has positive terms
- Build the distribution, show it sums to 1, build the square-root embedding, show its squared norm is 1
- Prove the Cauchy-Schwarz upper bound using the AM-GM inequality termwise, then summing
All of this is pure real analysis and Lean handles it cleanly through Mathlib’s summability and positivity infrastructure.
Layer 2: invariance (Section 6)
This proof is almost trivial once you have the functional equation. Mathlib provides completedRiemannZeta_one_sub which says . The proof of completedObs_Z2_invariant is literally just rewriting with that equation after algebraically simplifying the midpoint.
Layer 3: Schwarz reflection machinery (Section 6b) — the hard part
This is where the genuine work happened. The goal is to prove . The strategy:
Step A: The reflected function is holomorphic.
Define . The theorem differentiableAt_conjCompConj proves that if is holomorphic at , then is holomorphic at .
Why is this hard? Complex differentiability (holomorphicity) requires the Cauchy-Riemann equations. The proof has to track what happens to those equations when you compose with conjugation three times. The key calculation is:
Conjugation flips (since ), so the Cauchy-Riemann equations that hold for at get conjugated into Cauchy-Riemann equations for at . The Lean proof does this explicitly through the fderiv machinery, tracking the chain rule through three compositions and verifying the CR sign flip from Complex.conj_I : conj I = -I.
Step B: The identity theorem.
eq_of_eqOn_open proves: if two entire functions agree on the half-plane , they agree everywhere. This uses Mathlib’s AnalyticOnNhd.eqOn_of_preconnected_of_frequently_eq — the identity theorem for analytic functions.
Step C: The axiom boundary.
completedRiemannZeta₀_conj_on_right is the one axiom: on , the function satisfies . Mathematically this is obvious — the Dirichlet series has real coefficients.
Step D: Lifting from to .
Once you have globally, you get it for by using completedRiemannZeta_eq: . The rational correction terms are trivially stable under conjugation, so the result lifts directly.
Layer 4: Downstream conjugation (Section 6c)
With Schwarz reflection proven, completedObs_conj follows by pushing conjugation through the formula for completedObs. The norm invariance completedObs_norm_conj then follows from the general fact that conjugation preserves norms: .
Layer 5: The main theorem (Section 7)
recognition_Z2_indistinguishable combines invariance and Schwarz reflection in three lines:
- Apply : rewrite the left side from to
- Identify: those reflected arguments are exactly the conjugates of the original arguments
- Apply norm-conjugation invariance: norms don’t change under conjugation
The Axiom Inventory, Honestly
| Axiom | Mathematical content | Status |
|---|---|---|
completedRiemannZeta₀_conj_on_right | Dirichlet series has real coefficients | Closeable — Mathlib exercise |
solomonoffMeasure | Existence of Kolmogorov complexity spectral measure | Blocked by Mathlib |
kraft_inequality | That measure is bounded by 1 | Blocked by Mathlib |
The first axiom is a computation wearing an axiom’s clothes. The other two are genuine theory gaps — the spectral theory of integral operators over Kolmogorov complexity space is simply not in Mathlib yet.
The Bottom Line
What you have is a machine-verified proof that the recognition framework has the right symmetry structure: it partitions the critical strip into equivalence classes, the critical line is the unique fixed-point locus of that partition, and no measurement built from the recognition operator can break that symmetry.
Every step in that argument — except one precisely-stated Dirichlet series computation and two spectral theory axioms — is now verified by Lean against Mathlib.
Based on the research canon and the verified Lean 4 specification.