Documentation

Mathlib.AlgebraicGeometry.OrderOfVanishing.Basic

Order of vanishing in a scheme #

In this file we define the order of vanishing of an element of the function field of a locally Noetherian integral scheme at a point of codimension 1, and develop its basic API.

Order of vanishing on a locally Noetherian integral scheme as a monoid with zero hom to ℤᵐ⁰.

Equations
Instances For
    theorem AlgebraicGeometry.Scheme.ordHom_of_isUnit {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {U : X.Opens} [Nonempty ↥↑U] {f : ↑(X.presheaf.obj (Opposite.op U))} (hf : IsUnit f) {x : ↥X} (hx : Order.coheight x = 1) (hx' : x ∈ U) :
    noncomputable def AlgebraicGeometry.Scheme.ord {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] (f : ↑X.functionField) (z : ↥X) :

    The order of vanishing of an element of the function field of a locally Noetherian integral scheme at a point. This has a junk value of 0 if f = 0 or if coheight z ≠ 1.

    Equations
    Instances For
      theorem AlgebraicGeometry.Scheme.ord_eq_iff {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {z : ↥X} (hz : Order.coheight z = 1) {f : ↑X.functionField} (hf : f ≠ 0) {n : ℤ} :
      ord f z = n ↔ (ordHom z hz) f = ↑(Multiplicative.ofAdd n)
      @[simp]
      theorem AlgebraicGeometry.Scheme.ord_mul {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {x : ↥X} {f g : ↑X.functionField} (hf : f ≠ 0) (hg : g ≠ 0) :
      ord (f * g) x = ord f x + ord g x
      @[simp]
      @[simp]
      theorem AlgebraicGeometry.Scheme.ord_div {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] (z : ↥X) {f g : ↑X.functionField} (hf : f ≠ 0) (hg : g ≠ 0) :
      ord (f / g) z = ord f z - ord g z
      @[simp]
      theorem AlgebraicGeometry.Scheme.ord_pow {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] (z : ↥X) (f : ↑X.functionField) (n : ℕ) :
      ord (f ^ n) z = ↑n * ord f z
      @[simp]
      theorem AlgebraicGeometry.Scheme.ord_zpow {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] (z : ↥X) (f : ↑X.functionField) (n : ℤ) :
      ord (f ^ n) z = n * ord f z
      @[simp]
      theorem AlgebraicGeometry.Scheme.ord_prod {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {ι : Type u_1} (z : ↥X) (T : Finset ι) (F : ι → ↑X.functionField) (hF : ∀ i ∈ T, F i ≠ 0) :
      ord (∏ i ∈ T, F i) z = ∑ i ∈ T, ord (F i) z
      @[simp]
      theorem AlgebraicGeometry.Scheme.ord_of_isUnit {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {U : X.Opens} [Nonempty ↥↑U] {f : ↑(X.presheaf.obj (Opposite.op U))} (hf : IsUnit f) {x : ↥X} (hx' : x ∈ U) :
      @[simp]
      theorem AlgebraicGeometry.Scheme.ord_neg {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] (f : ↑X.functionField) (z : ↥X) :
      ord (-f) z = ord f z
      theorem AlgebraicGeometry.Scheme.ord_le_ord_iff {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {x y : ↥X} (hx : Order.coheight x = 1) (hy : Order.coheight y = 1) {f g : ↑X.functionField} (hf : f ≠ 0) (hg : g ≠ 0) :
      ord f x ≤ ord g y ↔ (ordHom x hx) f ≤ (ordHom y hy) g
      theorem AlgebraicGeometry.Scheme.le_ord_iff {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {x : ↥X} (hx : Order.coheight x = 1) {f : ↑X.functionField} (hf : f ≠ 0) {n : ℤ} :
      n ≤ ord f x ↔ ↑(Multiplicative.ofAdd n) ≤ (ordHom x hx) f
      theorem AlgebraicGeometry.Scheme.ord_le_smul {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {x : ↥X} {U : X.Opens} [Nonempty ↥↑U] (hxU : x ∈ U) {a : ↑(X.presheaf.obj (Opposite.op U))} (ha : a ≠ 0) (f : ↑X.functionField) :
      ord f x ≤ ord (a • f) x
      theorem AlgebraicGeometry.Scheme.ord_algebraMap_section_nonneg {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {U : X.Opens} [Nonempty ↥↑U] (w : ↥U) {r : ↑(X.presheaf.obj (Opposite.op U))} (hr : r ≠ 0) :
      0 ≤ ord ((algebraMap ↑(X.presheaf.obj (Opposite.op U)) ↑X.functionField) r) ↑w
      theorem AlgebraicGeometry.Scheme.ord_eq_zero_of_mem_basicOpen {X : Scheme} [IsIntegral X] [IsLocallyNoetherian X] {U : X.Opens} [Nonempty ↥↑U] (w : ↥U) {r : ↑(X.presheaf.obj (Opposite.op U))} (hmem : ↑w ∈ X.basicOpen r) :
      ord ((algebraMap ↑(X.presheaf.obj (Opposite.op U)) ↑X.functionField) r) ↑w = 0