Documentation

TauCeti.Geometry.Manifold.Complex.StructureSheaf.Node.LocalRing

The local ring of a node #

A node of a nodal complex curve is obtained by gluing a point p of one normalized component to a point q of another (or of the same) component. A function near the node is a pair of holomorphic germs, one on each branch, taking the same value at the node. This file defines the local ring of the node in exactly this form, directly from the holomorphic stalks of the two branches and without any hypersurface chart:

The definition and these properties hold for complex manifolds of any dimension. On complex curves a centered chart at each branch point gives the two coordinate germs nodeLocalRing.fstCoordinate and nodeLocalRing.sndCoordinate: a coordinate of one branch, extended by zero on the other. Their product is zero, so the node ring is not an integral domain, and together they generate the maximal ideal (nodeLocalRing.maximalIdeal_eq_span_coordinate). The kernel of each branch restriction is generated by the coordinate of the other branch. These are the relations xy = 0 and π”ͺ = (x, y) of the analytic local ring β„‚{x, y}/(xy) of the plane node, here derived from the branch description.

The fibre product of the two stalk evaluations is the concrete form of the pullback in CommRingCat described by Mathlib's CommRingCat.pullbackCone.

References #

The local ring of the node obtained by gluing p to q: pairs of holomorphic germs at the two branch points with equal values, under componentwise operations.

