Paper IV · Lean source

SignedRealPhase.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 (2)

KomorebiPaperIV/SignedRealPhase.lean105 lines

Original source pathPaper_IV_Verification_Closeout_v1.1.0/formalization/lean/KomorebiPaperIV/SignedRealPhase.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.LargeZeroCompletion
6 import KomorebiPaperIV.AnalyticCycles
7 
8 namespace Komorebi.PaperIV
9 noncomputable section
10 
11 /-- All canonical signed sections commute with complex conjugation. -/
12 theorem entireSigned_canonical_conj {N j : ℕ} (hN : 0 < N) (hj : j < N) (z : ℂ) :
13     entireSigned N j (canonicalPrimitiveRoot N) (canonicalSignedRoot N) (star z) =
14       star (entireSigned N j (canonicalPrimitiveRoot N) (canonicalSignedRoot N) z) := by
15   have hs := (hasSum_entireSigned hN hj (canonicalPrimitiveRoot_isPrimitive hN)
16     (canonicalSignedRoot_pow hN) z).star
17   have ht := hasSum_entireSigned hN hj (canonicalPrimitiveRoot_isPrimitive hN)
18     (canonicalSignedRoot_pow hN) (star z)
19   apply ht.unique
20   convert hs using 1
21   funext n
22   by_cases h : n % N = j <;> simp [coeff_signedSection, signedSectionCoeff, h]
23 
24 theorem entireSigned_canonical_real {N j : ℕ} (hN : 0 < N) (hj : j < N) (x : ℝ) :
25     (entireSigned N j (canonicalPrimitiveRoot N) (canonicalSignedRoot N) (x : ℂ)).im = 0 := by
26   have h := congrArg Complex.im (entireSigned_canonical_conj hN hj (x : ℂ))
27   simp only [Complex.star_def, Complex.conj_ofReal, Complex.conj_im] at h
28   linarith
29 
30 theorem canonicalSignedDenominator_derivative_real {N : ℕ} (hN : 0 < N) (x : ℝ) :
31     (deriv (canonicalSignedDenominator N) (x : ℂ)).im = 0 := by
32   change (deriv (entireSigned N 0 (canonicalPrimitiveRoot N) (canonicalSignedRoot N)) (x : ℂ)).im = 0
33   rw [entireSigned_derivative_zero hN (canonicalPrimitiveRoot_isPrimitive hN) (canonicalSignedRoot_pow hN)]
34   simp only [Complex.neg_im, entireSigned_canonical_real hN (by omega : N - 1 < N), neg_zero]
35 
36 theorem signed_sine_mul_center {N : ℕ} (hN : 2 ≤ N) (m : ℕ) :
37     Real.sin (Real.pi / N) * signedZeroCenter N m = Real.pi * ((m : ℝ) + 1 / 2) := by
38   unfold signedZeroCenter
39   field_simp [(signed_sine_pos hN).ne']
40 
41 theorem signedZeroCenter_positive_phase {N : ℕ} (hN : 2 ≤ N) (m : ℕ) :
42     Complex.exp ((Real.sin (Real.pi / N) * signedZeroCenter N m : ℝ) * Complex.I) =
43       (-1 : ℂ) ^ m * Complex.I := by
44   rw [signed_sine_mul_center hN]
45   have he : ((Real.pi * ((m : ℝ) + 1 / 2) : ℝ) : ℂ) * Complex.I =
46       (m : ℂ) * ((Real.pi : ℂ) * Complex.I) + (Real.pi : ℂ) / 2 * Complex.I := by
47     push_cast
48     ring
49   rw [he, Complex.exp_add, Complex.exp_nat_mul, Complex.exp_pi_mul_I,
50     Complex.exp_pi_div_two_mul_I]
51 
52 theorem signedZeroCenter_negative_phase {N : ℕ} (hN : 2 ≤ N) (m : ℕ) :
53     Complex.exp ((-(Real.sin (Real.pi / N) * signedZeroCenter N m) : ℝ) * Complex.I) =
54       (-1 : ℂ) ^ m * (-Complex.I) := by
55   have h := congrArg star (signedZeroCenter_positive_phase hN m)
56   simpa only [map_mul, map_pow, map_neg, map_one, Complex.star_def, ← Complex.exp_conj,
57     Complex.conj_ofReal, Complex.conj_I, Complex.ofReal_neg,
58     neg_mul, mul_neg] using h
59 
60 def signedDerivativeScale (N : ℕ) (x : ℝ) : ℝ :=
61   (2 * Real.sin (Real.pi / N) / N) * Real.exp (Real.cos (Real.pi / N) * x)
62 
63 def signedDerivativeMainTerm (N m : ℕ) (x : ℝ) : ℝ :=
64   (-1 : ℝ) ^ (m + 1) * signedDerivativeScale N x
65 
66 theorem signedDerivativeScale_pos {N : ℕ} (hN : 2 ≤ N) (x : ℝ) :
67     0 < signedDerivativeScale N x :=
68   mul_pos (div_pos (mul_pos (by norm_num) (signed_sine_pos hN)) (by exact_mod_cast (show 0 < N by omega))) (Real.exp_pos _)
69 
70 theorem signedDerivativeMainTerm_ne_zero {N : ℕ} (hN : 2 ≤ N) (m : ℕ) (x : ℝ) :
71     signedDerivativeMainTerm N m x ≠ 0 :=
72   mul_ne_zero (pow_ne_zero _ (by norm_num)) (signedDerivativeScale_pos hN x).ne'
73 
74 /-- Exact phase decomposition of the leading derivative at every real point. -/
75 theorem signed_derivative_leading_phase {N : ℕ} (hN : 2 ≤ N) (m : ℕ) (x : ℝ) :
76     -signedZeroFrequency N / signedNormalizationFactor N (x : ℂ) =
77       (signedDerivativeMainTerm N m x : ℂ) *
78         Complex.exp ((-(Real.sin (Real.pi / N) * (x - signedZeroCenter N m)) : ℝ) * Complex.I) := by
79   have hn : (N : ℂ) ≠ 0 := by exact_mod_cast (show N ≠ 0 by omega)
80   have hv : canonicalSignedVertex N (N - 1) =
81       (Real.cos (Real.pi / N) : ℂ) - (Real.sin (Real.pi / N) : ℂ) * Complex.I := by
82     apply Complex.ext
83     · simp only [canonicalSignedVertex_last_re (show 0 < N by omega), Complex.sub_re,
84         Complex.ofReal_re, Complex.mul_re, Complex.I_re, Complex.ofReal_im, Complex.I_im,
85         mul_zero, zero_mul, sub_zero]
86     · simp only [canonicalSignedVertex_last_im (show 0 < N by omega), Complex.sub_im,
87         Complex.ofReal_im, Complex.mul_im, Complex.I_im, Complex.I_re, Complex.ofReal_re,
88         mul_one, zero_mul, add_zero, zero_sub]
89   have he : canonicalSignedVertex N (N - 1) * (x : ℂ) =
90       ((Real.cos (Real.pi / N) * x : ℝ) : ℂ) +
91       ((-(Real.sin (Real.pi / N) * signedZeroCenter N m) : ℝ) : ℂ) * Complex.I +
92       ((-(Real.sin (Real.pi / N) * (x - signedZeroCenter N m)) : ℝ) : ℂ) * Complex.I := by
93     rw [hv]; push_cast; ring
94   rw [signedNormalizationFactor, Complex.exp_neg, div_mul_eq_div_div, div_inv_eq_mul,
95     he, Complex.exp_add, Complex.exp_add, signedZeroCenter_negative_phase hN,
96     ← Complex.ofReal_exp, signedZeroFrequency, canonicalSignedVertex_adjacent_difference (by omega),
97     signedDerivativeMainTerm, signedDerivativeScale]
98   push_cast
99   rw [pow_succ]
100   field_simp
101   ring_nf
102   simp [Complex.I_sq]
103 
104 end
105 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: f3909df6a630afb3381078f4c30a6c7d3c9dcbc38c6cdfb87e562c03ac9e0dfa

Original source on GitHub

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