theorem
proved
finitePrimeLedgerPartition_insert_nonprime
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.NumberTheory.EulerLedgerPartition on GitHub at line 37.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
formal source
34 ∏ p ∈ S, if Nat.Prime p then primeLedgerLocalPartition s p else 1
35
36/-- Finite prime-ledger partition is insensitive to non-prime entries. -/
37theorem finitePrimeLedgerPartition_insert_nonprime
38 (s : ℂ) (S : Finset ℕ) {n : ℕ} (hnS : n ∉ S) (hn : ¬ Nat.Prime n) :
39 finitePrimeLedgerPartition s (insert n S) = finitePrimeLedgerPartition s S := by
40 unfold finitePrimeLedgerPartition
41 simp [hnS, hn]
42
43/-- Inserting a new prime multiplies the partition by its local factor. -/
44theorem finitePrimeLedgerPartition_insert_prime
45 (s : ℂ) (S : Finset ℕ) {p : ℕ} (hpS : p ∉ S) (hp : Nat.Prime p) :
46 finitePrimeLedgerPartition s (insert p S) =
47 primeLedgerLocalPartition s p * finitePrimeLedgerPartition s S := by
48 unfold finitePrimeLedgerPartition
49 simp [hpS, hp]
50
51/-- The Euler ledger partition as a formal infinite product over prime atoms. -/
52def PrimeLedgerPartition (s : ℂ) : Prop :=
53 ∃ F : (Finset ℕ → ℂ), ∀ S, F S = finitePrimeLedgerPartition s S
54
55/-- The formal partition exists, by finite partial products. -/
56theorem primeLedgerPartition_formal (s : ℂ) : PrimeLedgerPartition s :=
57 ⟨fun S => finitePrimeLedgerPartition s S, fun _ => rfl⟩
58
59/-- Analytic certificate connecting the formal prime-ledger partition to zeta
60on a convergence domain. -/
61structure EulerLedgerPartitionCert where
62 /-- Euler product agrees with `riemannZeta` for `Re(s) > 1`, expressed as
63 convergence of finite prime-ledger partitions. -/
64 eulerProduct_eq_zeta :
65 ∀ s : ℂ, 1 < s.re →
66 Filter.Tendsto (fun n : ℕ ↦ finitePrimeLedgerPartition s (Nat.primesBelow n))
67 Filter.atTop (𝓝 (riemannZeta s))