The Conley–Zehnder index of a nondegenerate path is unchanged by a change of frame along a loop of winding zero
ProvedHryniewiczCriterion.czIndexOfPath_conj_of_loopLet be continuous with and . Let be continuous with , and assume that the loop has winding number zero around the origin: there are a continuous with and with
Then Hryniewicz's index of the path equals that of :
This is the invariance of the Conley–Zehnder index of a nondegenerate path under a change of symplectic trivialization by a loop that is contractible in . It is used to compare the index of a periodic orbit computed in one global frame with the index computed in another frame along the orbit.
Formalization Note is HryniewiczCriterion.czIndexOfPath (closed form of of the winding interval). Paths are maps ℝ → Matrix (Fin 2) (Fin 2) ℝ; only their values on matter, and continuity is ContinuousOn on Set.Icc 0 1. Membership in is stated as determinant , and and are rotationVector 0 and rotationVector θ.
import Definitions.Def_HryniewiczCriterion_ConleyZehnder import Mathlib.Topology.Instances.Matrix import Mathlib.LinearAlgebra.Matrix.NonsingularInverse open HryniewiczCriterion
/-- Let `φ : [0, 1] → Sp(1)` be continuous with `φ(0) = I` and `1` not an eigenvalue of `φ(1)`,
and let `G : [0, 1] → Sp(1)` be continuous with `G(1) = G(0)` such that the loop
`t ↦ G(t) G(0)⁻¹ e₁` has winding number zero. Then `czIndexOfPath (G φ G(0)⁻¹) = czIndexOfPath φ`. -/
theorem HryniewiczCriterion.czIndexOfPath_conj_of_loop (φ G : ℝ → Matrix (Fin 2) (Fin 2) ℝ)
(hφc : ContinuousOn φ (Set.Icc 0 1)) (hφ0 : φ 0 = 1)
(hφd : ∀ t ∈ Set.Icc (0 : ℝ) 1, (φ t).det = 1) (hφ1 : (1 - φ 1).det ≠ 0)
(hGc : ContinuousOn G (Set.Icc 0 1)) (hGd : ∀ t ∈ Set.Icc (0 : ℝ) 1, (G t).det = 1)
(hG1 : G 1 = G 0) (θ : ℝ → ℝ) (hθc : ContinuousOn θ (Set.Icc 0 1)) (hθ1 : θ 1 = θ 0)
(hθ : ∀ t ∈ Set.Icc (0 : ℝ) 1, ∃ r : ℝ, 0 < r ∧
(G t * (G 0)⁻¹).mulVec (rotationVector 0) = r • rotationVector (θ t)) :
czIndexOfPath (fun t => G t * φ t * (G 0)⁻¹) = czIndexOfPath φ := by sorry