Documentation

LeanPool.JacobianDiffgeo.JacFunctorial.Trace

Form1.trace — the fibrewise trace of a holomorphic 1-form (jacobian-functoriality §6) #

Unit: jacobian-functoriality. For a nonconstant holomorphic f : X → Y between Riemann surfaces (X compact connected), the trace Tr_f η ∈ Form1 Y of η ∈ Form1 X: in the target chart at y, its coefficient is the sum over the fibre stack at y of the repaired Jacobian-weighted planar traces (RS.traceCoeff, TraceCoeff.lean) of η's chart coefficients, transported by the branch/chart transition derivatives.

Main declarations:

Planar helper: congruence of traceZk on the root set #

theorem RS.MTrace.traceZk_congr_root {g g' : } {k : } {w : } (h : ∀ (v : ), v ^ k = wg v = g' v) :
traceZk g k w = traceZk g' k w

Generic chart helpers #

theorem RS.deriv_eq_of_eventuallyEq_comp' {g h k : } {z : } (hg : DifferentiableAt g (h z)) (hh : DifferentiableAt h z) (heq : k =ᶠ[nhds z] g h) :
deriv k z = deriv g (h z) * deriv h z

Chain rule for deriv through an eventual factorization (local copy of Pullback.lean's private helper).

theorem RS.deriv_transition_mul {M : Type u_1} [TopologicalSpace M] [ChartedSpace M] {e e' : OpenPartialHomeomorph M } (he : e IsManifold.maximalAtlas (modelWithCornersSelf ) M) (he' : e' IsManifold.maximalAtlas (modelWithCornersSelf ) M) {q : M} (hq : q e.source) (hq' : q e'.source) :
deriv (e' e.symm) (e q) * deriv (e e'.symm) (e' q) = 1

The two transition derivatives between overlapping maximal-atlas charts are mutually inverse.

theorem RS.open_subset_closure_diff {U : Set } (hU : IsOpen U) {s : Set } (hs : s.Finite) :
Uclosure (U \ s)

A nonempty open planar set is inside the closure of its complement of any finite set.

The trace coefficient data #

noncomputable def RS.stackAt {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (y : Y) :

The canonical fibre stack at y (a fixed choice, shared by every construction below).

Equations
Instances For

    The chart of the trace's coefficient data at index y: the preferred chart at y, restricted to the stack neighborhood (stackAt hf hne y).V.

    Equations
    Instances For
      @[simp]
      theorem RS.traceChart_coe {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (y : Y) :
      (traceChart hf hne y) = (chartAt y)
      @[simp]
      theorem RS.traceChart_symm_coe {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (y : Y) :
      (traceChart hf hne y).symm = (chartAt y).symm
      noncomputable def RS.branchTrans {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (y : Y) (i : Fin (stackAt hf hne y).n) :

      The transition from the preferred chart's coordinate at y to the i-th branch's target chart coordinate.

      Equations
      Instances For
        theorem RS.analyticAt_branchTrans {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (y : Y) {w : } (hw : w (traceChart hf hne y).target) (i : Fin (stackAt hf hne y).n) :
        AnalyticAt (branchTrans hf hne y i) w
        theorem RS.branchTrans_mem_ball {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (y : Y) {w : } (hw : w (traceChart hf hne y).target) (i : Fin (stackAt hf hne y).n) :
        branchTrans hf hne y i w Metric.ball 0 (((stackAt hf hne y).A i).radius ^ multiplicity f ((stackAt hf hne y).pt i))
        noncomputable def RS.traceCoeffFun {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) (y : Y) :

        The coefficient of the trace in the chart at index y: the branch-transported sum of the repaired planar trace coefficients of η's stack-chart coefficients.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem RS.analyticAt_coeffIn_stack_zero {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) (y : Y) (i : Fin (stackAt hf hne y).n) :
          AnalyticAt (coeffIn ((stackAt hf hne y).A i).e η) 0

          Analyticity of the trace coefficient on the whole (restricted) chart target — including across branch points (the previous builder's blocker, discharged by RS.analyticOnNhd_traceCoeff).

          The canonical per-fibre-point coefficient qCoeff #

          noncomputable def RS.qCoeff {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] (f : XY) (η : Form1 X) (e₀ : OpenPartialHomeomorph Y ) (x : X) :

          The canonical (stack-independent) contribution of a fibre point x to the trace's coefficient in a target chart e₀: the coefficient of η at x, divided by the chart derivative of f. (Junk 0 at ramified x, where the chart derivative vanishes.)

          Equations
          Instances For
            theorem RS.deriv_chartRead_eq_of_adapted {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [ChartedSpace Y] {f : XY} {x₀ : X} {k : } (A : AdaptedChartsAt f x₀ k) {e₀ : OpenPartialHomeomorph Y } (he₀ : e₀ IsManifold.maximalAtlas (modelWithCornersSelf ) Y) {x : X} (hx : x A.e.source) (hfx : f x e₀.source) :
            deriv (e₀ f (chartAt x).symm) ((chartAt x) x) = deriv (e₀ A.e'.symm) (A.e' (f x)) * (k * A.e x ^ (k - 1)) * deriv (A.e (chartAt x).symm) ((chartAt x) x)

            Factorization of the chart derivative of f through a pair of adapted charts: d(f-in-charts) = d(target transition) · (k·v^(k-1)) · d(source transition).

            theorem RS.qCoeff_eq_branch_term {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [ChartedSpace Y] {f : XY} {y : Y} (S : FiberStack f y) (i : Fin S.n) {e₀ : OpenPartialHomeomorph Y } (he₀ : e₀ IsManifold.maximalAtlas (modelWithCornersSelf ) Y) {x : X} (hx : x (S.A i).e.source) (hfx : f x e₀.source) (η : Form1 X) :
            qCoeff f η e₀ x = deriv ((S.A i).e' e₀.symm) (e₀ (f x)) * (coeffIn (S.A i).e η ((S.A i).e x) * ((multiplicity f (S.pt i)) * (S.A i).e x ^ ((multiplicity f (S.pt i)) - 1))⁻¹)

            The per-fibre-point identity: qCoeff computed through the i-th branch of a fibre stack is exactly the branch-transported, Jacobian-divided coefficient of η (the integrand of traceZkForm). Holds at ramified points too (both sides junk to 0).

            theorem RS.traceCoeffFun_eq_qSum {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) {y yhat : Y} (hyhat : yhat (traceChart hf hne y).source) (hyhatne : yhat y) :
            traceCoeffFun hf hne η y ((chartAt y) yhat) = ∑ᶠ (x : X) (_ : x f ⁻¹' {yhat}), qCoeff f η (chartAt y) x

            Well-definedness at non-center points: the defining coefficient of the trace at yhat ≠ y (in the chart at index y) is the canonical qCoeff fibre sum over f⁻¹{yhat}.

            theorem RS.qSum_trans {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [ChartedSpace Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (η : Form1 X) {yhat : Y} {e₀ e₁ : OpenPartialHomeomorph Y } (he₀ : e₀ IsManifold.maximalAtlas (modelWithCornersSelf ) Y) (he₁ : e₁ IsManifold.maximalAtlas (modelWithCornersSelf ) Y) (hyhat₀ : yhat e₀.source) (hyhat₁ : yhat e₁.source) :
            ∑ᶠ (x : X) (_ : x f ⁻¹' {yhat}), qCoeff f η e₁ x = deriv (e₀ e₁.symm) (e₁ yhat) * ∑ᶠ (x : X) (_ : x f ⁻¹' {yhat}), qCoeff f η e₀ x

            The chart-transition law for the canonical fibre sum.

            theorem RS.traceCoeffFun_compat {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) (y y' p : Y) (hp : p (traceChart hf hne y).source (traceChart hf hne y').source) :
            traceCoeffFun hf hne η y' ((traceChart hf hne y') p) = deriv ((traceChart hf hne y) (traceChart hf hne y').symm) ((traceChart hf hne y') p) * traceCoeffFun hf hne η y ((traceChart hf hne y) p)

            The chart-compatibility law (CC1) of the trace's coefficient data: proved on the dense subset of the overlap avoiding the two chart centers via traceCoeffFun_eq_qSum/qSum_trans, and extended to the whole overlap by continuity.

            Assembly: traceForm and Form1.trace #

            noncomputable def RS.traceData {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) :

            The trace's coefficient data over the chart family ι := Y.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              noncomputable def RS.traceForm {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) :

              The trace of a holomorphic 1-form along a nonconstant holomorphic map, as a raw Form1 Y.

              Equations
              Instances For
                theorem RS.coeffIn_traceChart_traceForm {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) (y : Y) {w : } (hw : w (traceChart hf hne y).target) :
                coeffIn (traceChart hf hne y) (traceForm hf hne η) w = traceCoeffFun hf hne η y w
                theorem RS.coeffAt_traceForm {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) (yhat : Y) :
                coeffAt yhat (traceForm hf hne η) = traceCoeffFun hf hne η yhat ((chartAt yhat) yhat)

                Preferred-chart evaluation of the trace: the chart at index yhat restricts the preferred chart at yhat, so the transition factor is 1.

                theorem RS.traceCoeffFun_add {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η η' : Form1 X) (y : Y) (w : ) :
                traceCoeffFun hf hne (η + η') y w = traceCoeffFun hf hne η y w + traceCoeffFun hf hne η' y w

                Pointwise additivity of the trace coefficient in η.

                theorem RS.traceCoeffFun_smul {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (c : ) (η : Form1 X) (y : Y) (w : ) :
                traceCoeffFun hf hne (c η) y w = c * traceCoeffFun hf hne η y w

                Pointwise -homogeneity of the trace coefficient in η.

                theorem RS.traceForm_add {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η η' : Form1 X) :
                traceForm hf hne (η + η') = traceForm hf hne η + traceForm hf hne η'
                theorem RS.traceForm_smul {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (c : ) (η : Form1 X) :
                traceForm hf hne (c η) = c traceForm hf hne η

                Form1.trace (§6.1): the fibrewise trace of holomorphic 1-forms along a holomorphic f : X → Y, as a -linear map Form1 X →ₗ[ℂ] Form1 Y. The zero map for constant f (matching the gist's pullback convention on Jacobians).

                Equations
                Instances For
                  theorem RS.Form1.trace_apply {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) :
                  (trace f hf) η = traceForm hf hne η

                  The regular-value formula #

                  theorem RS.traceCoeff_eq_of_eq_one {h : } {k : } (hk : k = 1) (hh : AnalyticAt h 0) :

                  traceCoeff at an unramified branch (k = 1, hypothesis form usable under type-dependent k).

                  theorem RS.coeffAt_traceForm_of_isRegularValue {X : Type u_1} [TopologicalSpace X] [T2Space X] [CompactSpace X] [ConnectedSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) X] {Y : Type u_2} [TopologicalSpace Y] [T2Space Y] [ChartedSpace Y] [IsManifold (modelWithCornersSelf ) Y] {f : XY} (hf : ContMDiff (modelWithCornersSelf ) (modelWithCornersSelf ) f) (hne : ¬∃ (c : Y), ∀ (x : X), f x = c) (η : Form1 X) {yhat : Y} (hyhat : IsRegularValue f yhat) :
                  coeffAt yhat (traceForm hf hne η) = ∑ᶠ (x : X) (_ : x f ⁻¹' {yhat}), qCoeff f η (chartAt yhat) x

                  Regular-value evaluation of the trace: at a regular value yhat, the preferred-chart coefficient of traceForm η is the canonical fibre sum of qCoeff (every branch is unramified there, so the repaired coefficient evaluates literally).