File: Mathlib/Geometry/RingedSpace/LocallyRingedSpace/ResidueField.lean

full_name: AlgebraicGeometry.LocallyRingedSpace.residueField
code: /-- The residue field of `X` at a point `x` is the residue field of the stalk of `X`
at `x`. -/
def residueField (x : X) : CommRingCat 
goal: CommRingCat

full_name: AlgebraicGeometry.LocallyRingedSpace.instFieldαCommRingResidueField
code: instance (x : X) : Field (X.residueField x) 
goal: Field ↑(X.residueField x)

full_name: AlgebraicGeometry.LocallyRingedSpace.evaluation
code: /--
If `U` is an open of `X` containing `x`, we have a canonical ring map from the sections
over `U` to the residue field of `x`.

If we interpret sections over `U` as functions of `X` defined on `U`, then this ring map
corresponds to evaluation at `x`.
-/
def evaluation (x : U) : X.presheaf.obj (op U) ⟶ X.residueField x 
goal: X.presheaf.obj (Opposite.op U) ⟶ X.residueField ↑x

full_name: AlgebraicGeometry.LocallyRingedSpace.Γevaluation
code: /-- The global evaluation map from `Γ(X, ⊤)` to the residue field at `x`. -/
def Γevaluation (x : X) : X.presheaf.obj (op ⊤) ⟶ X.residueField x 
goal: X.presheaf.obj (Opposite.op ⊤) ⟶ X.residueField x

full_name: AlgebraicGeometry.LocallyRingedSpace.evaluation_eq_zero_iff_not_mem_basicOpen
code: @[simp]
lemma evaluation_eq_zero_iff_not_mem_basicOpen (x : U) (f : X.presheaf.obj (op U)) :
    X.evaluation x f = 0 ↔ x.val ∉ X.toRingedSpace.basicOpen f 
goal: (X.evaluation x) f = 0 ↔ ↑x ∉ X.toRingedSpace.basicOpen f

full_name: AlgebraicGeometry.LocallyRingedSpace.evaluation_ne_zero_iff_mem_basicOpen
code: lemma evaluation_ne_zero_iff_mem_basicOpen (x : U) (f : X.presheaf.obj (op U)) :
    X.evaluation x f ≠ 0 ↔ x.val ∈ X.toRingedSpace.basicOpen f 
goal: (X.evaluation x) f ≠ 0 ↔ ↑x ∈ X.toRingedSpace.basicOpen f

full_name: AlgebraicGeometry.LocallyRingedSpace.Γevaluation_eq_zero_iff_not_mem_basicOpen
code: @[simp]
lemma Γevaluation_eq_zero_iff_not_mem_basicOpen (x : X) (f : X.presheaf.obj (op ⊤)) :
    X.Γevaluation x f = 0 ↔ x ∉ X.toRingedSpace.basicOpen f 
goal: (X.Γevaluation x) f = 0 ↔ x ∉ X.toRingedSpace.basicOpen f

full_name: AlgebraicGeometry.LocallyRingedSpace.Γevaluation_ne_zero_iff_mem_basicOpen
code: lemma Γevaluation_ne_zero_iff_mem_basicOpen (x : X) (f : X.presheaf.obj (op ⊤)) :
    X.Γevaluation x f ≠ 0 ↔ x ∈ X.toRingedSpace.basicOpen f 
goal: (X.Γevaluation x) f ≠ 0 ↔ x ∈ X.toRingedSpace.basicOpen f

full_name: AlgebraicGeometry.LocallyRingedSpace.residueFieldMap
code: /-- If `X ⟶ Y` is a morphism of locally ringed spaces and `x` a point of `X`, we obtain
a morphism of residue fields in the other direction. -/
def residueFieldMap (x : X) : Y.residueField (f.val.base x) ⟶ X.residueField x 
goal: Y.residueField (f.val.base x) ⟶ X.residueField x

full_name: AlgebraicGeometry.LocallyRingedSpace.residue_comp_residueFieldMap_eq_stalkMap_comp_residue
code: lemma residue_comp_residueFieldMap_eq_stalkMap_comp_residue (x : X) :
    LocalRing.residue _ ≫ residueFieldMap f x = f.stalkMap x ≫ LocalRing.residue _ 
