Documentation

LeanPool.JacobianDiffgeo.Monodromy.OpenLocus

monodromy: the open pole/zero-free locus as a Riemann surface #

Unit: monodromy (docs/design/monodromy.md §4.1). Relativizes Jacobian/Path/'s per-path machinery (IsPrimitiveAlongMap, chain continuation, homotopy invariance) to an open subset s : Opens X of a Riemann surface X, at zero proof cost: mathlib gives an open submanifold of a charted space / IsManifold the same instances for free (TopologicalSpace.Opens.instChartedSpace, and the derived IsManifold instance for opens), so Path's declarations — stated for a fully generic X satisfying only [TopologicalSpace X] [ChartedSpace ℂ X] [IsManifold 𝓘(ℂ) ω X], no T2Space/CompactSpace/ConnectedSpace — apply to s by direct instantiation, term for term (spike-verified, scratch_mono.lean, project root).

Main declarations:

The open locus determined by a closed "bad set" (in practice a divisor support).

Equations
Instances For

    Finite bad sets are closed in a T2Space (Set.Finite.isClosed), hence give an open locus. The standing surface is compact, so this is the case actually used in LogContinuation.lean ((divisor f).support is finite by finite_support_divisor).

    Equations
    Instances For
      @[simp]
      theorem RS.Monodromy.mem_openLocus {X : Type u_1} [TopologicalSpace X] {S : Set X} (hS : IsClosed S) {x : X} :
      x openLocus hS xS
      @[simp]
      theorem RS.Monodromy.mem_openLocusOfFinite {X : Type u_1} [TopologicalSpace X] [T2Space X] {S : Set X} (hS : S.Finite) {x : X} :
      def RS.Monodromy.Path.liftOpenLocus {X : Type u_1} [TopologicalSpace X] {S : Set X} (hS : IsClosed S) {x y : X} (γ : Path x y) ( : ∀ (t : unitInterval), γ tS) :
      Path x, y,

      Lift a path of X whose whole range avoids S to a path in the open locus.

      Equations
      Instances For
        theorem RS.Monodromy.Path.liftOpenLocus_extend {X : Type u_1} [TopologicalSpace X] {S : Set X} (hS : IsClosed S) {x y : X} (γ : Path x y) ( : ∀ (t : unitInterval), γ tS) (t : ) :
        ((liftOpenLocus hS γ ).extend t) = γ.extend t

        The lift's extend recovers γ.extend pointwise (needed to translate IsPrimitiveAlong facts about the lift back into statements about γ.extend, f.holoRepr, etc.).

        NB: called with the fully-qualified name Path.liftOpenLocus, not dot notation — Path is a mathlib root-namespace type, so a declaration named Path.foo nested inside RS.Monodromy is not found by the dot-notation mechanism (only by ordinary name resolution, which does see it since we are inside the RS.Monodromy namespace).