Instances For
    @[simp]

    A pair of branch germs is a germ at the node exactly when the two germs have equal values.

    Restriction of a germ at the node to its branch at p.

    Instances For

      Restriction of a germ at the node to its branch at q.

      Instances For

        The value of a germ at the node.

        Instances For
          theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.fst_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} (f : β†₯(nodeLocalRing I J p q)) :
          (fst I J p q) f = (↑f).1

          The first branch restriction is the first component of the pair of germs.

          theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.snd_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} (f : β†₯(nodeLocalRing I J p q)) :
          (snd I J p q) f = (↑f).2

          The second branch restriction is the second component of the pair of germs.

          @[simp]
          theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.eval_fst {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} (f : β†₯(nodeLocalRing I J p q)) :
          (holomorphicStructureSheaf.eval I X p) ((fst I J p q) f) = (eval I J p q) f

          The value at the node is the value of the first branch germ at p.

          @[simp]
          theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.eval_snd {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} (f : β†₯(nodeLocalRing I J p q)) :
          (holomorphicStructureSheaf.eval J Y q) ((snd I J p q) f) = (eval I J p q) f

          The value at the node is the value of the second branch germ at q.

          theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.ext {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} {f g : β†₯(nodeLocalRing I J p q)} (hfst : (fst I J p q) f = (fst I J p q) g) (hsnd : (snd I J p q) f = (snd I J p q) g) :
          f = g

          A germ at the node is determined by its two branch germs.

          theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.ext_iff {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} {f g : β†₯(nodeLocalRing I J p q)} :
          f = g ↔ (fst I J p q) f = (fst I J p q) g ∧ (snd I J p q) f = (snd I J p q) g

          Two branch germs with equal values glue to a germ at the node.

          Instances For
            @[simp]

            The first branch germ of a glued germ.

            @[simp]

            The second branch germ of a glued germ.

            Every holomorphic germ on the first branch extends to a germ at the node.

            Every holomorphic germ on the second branch extends to a germ at the node.

            The product of the branch stalks is finite over the node ring.

            Every complex number is the value at the node of some germ.

            noncomputable def TauCeti.holomorphicStructureSheaf.nodeLocalRing.lift {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} {R : Type u_5} [CommRing R] (Ο† : R β†’+* ↑((holomorphicStructureSheaf I X).presheaf.stalk p)) (ψ : R β†’+* ↑((holomorphicStructureSheaf J Y).presheaf.stalk q)) (h : βˆ€ (r : R), (holomorphicStructureSheaf.eval I X p) (Ο† r) = (holomorphicStructureSheaf.eval J Y q) (ψ r)) :
            R β†’+* β†₯(nodeLocalRing I J p q)

            The universal property of the node ring as a fibre product: two ring homomorphisms to the branch stalks with equal values at the node combine into a ring homomorphism to the node ring.

            Instances For
              @[simp]
              theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.fst_lift {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} {R : Type u_5} [CommRing R] (Ο† : R β†’+* ↑((holomorphicStructureSheaf I X).presheaf.stalk p)) (ψ : R β†’+* ↑((holomorphicStructureSheaf J Y).presheaf.stalk q)) (h : βˆ€ (r : R), (holomorphicStructureSheaf.eval I X p) (Ο† r) = (holomorphicStructureSheaf.eval J Y q) (ψ r)) (r : R) :
              (fst I J p q) ((lift Ο† ψ h) r) = Ο† r

              The first branch germ of a lifted element.

              @[simp]
              theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.snd_lift {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} {R : Type u_5} [CommRing R] (Ο† : R β†’+* ↑((holomorphicStructureSheaf I X).presheaf.stalk p)) (ψ : R β†’+* ↑((holomorphicStructureSheaf J Y).presheaf.stalk q)) (h : βˆ€ (r : R), (holomorphicStructureSheaf.eval I X p) (Ο† r) = (holomorphicStructureSheaf.eval J Y q) (ψ r)) (r : R) :
              (snd I J p q) ((lift Ο† ψ h) r) = ψ r

              The second branch germ of a lifted element.

              theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.ringHom_ext {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} {R : Type u_5} [CommRing R] {Ο† ψ : R β†’+* β†₯(nodeLocalRing I J p q)} (hfst : (fst I J p q).comp Ο† = (fst I J p q).comp ψ) (hsnd : (snd I J p q).comp Ο† = (snd I J p q).comp ψ) :
              Ο† = ψ

              Ring homomorphisms to the node ring agree when both of their branch restrictions agree.

              theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.lift_fst_comp_snd_comp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} {R : Type u_5} [CommRing R] (Ο† : R β†’+* β†₯(nodeLocalRing I J p q)) :
              lift ((fst I J p q).comp Ο†) ((snd I J p q).comp Ο†) β‹― = Ο†

              A ring homomorphism to the node ring is the lift of its two branch restrictions.

              theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.isUnit_iff {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} (f : β†₯(nodeLocalRing I J p q)) :
              IsUnit f ↔ (eval I J p q) f β‰  0

              A germ at the node is a unit exactly when its value at the node is nonzero.

              Evaluation at the node detects units.

              The node ring is a local ring.

              The nonunits of the node ring are exactly the germs vanishing at the node.

              @[simp]

              The maximal ideal of the node ring consists of the germs vanishing at the node.

              Restricting a germ at the node to its first branch is a local homomorphism.

              Restricting a germ at the node to its second branch is a local homomorphism.

              Evaluation identifies the residue field of the node ring with β„‚.

              Instances For
                @[simp]
                theorem TauCeti.holomorphicStructureSheaf.nodeLocalRing.residueFieldEquiv_residue {E : Type u_1} [NormedAddCommGroup E] [NormedSpace β„‚ E] {H : Type u_2} [TopologicalSpace H] {I : ModelWithCorners β„‚ E H} {X : Type} [TopologicalSpace X] [ChartedSpace H X] {E' : Type u_3} [NormedAddCommGroup E'] [NormedSpace β„‚ E'] {H' : Type u_4} [TopologicalSpace H'] {J : ModelWithCorners β„‚ E' H'} {Y : Type} [TopologicalSpace Y] [ChartedSpace H' Y] {p : X} {q : Y} (f : β†₯(nodeLocalRing I J p q)) :
                (residueFieldEquiv I J p q) ((IsLocalRing.residue β†₯(nodeLocalRing I J p q)) f) = (eval I J p q) f

                The residue-field comparison sends the residue of a germ to its value at the node.

                Branch coordinates at a node of complex curves #

                A centered coordinate of the first branch, extended by zero on the second branch.

                Instances For

                  A centered coordinate of the second branch, extended by zero on the first branch.

                  Instances For