Formalization Metadata
Machine-readable formalization metadata following the formalization.yaml standard (v0.3).
Project
Sources
-
A362583 Irrationality — informal proof blueprintAuthorsEric VergoIdself-authored informal proof blueprint for this project; realized as the browsable blueprint site generated from this repositoryTypespecification / informal blueprintLicenseApache-2.0Author contactedn/a
-
OEIS A362583 — Concatenation of ((p mod 4) - 1)/2 for primes 3..prime(n), read as binaryAuthorsEric VergoTypeOEIS entry (integer sequence: successive binary-integer digit prefixes; a(35) = 12032782746 used as a numeric cross-pin)LicenseCC BY-NC 4.0 (OEIS)Author contactedn/a
Status
Complete. The prime race constant ϱ = Σ_{k≥0} b_k·2^{-(k+1)} — the number whose binary expansion is 0.b0b1b2..._2, with b_k = 1 iff the k-th odd prime is ≡ 3 mod 4 — is irrational, via a non-degeneracy theorem for the mod-4 Chebyshev prime race: the race sum is never c·π(N) + O(1). The analytic input is only the continued L(s, χ₄), L(1, χ₄) ≠ 0, the Euler product, the divergence of Σ 1/p, and the identity theorem — no PNT, no PNT in APs, no zero-free regions, no quantitative oscillation (Littlewood/Shiu avoided by design).
Main results
-
File
A362583/Main.leanComparator configcomparator/comparator.jsonLiterature dependenciesnone0 sorriesaxioms: standard 3 -
File
A362583/CaseZero.leanLiterature dependenciesnone0 sorriesaxioms: standard 3
Automation
-
agentFrameworkClaude CodeModelsclaude-fable-5Wall time~1 day (2026-07-03)Spendsubscription-based usageHardwareAPI-only; local builds on a MacBook (24 GB RAM), warm Mathlib cacheTool setupA main-session orchestrator spawning specialized subagents per phase: (0) two firewalled agents independently re-derived the analytic core from the theorem statement alone, then an adversarial referee checked both against the specification before any code; a parallel dependency fan-out verified every Mathlib dependency with compiling minimal working examples; (1) author + independent reviewer produced the frozen statement set; (2-4) one agent per proof layer, each owning a single file, checked via lake env lean against a shared warm build, merged and committed centrally by the orchestrator; (5) two independent auditor agents re-verified the acceptance criteria (including a mechanical diff of all locked statements against the frozen set) and the informal-to-formal correspondence, with adversarial spot-checks. Accumulated Mathlib-pin gotchas were fed forward into every subsequent agent prompt.Prompting notesSpecification-first workflow: a detailed human-authored specification with two blocking human sign-off gates (Phase-0 audit/re-derivation exit; Phase-1 statement lock). Statements were frozen before any proof work; proof agents received the informal blueprint, a verified table of Mathlib dependencies, compiling usage examples, and hard guardrails (no PNT-strength imports, no axiom patches, no statement changes without a lock-break escalation).
Fidelity
Statements were frozen before any proof work and are byte-identical to that frozen set. Proof-route deviations from the informal argument: the k=1 layer's analytic continuation is *defined* as the discrete by-parts series rather than continued after the fact; the Euler-sum split uses a per-prime identity instead of a double-sum rearrangement; in both cases (c ≠ 0 and c = 0) the contradiction is evaluated at a single explicit point instead of via limits (one plain one-sided limit remains, pinning L(1) real-positive); constants are deliberately generous rather than sharp.
Alignment
A362583| Source | Lean | Module | Status |
|---|---|---|---|
| definitions (odd primes, bits, the prime race constant ϱ, race sum S)
statement-hygiene: elementary %-arithmetic and tsums only; sanity pins proved in A362583/Pins.lean
| A362583.oddPrime, A362583.bit, A362583.ϱ, A362583.raceSum | A362583/Defs.lean | proved |
| Both residue classes mod 4 contain infinitely many primes (Dirichlet's theorem) | A362583.bits_infinite_ones, A362583.bits_infinite_zeros | A362583/DigitLayer.lean | proved |
| A rational constant has eventually periodic bits (binary-tail pigeonhole) | A362583.eventuallyPeriodic_of_not_irrational | A362583/DigitLayer.lean | proved |
| Eventually periodic bits force a linear race sum | A362583.raceSum_linear_of_eventuallyPeriodic | A362583/RaceCount.lean | proved |
| Bounded-partial-sum Dirichlet series holomorphy (by-parts continuation)
general-purpose, Mathlib-style; upstream candidate (incl. the cpow increment bound absent from mathlib)
| bpSeries, differentiableOn_bpSeries, tsum_mul_cpow_neg_eq_bpSeries | A362583/BoundedHolo.lean | proved |
| B and T layers of the Euler-product logarithm | A362583.layerB, A362583.layerT | A362583/Character.lean | proved |
| Per-prime split of the logarithm series | A362583.neg_log_split | A362583/Layers.lean | proved |
| Divergence transfer to the B layer | A362583.exists_layerBReal_gt | A362583/Divergence.lean | proved |
| Euler product wired to the continued L-function | A362583.layerA, A362583.tsum_neg_log_eq_layers, A362583.exp_layers_eq_LFunction | A362583/EulerLog.lean | proved |
| Forcing the race slope to zero (case c ≠ 0) | A362583.c_eq_zero_of_raceSum_linear | A362583/CaseNonzero.lean | proved |
| Nonlinearity of the race — identity theorem and blow-up at 1/2⁺ (main analytic theorem) | A362583.raceSum_not_linear | A362583/CaseZero.lean | proved |
| assembly — main theorem | A362583.irrational_ϱ | A362583/Main.lean | proved |
Acknowledgements
Built on mathlib4 (pinned v4.32.0). The proof route is only feasible because mathlib already contains the analytically continued Dirichlet L-function, its nonvanishing at s = 1, the exponential form of the Euler product, the divergence of the sum of prime reciprocals, and the identity theorem.