Documentation

LeanPool.JacobianDiffgeo.Path.HomotopySquare

Homotopy invariance: the 2D grid argument (CC6) #

Unit: paths-and-integrals (docs/design/paths-and-integrals.md §5). A primitive of η along a continuous homotopy square exists (hand-rolled grid via mathlib's 2D Lebesgue-number lemma exists_monotone_Icc_subset_open_cover_unitInterval_prod_self), subsuming both rel-endpoint and free-loop homotopy invariance of pathIntegral.

Main declarations:

The clamped map of a homotopy square #

noncomputable def RS.gridK {X : Type u_1} [TopologicalSpace X] (H : C(unitInterval × unitInterval, X)) (p : × ) :
X

The map ℝ × ℝ → X obtained by clamping both coordinates of H : C(I × I, X) into [0,1].

Equations
Instances For

    The 2D chart-ball subdivision #

    structure RS.GridChain {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (H : C(unitInterval × unitInterval, X)) :
    Type u_1

    A grid subdivision of [0,1]² with chart-and-ball data adapted to H: on each cell Icc (t j) (t (j+1)) ×ˢ Icc (t k) (t (k+1)), gridK H stays inside a single chart-ball.

    Instances For

      Product hcov/preconnectedness helpers (the only genuinely new bookkeeping vs 1D) #

      Row assembly (inner induction) #

      Column stacking (outer induction) and the square theorem #

      A primitive of η along a continuous square H : C(I × I, X) exists (along the clamped map on all of ℝ × ℝ).

      Consequences: homotopy invariance of pathIntegral #

      theorem RS.pathIntegral_congr_homotopic {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {x y : X} {γ₀ γ₁ : Path x y} (h : γ₀.Homotopic γ₁) (η : Form1 X) :
      pathIntegral γ₀ η = pathIntegral γ₁ η
      noncomputable def RS.pathIntegralQ {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {x y : X} (η : Form1 X) (q : Path.Homotopic.Quotient x y) :

      Descent of the integral to homotopy classes.

      Equations
      Instances For
        theorem RS.pathIntegral_congr_freeHomotopic {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {x₀ x₁ : X} {γ₀ : Path x₀ x₀} {γ₁ : Path x₁ x₁} (H : γ₀.Homotopy γ₁.toContinuousMap) (hloop : ∀ (s : unitInterval), H (s, 0) = H (s, 1)) (η : Form1 X) :
        pathIntegral γ₀ η = pathIntegral γ₁ η

        Free homotopy of loops (moving basepoint) preserves periods.