Sobolev spaces, Cauchy–Riemann operators and asymptotic operators on the cylinder
DefinitionCauchyRiemannIndex_SettingBasic objects for linear Cauchy–Riemann operators on the cylinder , , with the trivial bundle (C. Wendl, Lectures on Symplectic Field Theory, Lectures 3–5), and the Conley–Zehnder index of a path of symplectic matrices (J. Gutt, Generalized Conley–Zehnder index, Definition 7 and Corollary 12).
- Matrices. on , multiplication by under ; is complex conjugation; for ,
antilinearMat βis the real matrix of on . - Conley–Zehnder index of a symplectic path : the integer , where , , and is followed by a path in (no eigenvalue ) ending at or (Gutt). The value is chosen, with fallback when no such degree exists.
- Asymptotic operators. A loop of symmetric matrices defines (Wendl (3.10)). Its fundamental solution is with , . is nondegenerate if , i.e. has no nonzero -periodic solution, and is the Conley–Zehnder index of the path .
- Sobolev space. is of the strip with Lebesgue measure. A test section is a smooth map with that vanishes for large . is the closure in of the span of the triples of test sections, and for test sections.
- Cauchy–Riemann operators (Wendl (4.2)). For a continuous , , acting on a triple by . Its kernel is , its range is , it is Fredholm if the kernel is finite-dimensional and the range is closed of finite codimension, and its index is .
- Asymptotic convergence (Wendl, Definition 4.2 and Remark 4.4). is asymptotic to loops if it is continuous, -periodic in , and as , uniformly in .
Formalization Note is EuclideanSpace ℝ (Fin n ⊕ Fin n) and matrices are Matrix (Fin n ⊕ Fin n) (Fin n ⊕ Fin n) ℝ, acting by Matrix.toEuclideanLin; is Matrix.J. The definitions IsSymplectic, SpStar, Wplus, Wminus, complexLinearPart, complexLinearDet, rhoHat, IsArgLift, IsSpStarExtension, IsCZValue and czIndex repeat those of ConleyZehnder_Setting word for word, so that the mission is standalone. asymptoticCZIndex S is the chosen k with IsAsymptoticCZValue S k (fallback ). , are fderiv ℝ u x (1, 0) and fderiv ℝ u x (0, 1), and smoothness is ContDiff ℝ ∞. W1p p n is (Submodule.span ℝ (testTriples n p)).topologicalClosure in Lp × Lp × Lp (with Fact (1 ≤ p)), so its elements are triples with weak derivatives; its norm is the product (maximum) norm, equivalent to the norm. crKernel and crRange are the spans of the kernel and range sets, which are already subspaces. Convergence is stated entrywise.
import Mathlib.LinearAlgebra.SymplecticGroup
import Mathlib.LinearAlgebra.Matrix.Block
import Mathlib.Analysis.SpecialFunctions.Complex.Circle
import Mathlib.Analysis.InnerProductSpace.PiL2
import Mathlib.Analysis.Calculus.ContDiff.Basic
import Mathlib.Analysis.Calculus.Deriv.Basic
import Mathlib.Topology.ContinuousMap.Basic
import Mathlib.Topology.UnitInterval
import Mathlib.Topology.Algebra.Module.Basic
import Mathlib.MeasureTheory.Function.LpSpace.Basic
import Mathlib.MeasureTheory.Measure.Lebesgue.Basic
import Mathlib.LinearAlgebra.Dimension.Finrank
import Mathlib.LinearAlgebra.Quotient.Basic
/-!
# Linear Cauchy–Riemann operators on the cylinder
C. Wendl, *Lectures on Symplectic Field Theory*, arXiv:1612.01009, Lectures 3–5, for the
punctured surface `ℝ × S¹` (the sphere with one positive and one negative puncture) and the
trivial bundle `ℝ × S¹ × ℝ²ⁿ`.
Conventions. `S¹ = ℝ/ℤ`; a map on the cylinder is a map `u : ℝ × ℝ → ℝ²ⁿ` of `(s, t)` with
`u(s, t + 1) = u(s, t)`, and `L^p(ℝ × S¹)` is `L^p` of the strip `ℝ × [0, 1)` with Lebesgue
measure. `ℝ²ⁿ` is `EuclideanSpace ℝ (Fin n ⊕ Fin n)` (first block `q`, second block `p`) and
`J₀ = [[0, -Id], [Id, 0]]` is Mathlib's `Matrix.J`, i.e. multiplication by `i` under
`(x, y) ↦ x + i y`.
* `W^{1,p}(ℝ × S¹, ℝ²ⁿ)` is the closure of the smooth maps that are `1`-periodic in `t` and
vanish for large `|s|`, under `u ↦ (u, ∂ₛu, ∂ₜu)` in `L^p × L^p × L^p`
(Wendl, Lecture 4, §4.1 and §A.4).
* For a continuous, `t`-periodic `S : ℝ × ℝ → ℝ^{2n×2n}`, the operator
`D_S = ∂ₛ + J₀ ∂ₜ + S(s, t) : W^{1,p} → L^p` (Wendl (4.2)) acts on such a triple by
`(u, v, w) ↦ v + J₀ w + S u`.
* The asymptotic operator `A = -J₀ ∂ₜ - S∞(t)` of a loop `S∞` of symmetric matrices
(Wendl (3.10)) is encoded by the fundamental solution `Ψ' = J₀ S∞ Ψ`, `Ψ(0) = Id`, whose
columns span the solutions of `A η = 0` on `ℝ`.
* The Conley–Zehnder index of a path of symplectic matrices is defined as in Gutt,
*Generalized Conley–Zehnder index*, Ann. Fac. Sci. Toulouse 23 (2014), arXiv:1307.7239,
Definition 7 with Corollary 12; the definitions `IsSymplectic` … `czIndex` below repeat
those of the `ConleyZehnder` mission word for word.
-/
namespace CauchyRiemannIndex
noncomputable section
open MeasureTheory Matrix Classical
open scoped ContDiff ENNReal
/-! ### Symplectic matrices and the Conley–Zehnder index of a path -/
/-- Real `2n × 2n` matrices, indexed by `Fin n ⊕ Fin n`. -/
abbrev Mat (n : ℕ) := Matrix (Fin n ⊕ Fin n) (Fin n ⊕ Fin n) ℝ
/-- `J₀ = [[0, -Id], [Id, 0]]`. -/
abbrev J₀ (n : ℕ) : Mat n := Matrix.J (Fin n) ℝ
variable {n : ℕ}
/-- `A ∈ Sp(ℝ²ⁿ, Ω₀)`. -/
def IsSymplectic (A : Mat n) : Prop := A ∈ Matrix.symplecticGroup (Fin n) ℝ
/-- `Sp*(ℝ²ⁿ, Ω₀)`: symplectic matrices without eigenvalue `1`. -/
def SpStar (n : ℕ) : Set (Mat n) := {A | IsSymplectic A ∧ (1 - A).det ≠ 0}
/-- `W⁺ = -Id`. -/
def Wplus (n : ℕ) : Mat n := -1
/-- `W⁻ = diag(2, -1, …, -1, 1/2, -1, …, -1)`. -/
def Wminus (n : ℕ) : Mat n :=
Matrix.diagonal (Sum.elim (fun j : Fin n => if j.val = 0 then (2 : ℝ) else -1)
(fun j : Fin n => if j.val = 0 then (1 / 2 : ℝ) else -1))
/-- The `ℂ`-linear part `C_A = ½(A - J₀ A J₀)` of `A`. -/
def complexLinearPart (A : Mat n) : Mat n := (1 / 2 : ℝ) • (A - J₀ n * A * J₀ n)
/-- `det_ℂ C_A`: writing `C_A = [[X, -Y], [Y, X]]`, the determinant of the complex
`n × n` matrix `X + i Y`. -/
def complexLinearDet (A : Mat n) : ℂ :=
((complexLinearPart A).toBlocks₁₁.map (fun x : ℝ => (x : ℂ)) +
Complex.I • (complexLinearPart A).toBlocks₂₁.map (fun x : ℝ => (x : ℂ))).det
/-- Gutt (9): `ρ̂(A) = det_ℂ C_A / |det_ℂ C_A|`. -/
def rhoHat (A : Mat n) : ℂ := complexLinearDet A / (‖complexLinearDet A‖ : ℂ)
/-- `θ` is a continuous argument of `f : [0, 1] → S¹`: `f(t) = e^{i θ(t)}`. -/
def IsArgLift (f : unitInterval → ℂ) (θ : unitInterval → ℝ) : Prop :=
Continuous θ ∧ ∀ t, f t = Complex.exp ((θ t : ℂ) * Complex.I)
/-- `χ` continues `ψ` as in Gutt §2: it starts at `ψ(1)`, stays in `Sp*`, and ends at
`W⁺` or `W⁻`. -/
def IsSpStarExtension (ψ χ : C(unitInterval, Mat n)) : Prop :=
χ 0 = ψ 1 ∧ (∀ t, χ t ∈ SpStar n) ∧ (χ 1 = Wplus n ∨ χ 1 = Wminus n)
/-- `k = deg(ρ̂² ∘ ψ̃)` for some extension `ψ̃` of `ψ`: the total change of a continuous
argument of `ρ̂² ∘ ψ̃` along `ψ` followed by `χ` is `2π k`. -/
def IsCZValue (ψ : C(unitInterval, Mat n)) (k : ℤ) : Prop :=
∃ χ : C(unitInterval, Mat n), IsSpStarExtension ψ χ ∧
∃ θ₁ θ₂ : unitInterval → ℝ, IsArgLift (fun t => rhoHat (ψ t)) θ₁ ∧
IsArgLift (fun t => rhoHat (χ t)) θ₂ ∧
2 * ((θ₁ 1 - θ₁ 0) + (θ₂ 1 - θ₂ 0)) = 2 * Real.pi * k
/-- Gutt, Definition 7 / Corollary 12: the Conley–Zehnder index `μ_CZ(ψ) = deg(ρ̂² ∘ ψ̃)`. -/
def czIndex (ψ : C(unitInterval, Mat n)) : ℤ :=
if h : ∃ k, IsCZValue ψ k then h.choose else 0
/-! ### Asymptotic operators -/
/-- A loop `S∞ : S¹ → ℝ^{2n×2n}` of symmetric matrices, as a continuous `1`-periodic map on
`ℝ`. -/
def IsSymLoop (S : ℝ → Mat n) : Prop :=
Continuous S ∧ Function.Periodic S 1 ∧ ∀ t, (S t).IsSymm
/-- `Ψ` is the fundamental solution of `S∞`: `Ψ(0) = Id` and `Ψ'(t) = J₀ S∞(t) Ψ(t)`. -/
def IsFundamentalSolution (S : ℝ → Mat n) (Ψ : ℝ → Mat n) : Prop :=
Ψ 0 = 1 ∧ ∀ t : ℝ, HasDerivAt Ψ (J₀ n * S t * Ψ t) t
/-- The asymptotic operator `-J₀ ∂ₜ - S∞` is nondegenerate: `1` is not an eigenvalue of
`Ψ(1)`, i.e. `-J₀ η' - S∞ η = 0` has no nonzero `1`-periodic solution. -/
def IsNondegenerate (S : ℝ → Mat n) : Prop :=
∀ Ψ, IsFundamentalSolution S Ψ → (1 - Ψ 1).det ≠ 0
/-- `k` is the Conley–Zehnder index of `-J₀ ∂ₜ - S∞`: the index of the path
`t ↦ Ψ(t)`, `t ∈ [0, 1]`, of its fundamental solution. -/
def IsAsymptoticCZValue (S : ℝ → Mat n) (k : ℤ) : Prop :=
∃ Ψ, IsFundamentalSolution S Ψ ∧
∃ ψ : C(unitInterval, Mat n), (∀ t : unitInterval, ψ t = Ψ t) ∧ IsCZValue ψ k
/-- Wendl, Definition 3.30, through the fundamental solution: the Conley–Zehnder index
`μ_CZ(-J₀ ∂ₜ - S∞)` (chosen, with fallback `0`). -/
def asymptoticCZIndex (S : ℝ → Mat n) : ℤ :=
if h : ∃ k, IsAsymptoticCZValue S k then h.choose else 0
/-! ### Sobolev spaces on the cylinder and Cauchy–Riemann operators -/
/-- `ℝ²ⁿ` with its Euclidean norm. -/
abbrev Vec (n : ℕ) := EuclideanSpace ℝ (Fin n ⊕ Fin n)
/-- Lebesgue measure on the strip `ℝ × [0, 1)`, a fundamental domain of `ℝ × S¹`. -/
def cylMeasure : Measure (ℝ × ℝ) := volume.restrict (Set.univ ×ˢ Set.Ico 0 1)
/-- `L^p(ℝ × S¹, ℝ²ⁿ)`. -/
abbrev LpCyl (n : ℕ) (p : ℝ≥0∞) := Lp (Vec n) p cylMeasure
/-- Triples `(u, ∂ₛu, ∂ₜu)` in `L^p × L^p × L^p`. -/
abbrev Triple (n : ℕ) (p : ℝ≥0∞) := LpCyl n p × LpCyl n p × LpCyl n p
/-- `u` is a test section: smooth, `1`-periodic in `t`, and zero for large `|s|`. -/
def IsTestSection (u : ℝ × ℝ → Vec n) : Prop :=
ContDiff ℝ ∞ u ∧ (∀ s t, u (s, t + 1) = u (s, t)) ∧ ∃ R : ℝ, ∀ s t, R < |s| → u (s, t) = 0
/-- `∂ₛu`. -/
def partialS (u : ℝ × ℝ → Vec n) (x : ℝ × ℝ) : Vec n := fderiv ℝ u x (1, 0)
/-- `∂ₜu`. -/
def partialT (u : ℝ × ℝ → Vec n) (x : ℝ × ℝ) : Vec n := fderiv ℝ u x (0, 1)
/-- The triples `(u, ∂ₛu, ∂ₜu)` of test sections `u`. -/
def testTriples (n : ℕ) (p : ℝ≥0∞) : Set (Triple n p) :=
{w | ∃ u, IsTestSection u ∧ (w.1 : ℝ × ℝ → Vec n) =ᵐ[cylMeasure] u ∧
(w.2.1 : ℝ × ℝ → Vec n) =ᵐ[cylMeasure] partialS u ∧
(w.2.2 : ℝ × ℝ → Vec n) =ᵐ[cylMeasure] partialT u}
variable (p : ℝ≥0∞) [Fact (1 ≤ p)]
/-- `W^{1,p}(ℝ × S¹, ℝ²ⁿ)`, as the closed subspace of `L^p × L^p × L^p` spanned by the
triples `(u, ∂ₛu, ∂ₜu)` of test sections; its norm is the product norm. -/
def W1p (n : ℕ) : Submodule ℝ (Triple n p) :=
(Submodule.span ℝ (testTriples n p)).topologicalClosure
variable {p}
/-- `D_S (u, v, w) = v + J₀ w + S u`, pointwise on the cylinder; on `(u, ∂ₛu, ∂ₜu)` this is
`∂ₛu + J₀ ∂ₜu + S(s, t) u`. -/
def crApply (S : ℝ × ℝ → Mat n) (w : Triple n p) (x : ℝ × ℝ) : Vec n :=
w.2.1 x + Matrix.toEuclideanLin (J₀ n) (w.2.2 x) + Matrix.toEuclideanLin (S x) (w.1 x)
variable (p)
/-- `ker D_S ⊆ W^{1,p}`. -/
def crKernel (S : ℝ × ℝ → Mat n) : Submodule ℝ (Triple n p) :=
Submodule.span ℝ {w | w ∈ W1p p n ∧ crApply S w =ᵐ[cylMeasure] 0}
/-- `im D_S ⊆ L^p`. -/
def crRange (S : ℝ × ℝ → Mat n) : Submodule ℝ (LpCyl n p) :=
Submodule.span ℝ {f | ∃ w ∈ W1p p n, (f : ℝ × ℝ → Vec n) =ᵐ[cylMeasure] crApply S w}
/-- `D_S : W^{1,p} → L^p` is Fredholm: finite-dimensional kernel, closed range of finite
codimension. -/
def IsFredholmCR (S : ℝ × ℝ → Mat n) : Prop :=
FiniteDimensional ℝ (crKernel p S) ∧ IsClosed (crRange p S : Set (LpCyl n p)) ∧
FiniteDimensional ℝ (LpCyl n p ⧸ crRange p S)
/-- The Fredholm index `dim ker D_S - dim coker D_S`. -/
def crIndex (S : ℝ × ℝ → Mat n) : ℤ :=
(Module.finrank ℝ (crKernel p S) : ℤ) - Module.finrank ℝ (LpCyl n p ⧸ crRange p S)
variable {p}
/-- `D_S u = ∂ₛu + J₀ ∂ₜu + S(s, t) u` for a differentiable map `u` on the cylinder. -/
def crOp (S : ℝ × ℝ → Mat n) (u : ℝ × ℝ → Vec n) (x : ℝ × ℝ) : Vec n :=
partialS u x + Matrix.toEuclideanLin (J₀ n) (partialT u x) + Matrix.toEuclideanLin (S x) (u x)
/-- The `W^{1,p}(ℝ × S¹)` norm `‖u‖_p + ‖∂ₛu‖_p + ‖∂ₜu‖_p`, with values in `[0, ∞]`. -/
def w1pNorm (p : ℝ≥0∞) (u : ℝ × ℝ → Vec n) : ℝ≥0∞ :=
eLpNorm u p cylMeasure + eLpNorm (partialS u) p cylMeasure + eLpNorm (partialT u) p cylMeasure
/-- Complex conjugation `(x, y) ↦ (x, -y)` on `ℝ²ⁿ = ℂⁿ`. -/
def conjMat (n : ℕ) : Mat n :=
Matrix.fromBlocks (1 : Matrix (Fin n) (Fin n) ℝ) 0 0 (-1)
/-- The real `2 × 2` matrix of `z ↦ β z̄` on `ℂ = ℝ²`: `[[Re β, Im β], [Im β, -Re β]]`. -/
def antilinearMat (β : ℂ) : Mat 1 :=
Matrix.fromBlocks (Matrix.of fun _ _ => β.re) (Matrix.of fun _ _ => β.im)
(Matrix.of fun _ _ => β.im) (Matrix.of fun _ _ => -β.re)
/-- `S : ℝ × ℝ → ℝ^{2n×2n}` is a continuous `t`-periodic coefficient with
`S(s, ·) → S⁺` as `s → +∞` and `S(s, ·) → S⁻` as `s → -∞`, uniformly in `t` and entrywise
(Wendl, Definition 4.2 with Remark 4.4). -/
def IsAsymptoticTo (S : ℝ × ℝ → Mat n) (Splus Sminus : ℝ → Mat n) : Prop :=
Continuous S ∧ (∀ s t, S (s, t + 1) = S (s, t)) ∧
∀ ε > 0, ∃ R : ℝ, ∀ s t, ∀ i j,
(R ≤ s → |S (s, t) i j - Splus t i j| ≤ ε) ∧ (s ≤ -R → |S (s, t) i j - Sminus t i j| ≤ ε)
end
end CauchyRiemannIndex
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Read-back: CauchyRiemannIndex setting (Definitions/Def_CauchyRiemannIndex_Setting.lean)
Setting. Namespace CauchyRiemannIndex. Matrices Mat n are real indexed by Fin n ⊕ Fin n; is Vec n = EuclideanSpace ℝ (Fin n ⊕ Fin n), with first block and second block . Matrix.J (checked in Mathlib: fromBlocks 0 (-1) 1 0), i.e. multiplication by under . The cylinder is modelled by maps on and the measure cylMeasure .
Hypotheses. None (definitions only). From W1p on, p : ℝ≥0∞ with [Fact (1 ≤ p)].
Definitions used.
- Conley–Zehnder part.
IsSymplectic Ameans (Mathlib: ).SpStar.- and . is symplectic, with the pair in the plane.
- and for . This is consistent with .
- , with junk value when the determinant is , which never happens for symplectic .
IsCZValue ψ kholds iff there are an -path from to and continuous lifts of and with , i.e. .czIndexis theClassical.chooseof such a , with fallback .
- Asymptotic operators.
IsSymLoop S: is continuous, 1-periodic, and pointwise symmetric.IsFundamentalSolution S Ψ: and for all . Since , this is exactly the solution operator of .IsNondegenerate Sfundamental solution, .asymptoticCZIndex Sis the chosen withIsCZValue (Ψ|_[0,1]) kfor some fundamental solution , with fallback .
- Sobolev part.
LpCyl n pandTriple, which carries the sup product norm.IsTestSection u: , , and with for . These are exactly of the cylinder.partialS u xandpartialT u x.testTriplestest with a.e. on the strip.W1p p n. This is the closure of the graph of on , i.e. embedded as . The graph is closable, so the 2nd and 3rd components of any are the weak derivatives of .crApply S w x, evaluated on representatives of the Lp classes. On this is .crKernel p S, as a submodule ofTriple.crRange p S, as a submodule ofLpCyl.IsFredholmCR: finite-dimensional kernel, closed range, and finite-dimensional algebraic quotient .crIndex.crOp S u xfor functions.w1pNorm p uon the strip.conjMat(complex conjugation).antilinearMat βis the matrix of ; check: for . Correct.IsAsymptoticTo S S⁺ S⁻: is continuous and -periodic, and entrywise, uniformly in , as .
Conclusion. n/a.
Degenerate cases.
- : every space is . of the empty matrix is , so every loop is nondegenerate. All statements become trivial.
crApply/crRangefor unbounded : might not be in , and such then contribute nothing to the range. UnderIsAsymptoticTo, is bounded on : it is continuous and periodic, close to the bounded for , and continuous on the compact middle. So is a genuine bounded operator.crIndexusesfinrank(junk in infinite dimension). It is meaningful only underIsFredholmCR.
Remarks.
- The two
spans are redundant, harmless wrappers: the inner sets are already subspaces, because coercion of Lp sums and scalar multiples agrees a.e. and is pointwise linear. - The values of Lp representatives outside the strip are irrelevant.
Sis evaluated only through a.e. equalities on the strip.IsNondegenerateis not vacuous: a continuous linear ODE has exactly one global fundamental solution, so the ∀ is the usual condition . By periodicity of , this is equivalent to "no nonzero 1-periodic solution of ".- The CZ choose/fallbacks are well defined only on -ending symplectic paths starting at . None of the audited items use the CZ part.
Soundness checks.
-
Junk values:
fderivjunk is , but only smooth are fed topartialS/partialT.rhoHatgives only off .czIndex/asymptoticCZIndexfall back to .crIndexuses the finrank junk .
Each needs a hypothesis in its consumers: symplectic/nondegenerate paths, and
IsFredholmCR. The ∀/∃ scopes inIsAsymptoticTogive uniformity in and in the entries , which is the intended uniform convergence.Set.univ ×ˢ Set.Ico 0 1is the strip , the fundamental domain. -
No statements are made, and the objects match the standard ones. The Triple norm is the max of the three norms, which is equivalent to
w1pNorm.
Verdict: no mis-formalization observed
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.