Documentation

LeanPool.Rado.Surface.Germs

Conjugate germs and the étale space #

Step 6 of Rado/PLAN.md: harmonic conjugates normalized by Re F = u exactly (IsConjugate; existence on chart balls from Mathlib's Re-of-holomorphic, rigidity up to imaginary constants via the open mapping theorem), and the étale space ConjEtale u Y of conjugate germs: sheets over preconnected opens form a basis, the projection is an open local homeomorphism trivialized over conjugate neighbourhoods, the space is Hausdorff (identity theorem), the germ evaluation map is continuous with discrete fibers (isolated zeros; a constant germ would force u to be constant), and every connected component projects onto all of a connected base.

Conjugate germs and the étale space #

def Rado.IsConjugate {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (u : X) (F : X) (V : Set X) :

F is a holomorphic conjugate-package for u on V: holomorphic with Re F = u there.

Equations
Instances For
    theorem Rado.exists_conjugate {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) 1 X] {u : X} {s : Set X} (hu : SurfaceHarmonicOn u s) (hs : IsOpen s) {x : X} (hx : x s) :
    ∃ (V : Set X) (F : X), IsOpen V IsPreconnected V x V Vs IsConjugate u F V

    Existence of conjugates on small connected neighbourhoods of any point of a harmonic function's domain (Schwarz integral in a chart; InnerProductSpace.HarmonicOnNhd.exists_analyticOnNhd_ball_re_eq).

    theorem Rado.IsConjugate.eventuallyEq_add_const {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) 1 X] {u : X} {F G : X} {V W : Set X} (hV : IsOpen V) (hW : IsOpen W) (hF : IsConjugate u F V) (hG : IsConjugate u G W) {y : X} (hyV : y V) (hyW : y W) :
    ∃ (t : ), F =ᶠ[nhds y] fun (z : X) => G z + t * Complex.I

    Local rigidity: two conjugates near a point agree near that point up to an imaginary constant; in particular a conjugate germ over a preconnected open V extends to all of V once one conjugate exists on V.

    theorem Rado.IsConjugate.add_const_mul_I {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {F : X} {V : Set X} (hF : IsConjugate u F V) (t : ) :
    IsConjugate u (fun (z : X) => F z + t * Complex.I) V

    Adding an imaginary constant preserves conjugacy.

    theorem Rado.IsConjugate.mono {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {F : X} {V W : Set X} (hF : IsConjugate u F V) (hWV : WV) :

    Conjugates restrict to subsets.

    theorem Rado.IsConjugate.exists_sub_const {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) 1 X] {u : X} {F G : X} {V : Set X} (hV : IsOpen V) (hVc : IsPreconnected V) (hF : IsConjugate u F V) (hG : IsConjugate u G V) :
    ∃ (t : ), Set.EqOn G (fun (z : X) => F z + t * Complex.I) V

    Rigidity: two conjugates on a preconnected open set differ by an imaginary constant.

    theorem Rado.SurfaceHarmonicOn.eqOn_const_of_locallyConstant {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) 1 X] {u : X} {s : Set X} (hu : SurfaceHarmonicOn u s) (hs : IsOpen s) (hsc : IsPreconnected s) {y : X} (hy : y s) (hloc : ∀ᶠ (z : X) in nhds y, u z = u y) :
    Set.EqOn u (fun (x : X) => u y) s

    A harmonic function that is locally constant near an accumulation of constancy cannot avoid being constant: on a preconnected open set, if u is locally constant near one point, it is constant. (Via conjugates and the identity theorem for the chart derivative.)

    noncomputable def Rado.germValue {X : Type u_1} [TopologicalSpace X] {y : X} (γ : (nhds y).Germ ) :

    The value of a germ at the base point of its filter (well defined because every neighbourhood of y contains y).

    Equations
    Instances For
      @[simp]
      theorem Rado.germValue_coe {X : Type u_1} [TopologicalSpace X] {y : X} (F : X) :
      germValue F = F y
      theorem Rado.isOpen_eventuallyEq_nhds {X : Type u_1} [TopologicalSpace X] {F G : X} :

      The set of points where two functions have the same germ is open.

      def Rado.ConjEtale {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (u : X) (Y : Set X) :
      Type u_1

      The étale space of conjugate germs of u over Y: pairs of a point y ∈ Y and the germ at y of a conjugate of u defined on some open neighbourhood inside Y.

      Equations
      Instances For
        def Rado.ConjEtale.sheet {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {Y : Set X} (V : Set X) (F : X) :

        The sheet of a conjugate F over V.

        Equations
        Instances For
          def Rado.ConjEtale.basicSets {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] (u : X) (Y : Set X) :
          Set (Set (ConjEtale u Y))

          Basic open sets: sheets of conjugates over preconnected opens inside Y.

          Equations
          Instances For
            def Rado.ConjEtale.proj {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {Y : Set X} (q : ConjEtale u Y) :
            X

            The projection to the surface.

            Equations
            Instances For
              noncomputable def Rado.ConjEtale.eval {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {Y : Set X} (q : ConjEtale u Y) :

              The evaluation map.

              Equations
              Instances For
                theorem Rado.ConjEtale.mem_sheet_iff {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {Y V : Set X} {F : X} {q : ConjEtale u Y} :
                q sheet V F (↑q).fst V (↑q).snd = F

                Membership in a sheet, unfolded.

                theorem Rado.ConjEtale.isOpen_of_mem_basicSets {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {Y : Set X} {S : Set (ConjEtale u Y)} (hS : S basicSets u Y) :

                Basic sets are open.

                The sheets form a topological basis.

                theorem Rado.ConjEtale.injOn_proj_sheet {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {Y V : Set X} {F : X} :

                proj restricted to a sheet is injective (germs of a single F).

                theorem Rado.ConjEtale.t2Space {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {Y : Set X} [T2Space X] :

                Hausdorffness of the étale space (identity theorem).

                theorem Rado.ConjEtale.exists_mk {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) 1 X] {u : X} {Y : Set X} (hu : SurfaceHarmonicOn u Y) (hY : IsOpen Y) {y : X} (hy : y Y) :
                ∃ (q : ConjEtale u Y), q.proj = y

                Every point of Y has a conjugate germ over it.

                The étale space inherits the local properties needed by Poincaré–Volterra: local compactness, local connectedness, local second countability.

                theorem Rado.ConjEtale.locally_secondCountable {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] {u : X} {Y : Set X} (q : ConjEtale u Y) :
                ∃ (U : Set (ConjEtale u Y)), q U IsOpen U SecondCountableTopology U
                theorem Rado.ConjEtale.eval_discrete_fibers {X : Type u_1} [TopologicalSpace X] [ChartedSpace X] [IsManifold (modelWithCornersSelf ) 1 X] {u : X} {Y : Set X} (hu : SurfaceHarmonicOn u Y) (hY : IsOpen Y) (hYc : IsPreconnected Y) {x₀ x₁ : X} (h₀ : x₀ Y) (h₁ : x₁ Y) (hne : u x₀ u x₁) (q : ConjEtale u Y) :
                Unhds q, wU, w.eval = q.evalw = q

                Discreteness of the fibers of eval: if evaluation were constant near a germ, u would be locally constant near the base point, hence constant on all of connected Y (SurfaceHarmonicOn.eqOn_const_of_locallyConstant) — contradicting nonconstancy.

                Over a connected Y, every connected component of the étale space projects onto all of Y (openness and closedness of the image of a component, via local triviality of proj over small preconnected chart neighbourhoods).