Documentation

LeanPool.JacobianDiffgeo.JacobianConstruction.Torus

The abstract torus layer: V ⧸ L for L : AddSubgroup V #

Unit: jacobian-construction (docs/design/jacobian-construction.md §3–§9). This is the reusable core of the whole unit: for a complex normed space V (always instantiated at Fin n → ℂ) and an additive subgroup L, we build:

These are genuine theorems/instances gated by typeclass hypotheses ([DiscreteTopology L], [IsZLattice ℝ L]); Lean cannot discharge these hypotheses for an arbitrary L, so they only fire once a caller supplies them — which is exactly the hook period-lattice-rank uses once it establishes discreteness/full-rank for the actual period subgroup.

§3. Free instances: AddCommGroup/TopologicalSpace/T2Space, no hypotheses at all #

The quotient of V by the topological closure of any additive subgroup is Hausdorff — for every subgroup, no discreteness or full-rank input at all. This is what lets Jac₀ X := (Fin (genus X) → ℂ) ⧸ (periodSubgroup X).topologicalClosure be T2Space immediately, including at genus X = 0.

§4.1. Uniform injectivity radius #

theorem RS.exists_uniform_injRadius {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] :
∃ (ρ : ), 0 < ρ L, 02 * ρ

Every discrete additive subgroup of a normed space has a uniform injectivity radius: some ρ > 0 such that every nonzero element has norm at least .

noncomputable def RS.injRadius {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] :

A choice of uniform injectivity radius for L.

