Paper XI · Lean source
SchrodingerUnitary.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)
PaperXI/SchrodingerUnitary.lean45 lines
Original source path
formalization/PaperXI/SchrodingerUnitary.leanSkip declarations and read code
1 import PaperXI.SchrodingerOperator
2 import Mathlib.NumberTheory.GaussSum
3 import Mathlib.Analysis.Complex.Basic
4 import Mathlib.Tactic
5
6 /-! The literal Schrödinger operators preserve the usual finite sum Hermitian pairing. -/
7 set_option autoImplicit false
8 noncomputable section
9 namespace PaperXI.SchrodingerUnitary
10 open scoped Classical
11
12 variable {K : Type*} [Field K] [Fintype K]
13
14 /-- Finite-field additive characters take values on the unit circle. -/
15 theorem conjugate_character (ψ : AddChar K ℂ) (a : K) :
16 star (ψ a) = ψ (-a) := by
17 simpa only [AddChar.inv_apply, starRingEnd_apply] using
18 AddChar.starComp_apply (Nat.pos_of_ne_zero (CharP.ringChar_ne_zero_of_finite K)) a
19
20 /-- The phase factor contributes one to the Hermitian pairing. -/
21 theorem conjugate_mul_character (ψ : AddChar K ℂ) (a : K) :
22 star (ψ a) * ψ a = 1 := by
23 rw [conjugate_character, ← ψ.map_add_eq_mul]
24 simp
25
26 variable {X : Type*} [AddCommGroup X] [Module K X] [Fintype X]
27
28 /-- Every literal Schrödinger operator preserves the finite sum Hermitian pairing. -/
29 theorem pairing_invariant (ψ : AddChar K ℂ) (x : X) (ξ : X →ₗ[K] K)
30 (z : K) (f g : X → ℂ) :
31 (∑ u : X, star (Schrodinger.operator ψ x ξ z f u) *
32 Schrodinger.operator ψ x ξ z g u) = ∑ u : X, star (f u) * g u := by
33 calc
34 _ = ∑ u : X, star (f (u + x)) * g (u + x) := by
35 apply Finset.sum_congr rfl
36 intro u _
37 simp only [Schrodinger.operator_apply, star_mul]
38 calc
39 _ = (star (ψ (z + ξ u + (2 : K)⁻¹ * ξ x)) *
40 ψ (z + ξ u + (2 : K)⁻¹ * ξ x)) *
41 (star (f (u + x)) * g (u + x)) := by ring
42 _ = _ := by rw [conjugate_mul_character, one_mul]
43 _ = _ := Fintype.sum_bijective _ (AddGroup.addRight_bijective x) _ _ (fun _ => rfl)
44
45 end PaperXI.SchrodingerUnitary
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: 90bc68223666d16ea0fd539caf1719dc4d7a73e4774eadd64d5136507b4e40cb
Back to Paper XI: Packets, Arithmetic Realization, and Conditional Comparison