goal: LocalRing.residue ↑(Y.presheaf.stalk (f.val.base x)) ≫ AlgebraicGeometry.LocallyRingedSpace.residueFieldMap f x =
  AlgebraicGeometry.LocallyRingedSpace.Hom.stalkMap f x ≫ LocalRing.residue ↑(X.presheaf.stalk x)

full_name: AlgebraicGeometry.LocallyRingedSpace.residueFieldMap_id
code: @[simp]
lemma residueFieldMap_id (x : X) :
    residueFieldMap (𝟙 X) x = 𝟙 (X.residueField x) 
goal: AlgebraicGeometry.LocallyRingedSpace.residueFieldMap (𝟙 X) x = 𝟙 (X.residueField x)

full_name: AlgebraicGeometry.LocallyRingedSpace.residueFieldMap_comp
code: @[simp]
lemma residueFieldMap_comp {Z : LocallyRingedSpace.{u}} (g : Y ⟶ Z) (x : X) :
    residueFieldMap (f ≫ g) x = residueFieldMap g (f.val.base x) ≫ residueFieldMap f x 
goal: AlgebraicGeometry.LocallyRingedSpace.residueFieldMap (f ≫ g) x =
  AlgebraicGeometry.LocallyRingedSpace.residueFieldMap g (f.val.base x) ≫
    AlgebraicGeometry.LocallyRingedSpace.residueFieldMap f x

full_name: AlgebraicGeometry.LocallyRingedSpace.evaluation_naturality
code: @[reassoc]
lemma evaluation_naturality {V : Opens Y} (x : (Opens.map f.1.base).obj V) :
    Y.evaluation ⟨f.val.base x, x.property⟩ ≫ residueFieldMap f x.val =
      f.val.c.app (op V) ≫ X.evaluation x 
goal: Y.evaluation ⟨f.val.base ↑x, ⋯⟩ ≫ AlgebraicGeometry.LocallyRingedSpace.residueFieldMap f ↑x =
  f.val.c.app (Opposite.op V) ≫ X.evaluation x

full_name: AlgebraicGeometry.LocallyRingedSpace.evaluation_naturality_apply
code: lemma evaluation_naturality_apply {V : Opens Y} (x : (Opens.map f.1.base).obj V)
    (a : Y.presheaf.obj (op V)) :
    residueFieldMap f x.val (Y.evaluation ⟨f.val.base x, x.property⟩ a) =
      X.evaluation x (f.val.c.app (op V) a) 
goal: (AlgebraicGeometry.LocallyRingedSpace.residueFieldMap f ↑x) ((Y.evaluation ⟨f.val.base ↑x, ⋯⟩) a) =
  (X.evaluation x) ((f.val.c.app (Opposite.op V)) a)

full_name: AlgebraicGeometry.LocallyRingedSpace.Γevaluation_naturality
code: @[reassoc]
lemma Γevaluation_naturality (x : X) :
    Y.Γevaluation (f.val.base x) ≫ residueFieldMap f x =
      f.val.c.app (op ⊤) ≫ X.Γevaluation x 
goal: Y.Γevaluation (f.val.base x) ≫ AlgebraicGeometry.LocallyRingedSpace.residueFieldMap f x =
  f.val.c.app (Opposite.op ⊤) ≫ X.Γevaluation x

full_name: AlgebraicGeometry.LocallyRingedSpace.Γevaluation_naturality_apply
code: lemma Γevaluation_naturality_apply (x : X) (a : Y.presheaf.obj (op ⊤)) :
    residueFieldMap f x (Y.Γevaluation (f.val.base x) a) =
      X.Γevaluation x (f.val.c.app (op ⊤) a) 
goal: (AlgebraicGeometry.LocallyRingedSpace.residueFieldMap f x) ((Y.Γevaluation (f.val.base x)) a) =
  (X.Γevaluation x) ((f.val.c.app (Opposite.op ⊤)) a)