Equations
Instances For
    theorem RS.norm_le_of_mem_injRadius {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] { : V} (hℓ : L) (hne : 0) :

    QuotientAddGroup.mk is injective on any ball of radius injRadius L.

    §4.2. The raw representative chart family #

    noncomputable def RS.rawChartAux {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] (x : V) :

    The auxiliary chart going VV ⧸ L: mk restricted to the injectivity ball around x, which is a continuous open injection, hence (by ofContinuousOpen) an OpenPartialHomeomorph.

    Equations
    Instances For
      @[simp]
      theorem RS.rawChartAux_apply {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] (x z : V) :
      (rawChartAux L x) z = z
      noncomputable def RS.chartAt' {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] (x : V) :

      The chart at representative x : V: sends a class near x to its unique representative in ball x (injRadius L).

      Equations
      Instances For
        @[simp]
        theorem RS.chartAt'_symm {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] (x : V) :
        @[simp]
        theorem RS.chartAt'_apply_mk {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] {x z : V} (hz : z Metric.ball x (injRadius L)) :
        (chartAt' L x) z = z

        The defining property of chartAt': on a representative z inside the ball, the chart recovers z.

        theorem RS.chartAt'_eq_add_of_mem_ball {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] {x' w : V} (hℓ : L) (hmem : w + Metric.ball x' (injRadius L)) :
        (chartAt' L x') w = w +

        If w + ℓ lands in the ball around x' for some ℓ ∈ L, the chart at x' reads the class of w as w + ℓ. This is the single computation underlying every transition/smoothness proof below.

        theorem RS.chartAt'_eventuallyEq_add {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] {x' w : V} (hℓ : L) (hmem : w + Metric.ball x' (injRadius L)) :
        (fun (w : V) => (chartAt' L x') w) =ᶠ[nhds w] fun (w : V) => w +

        Local constancy: the identity chartAt' L x' (mk w) = w + ℓ persists on a whole neighborhood of w, for the same .

        @[instance_reducible]
        noncomputable instance RS.instChartedSpace {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] :

        ChartedSpace V (V ⧸ L), given a discrete additive subgroup L.

        Equations
        @[simp]
        theorem RS.chartAt_eq {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) [DiscreteTopology L] (q : V L) :
        theorem RS.extChartAt_apply_eq {V : Type u_1} [NormedAddCommGroup V] [NormedSpace V] (L : AddSubgroup V) [DiscreteTopology L] (q q' : V L) :

        The canonical chart at q, evaluated at any point, agrees with chartAt' at the same representative.

        §4.3. IsManifold: transitions are translations by a locally-constant lattice element #

        The transition map between two raw representative charts is analytic on its whole source (translation by a locally-constant lattice element). Exposed standalone (not just inside the IsManifold instance) so the ULift transport toolkit can reuse it verbatim.

        The torus V ⧸ L is an ω-manifold modelled on V (raw representative charts; transitions are translations by a locally-constant lattice element).

        §5. LieAddGroup: addition/negation are affine in the raw charts #

        theorem RS.continuous_add_torus {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) :
        Continuous fun (p : (V L) × V L) => p.1 + p.2
        theorem RS.continuous_neg_torus {V : Type u_1} [NormedAddCommGroup V] (L : AddSubgroup V) :
        Continuous fun (q : V L) => -q

        Addition on the torus is ω-smooth: in aligned raw charts (codomain chart representative chosen at a fixed lattice offset from the sum of the domain representatives), the chart composite is affine.

        Negation on the torus is ω-smooth: same affine-chart-composite argument as addition.

        The torus V ⧸ L is an additive Lie group.

        §6. CompactSpace, given the full-rank hypothesis #

        The torus V ⧸ L.toAddSubgroup is compact, given that L is a full-rank -lattice (IsZLattice ℝ L): a periodic continuous map onto a normed space has compact range.

        §9. The →ₜ+ functoriality substrate #

        The →ₜ+ functoriality substrate: a -linear map T : V →ₗ[ℂ] V' with L ≤ L'.comap T induces a continuous additive homomorphism on the quotients.

        Equations
        Instances For
          @[simp]
          theorem RS.inducedHom_apply_mk {V : Type u_1} [NormedAddCommGroup V] [NormedSpace V] {V' : Type u_2} [NormedAddCommGroup V'] [NormedSpace V'] [FiniteDimensional V] {L : AddSubgroup V} {L' : AddSubgroup V'} {T : V →ₗ[] V'} (hT : L AddSubgroup.comap T.toAddMonoidHom L') (x : V) :
          (inducedHom L L' T hT) x = (T x)
          theorem RS.analyticAt_linearMap {V : Type u_1} [NormedAddCommGroup V] [NormedSpace V] {V' : Type u_2} [NormedAddCommGroup V'] [NormedSpace V'] [FiniteDimensional V] (T : V →ₗ[] V') (x : V) :
          AnalyticAt (⇑T) x

          Any -linear map between finite-dimensional normed spaces is entire (analytic at every point): it is continuous (finite-dimensional domain), hence bounded, hence its own convergent power series.

          The induced map on tori is ω-smooth, given discreteness of both lattices (needed for the manifold structure on either side; no further hypothesis on T/hT beyond linearity).

          Functoriality of inducedHom (requested by jacobian-functoriality, #

          docs/requests/jacobian-construction.md)

          theorem RS.inducedHom_comp {V : Type u_1} [NormedAddCommGroup V] [NormedSpace V] {V' : Type u_2} [NormedAddCommGroup V'] [NormedSpace V'] [FiniteDimensional V] [FiniteDimensional V'] {V'' : Type u_3} [NormedAddCommGroup V''] [NormedSpace V''] (L : AddSubgroup V) (L' : AddSubgroup V') (L'' : AddSubgroup V'') (T : V →ₗ[] V') (T' : V' →ₗ[] V'') (hT : L AddSubgroup.comap T.toAddMonoidHom L') (hT' : L' AddSubgroup.comap T'.toAddMonoidHom L'') (hTT' : L AddSubgroup.comap (T' ∘ₗ T).toAddMonoidHom L'') :
          (inducedHom L' L'' T' hT').comp (inducedHom L L' T hT) = inducedHom L L'' (T' ∘ₗ T) hTT'

          inducedHom is compositional (QuotientAddGroup.map functoriality).