Module

UnramifiedHomExt.lean

Nyll.SchemeTheory.Morphisms.UnramifiedHomExt
2 declarations indexed from sourceView source ↗

Unramified morphisms are determined on a dense source

The equalizer of two relative morphisms into an unramified scheme is an open subscheme. If the target is also separated, the equalizer is closed. Thus agreement after a dominant morphism forces the equalizer to be the entire source, without a reducedness assumption.

Imports8
  • Mathlib.AlgebraicGeometry.Morphisms.FormallyUnramified
  • Mathlib.AlgebraicGeometry.Morphisms.IsIso
  • Mathlib.AlgebraicGeometry.Morphisms.Separated
  • Mathlib.AlgebraicGeometry.Morphisms.UnderlyingMap
  • Mathlib.AlgebraicGeometry.OpenImmersion
  • Mathlib.CategoryTheory.Limits.Constructions.Over.Products
  • Mathlib.CategoryTheory.Limits.Shapes.Diagonal
  • Mathlib.CategoryTheory.Limits.Shapes.Pullback.Equalizer
Imported by11

Declarations

AlgebraicGeometry.isOpenImmersion_equalizer_ι_left

The relative equalizer of two maps into an unramified scheme is open.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

@[expose] public section
open CategoryTheory CategoryTheory.Limits
noncomputable section
universe u
namespace AlgebraicGeometry
instance isOpenImmersion_equalizer_ι_left {S : Scheme.{u}} {X Y : Over S}
    [FormallyUnramified Y.hom] [LocallyOfFiniteType Y.hom] (f g : X ⟶ Y) :
    IsOpenImmersion (equalizer.ι f g).left
AlgebraicGeometry.Over.hom_ext_of_isDominant_of_unramified

Relative maps into a separated unramified scheme are determined after a dominant map, even when the source is nonreduced.

Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

@[expose] public section
open CategoryTheory CategoryTheory.Limits
noncomputable section
universe u
namespace AlgebraicGeometry
lemma Over.hom_ext_of_isDominant_of_unramified
    {S : Scheme.{u}} {X Y Z : Over S}
    [FormallyUnramified Y.hom] [LocallyOfFiniteType Y.hom] [IsSeparated Y.hom]
    (f g : X ⟶ Y) (i : Z ⟶ X) [IsDominant i.left]
    (h : i ≫ f = i ≫ g) : f = g