Paper IV · Lean source

CanonicalProductGrowth.lean

Selected results recorded Coverage and evidence

Compiler/replay evidence is reported for a subset or bounded block. No whole-work coverage is implied.

This viewer reads the retained source; it does not run Lean or assign new claim mappings.

Local imports (1)

KomorebiPaperIV/CanonicalProductGrowth.lean122 lines

Original source pathPaper_IV_Verification_Closeout_v1.1.0/formalization/lean/KomorebiPaperIV/CanonicalProductGrowth.lean
Skip declarations and read code

Skip source text

1 /-
2 Copyright (c) 2026 Komorebi P. All rights reserved.
3 Authors: Komorebi P.
4 -/
5 import KomorebiPaperIV.FullCanonicalProduct
6 import Mathlib.Analysis.MeanInequalitiesPow
7 import Mathlib.Analysis.Complex.Polynomial.Basic
8 
9 namespace Komorebi.PaperIV
10 noncomputable section
11 open Set Filter
12 open scoped Topology
13 
14 theorem log_one_add_le_rpow_div {x s : ℝ} (hx : 0 ≤ x) (hs : 0 < s) (hs1 : s ≤ 1) :
15     Real.log (1 + x) ≤ x ^ s / s := by
16   have h := Real.log_le_sub_one_of_pos (Real.rpow_pos_of_pos (by linarith : 0 < 1 + x) s)
17   rw [Real.log_rpow (by linarith)] at h
18   have hp := Real.rpow_add_le_add_rpow (a := 1) (b := x) zero_le_one hx hs.le hs1
19   rw [Real.one_rpow] at hp
20   apply (le_div_iff₀ hs).mpr
21   nlinarith
22 
23 theorem zeroMultiplicity_reciprocal_rpow_summable {f : ℂ → ℂ} {s : ℝ}
24     (hf : ZeroPowerSummable f s) :
25     Summable (fun i : ZeroMultiplicityIndex f => 1 / ‖indexedZero i‖ ^ s) := by
26   apply (summable_sigma_of_nonneg (fun i : ZeroMultiplicityIndex f => by positivity)).mpr
27   constructor
28   · intro z
29     exact (hasSum_fintype _).summable
30   · simpa only [indexedZero, tsum_fintype, Finset.sum_const, Finset.card_univ,
31       Fintype.card_fin, nsmul_eq_mul, mul_one_div, ZeroPowerSummable] using hf
32 
33 def reciprocalPowerMass (f : ℂ → ℂ) (s : ℝ) : ℝ :=
34   ∑' i : ZeroMultiplicityIndex f, 1 / ‖indexedZero i‖ ^ s
35 
36 theorem reciprocalPowerMass_nonneg (f : ℂ → ℂ) (s : ℝ) : 0 ≤ reciprocalPowerMass f s :=
37   tsum_nonneg (fun _ => by positivity)
38 
39 /-- A genus-zero product inherits every summable reciprocal exponent below one. -/
40 theorem fullCanonicalProduct_growth {f : ℂ → ℂ} {s : ℝ}
41     (hf : ZeroPowerSummable f 1) (hfs : ZeroPowerSummable f s)
42     (hs : 0 < s) (hs1 : s ≤ 1) (w : ℂ) :
43     ‖fullCanonicalProduct f w‖ ≤
44       Real.exp ((reciprocalPowerMass f s / s) * ‖w‖ ^ s) := by
45   have hm := zeroMultiplicity_reciprocal_rpow_summable hfs
46   have hsum : Summable (fun i : ZeroMultiplicityIndex f => ‖w / indexedZero i‖ ^ s) := by
47     simpa only [norm_div, Real.div_rpow (norm_nonneg _) (norm_nonneg _), mul_one_div] using
48       hm.mul_left (‖w‖ ^ s)
49   have he : (∑' i : ZeroMultiplicityIndex f, ‖w / indexedZero i‖ ^ s) =
50       ‖w‖ ^ s * reciprocalPowerMass f s := by
51     unfold reciprocalPowerMass
52     rw [← tsum_mul_left]
53     apply tsum_congr
54     intro i
55     rw [norm_div, Real.div_rpow (norm_nonneg _) (norm_nonneg _), mul_one_div]
56   have ht := (continuous_norm.tendsto (fullCanonicalProduct f w)).comp
57     (fullCanonicalProduct_multipliable hf w).hasProd
58   apply le_of_tendsto ht
59   apply Eventually.of_forall
60   intro S
61   calc
62     ‖∏ i ∈ S, (1 - w / indexedZero i)‖ ≤ ∏ i ∈ S, Real.exp (‖w / indexedZero i‖ ^ s / s) := by
63       rw [norm_prod]
64       apply Finset.prod_le_prod (fun _ _ => norm_nonneg _)
65       intro i _
66       apply (norm_sub_le _ _).trans
67       rw [norm_one]
68       exact (Real.log_le_iff_le_exp (by positivity)).mp
69         (log_one_add_le_rpow_div (norm_nonneg _) hs hs1)
70     _ = Real.exp ((∑ i ∈ S, ‖w / indexedZero i‖ ^ s) / s) := by
71       rw [← Real.exp_sum, Finset.sum_div]
72     _ ≤ Real.exp ((∑' i : ZeroMultiplicityIndex f, ‖w / indexedZero i‖ ^ s) / s) := by
73       apply Real.exp_le_exp.mpr
74       apply div_le_div_of_nonneg_right _ hs.le
75       exact hsum.sum_le_tsum S (fun _ _ => Real.rpow_nonneg (norm_nonneg _) _)
76     _ = Real.exp ((reciprocalPowerMass f s / s) * ‖w‖ ^ s) := by
77       rw [he]
78       congr 1
79       ring
80 
81 /-- The reduced denominator has the explicit order-1/N upper bound. -/
82 theorem entireReducedDenominator_norm_le {N : ℕ} (hN : 0 < N) (w : ℂ) :
83     ‖entireReducedDenominator N w‖ ≤ Real.exp (‖w‖ ^ (1 / (N : ℝ))) := by
84   obtain ⟨z, rfl⟩ := IsAlgClosed.exists_pow_nat_eq w hN
85   rw [← canonicalSignedDenominator_eq_reduced_power hN, norm_pow, one_div,
86     Real.pow_rpow_inv_natCast (norm_nonneg z) hN.ne']
87   exact norm_entireSigned_zero_le hN (canonicalPrimitiveRoot_isPrimitive hN)
88     (canonicalSignedRoot_pow hN) z
89 
90 /-- One fixed sublinear exponent works for every N ≥ 2, for both entire factors. -/
91 theorem entireReducedDenominator_and_product_growth {N : ℕ} (hN : 2 ≤ N) :
92     ∃ C : ℝ, 0 ≤ C ∧ ∀ R : ℝ, 1 ≤ R → ∀ w : ℂ, ‖w‖ ≤ R →
93       ‖entireReducedDenominator N w‖ ≤ Real.exp (C * R ^ (3 / 4 : ℝ)) ∧
94       ‖fullCanonicalProduct (entireReducedDenominator N) w‖ ≤ Real.exp (C * R ^ (3 / 4 : ℝ)) := by
95   have hN0 : 0 < N := by omega
96   have hn : (2 : ℝ) ≤ N := by exact_mod_cast hN
97   have hn0 : (0 : ℝ) < N := by positivity
98   have he : 1 / (N : ℝ) < (3 / 4 : ℝ) := (div_lt_iff₀ hn0).mpr (by linarith)
99   have hs := (entireReducedDenominator_zero_power_summable_iff hN (3 / 4)).mpr he
100   let B := reciprocalPowerMass (entireReducedDenominator N) (3 / 4) / (3 / 4)
101   have hB : 0 ≤ B := div_nonneg (reciprocalPowerMass_nonneg _ _) (by norm_num)
102   refine ⟨1 + B, by positivity, fun R hR w hw => ?_⟩
103   have hRp : 0 ≤ R ^ (3 / 4 : ℝ) := Real.rpow_nonneg (by linarith) _
104   constructor
105   · apply (entireReducedDenominator_norm_le hN0 w).trans
106     apply Real.exp_le_exp.mpr
107     calc
108       ‖w‖ ^ (1 / (N : ℝ)) ≤ R ^ (1 / (N : ℝ)) :=
109         Real.rpow_le_rpow (norm_nonneg _) hw (by positivity)
110       _ ≤ R ^ (3 / 4 : ℝ) := Real.rpow_le_rpow_of_exponent_le hR he.le
111       _ ≤ (1 + B) * R ^ (3 / 4 : ℝ) := by nlinarith
112   · apply (fullCanonicalProduct_growth (entireReducedDenominator_reciprocal_zeros_summable hN)
113       hs (by norm_num) (by norm_num) w).trans
114     apply Real.exp_le_exp.mpr
115     change B * ‖w‖ ^ (3 / 4 : ℝ) ≤ _
116     calc
117       _ ≤ B * R ^ (3 / 4 : ℝ) := mul_le_mul_of_nonneg_left
118         (Real.rpow_le_rpow (norm_nonneg _) hw (by norm_num)) hB
119       _ ≤ (1 + B) * R ^ (3 / 4 : ℝ) := by nlinarith
120 
121 end
122 end Komorebi.PaperIV

Back to source controls

Original file and source record

This copy matches the recorded source file. Its publication here does not change the work’s review status.

SHA-256: 49b992fd4dfce87a83099bcdd01c4a0f2b6b736995209e96dd412da547f1c8d5

Original source on GitHub

Back to Paper IV: Cyclic Analytic Functions, Reciprocal Families, and Spectral Zero Data