File: Mathlib/AlgebraicGeometry/Morphisms/Affine.lean

full_name: AlgebraicGeometry.IsAffineHom
code: /-- A morphism of schemes `X ⟶ Y` is affine if
the preimage of any affine open subset of `Y` is affine. -/
@[mk_iff]
class IsAffineHom {X Y : Scheme} (f : X ⟶ Y) : Prop where
  isAffine_preimage : ∀ U : Y.Opens, IsAffineOpen U → IsAffineOpen (f ⁻¹ᵁ U)
goal: Prop

full_name: AlgebraicGeometry.IsAffineHom.isAffine_preimage
code: /-- A morphism of schemes `X ⟶ Y` is affine if
the preimage of any affine open subset of `Y` is affine. -/
@[mk_iff]
class IsAffineHom {X Y : Scheme} (f : X ⟶ Y) : Prop where
  isAffine_preimage : ∀ U : Y.Opens, IsAffineOpen U → IsAffineOpen (f ⁻¹ᵁ U)
goal: AlgebraicGeometry.IsAffineOpen U → AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.val.base).obj U)

full_name: AlgebraicGeometry.isAffineHom_iff
code: /-- A morphism of schemes `X ⟶ Y` is affine if
the preimage of any affine open subset of `Y` is affine. -/
@[mk_iff]
class IsAffineHom {X Y : Scheme} (f : X ⟶ Y) : Prop where
  isAffine_preimage : ∀ U : Y.Opens, IsAffineOpen U → IsAffineOpen (f ⁻¹ᵁ U)
goal: AlgebraicGeometry.IsAffineHom f ↔
  ∀ (U : Y.Opens),
    AlgebraicGeometry.IsAffineOpen U → AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.val.base).obj U)

full_name: AlgebraicGeometry.isAffineOpen.preimage
code: lemma isAffineOpen.preimage {X Y : Scheme} {U : Y.Opens} (hU : IsAffineOpen U)
    (f : X ⟶ Y) [IsAffineHom f] :
    IsAffineOpen (f ⁻¹ᵁ U) 
goal: AlgebraicGeometry.IsAffineOpen ((TopologicalSpace.Opens.map f.val.base).obj U)

full_name: AlgebraicGeometry.affinePreimage_coe
code: /-- The preimage of an affine open as an `Scheme.affine_opens`. -/
@[simps]
def affinePreimage {X Y : Scheme} (f : X ⟶ Y) [IsAffineHom f] (U : Y.affineOpens) :
    X.affineOpens 
goal: ↑(AlgebraicGeometry.affinePreimage f U) = (TopologicalSpace.Opens.map f.val.base).obj ↑U

full_name: AlgebraicGeometry.affinePreimage
code: /-- The preimage of an affine open as an `Scheme.affine_opens`. -/
@[simps]
def affinePreimage {X Y : Scheme} (f : X ⟶ Y) [IsAffineHom f] (U : Y.affineOpens) :
    X.affineOpens 
goal: ↑X.affineOpens

full_name: AlgebraicGeometry.instIsAffineHomOfIsIsoScheme
code: instance (priority := 900) [IsIso f] : IsAffineHom f 
goal: AlgebraicGeometry.IsAffineHom f

full_name: AlgebraicGeometry.instQuasiCompactOfIsAffineHom
code: instance (priority := 900) [IsAffineHom f] : QuasiCompact f 
goal: AlgebraicGeometry.QuasiCompact f

full_name: AlgebraicGeometry.instIsAffineHomCompScheme
code: instance [IsAffineHom f] [IsAffineHom g] : IsAffineHom (f ≫ g) 
goal: AlgebraicGeometry.IsAffineHom (f ≫ g)

full_name: AlgebraicGeometry.instIsMultiplicativeSchemeIsAffineHom
code: instance : MorphismProperty.IsMultiplicative @IsAffineHom 
goal: CategoryTheory.MorphismProperty.IsMultiplicative @AlgebraicGeometry.IsAffineHom

full_name: AlgebraicGeometry.instIsAffineHomιBasicOpen
code: instance {X : Scheme} (r : Γ(X, ⊤)) :
    IsAffineHom (X.basicOpen r).ι 
goal: AlgebraicGeometry.IsAffineHom (X.basicOpen r).ι

full_name: AlgebraicGeometry.isAffineOpen_of_isAffineOpen_basicOpen_aux
code: lemma isAffineOpen_of_isAffineOpen_basicOpen_aux (s : Set Γ(X, ⊤))
    (hs : Ideal.span s = ⊤) (hs₂ : ∀ i ∈ s, IsAffineOpen (X.basicOpen i)) :
    QuasiSeparatedSpace X 
goal: QuasiSeparatedSpace ↑↑X.toPresheafedSpace

full_name: AlgebraicGeometry.isAffine_of_isAffineOpen_basicOpen
code: lemma isAffine_of_isAffineOpen_basicOpen (s : Set Γ(X, ⊤))
    (hs : Ideal.span s = ⊤) (hs₂ : ∀ i ∈ s, IsAffineOpen (X.basicOpen i)) :
    IsAffine X 
goal: AlgebraicGeometry.IsAffine X

full_name: AlgebraicGeometry.isAffineOpen_of_isAffineOpen_basicOpen
code: /--
If `s` is a spanning set of `Γ(X, U)`, such that each `X.basicOpen i` is affine, then `U` is also
affine.
-/
lemma isAffineOpen_of_isAffineOpen_basicOpen (U) (s : Set Γ(X, U))
    (hs : Ideal.span s = ⊤) (hs₂ : ∀ i ∈ s, IsAffineOpen (X.basicOpen i)) :
    IsAffineOpen U 
goal: AlgebraicGeometry.IsAffineOpen U

full_name: AlgebraicGeometry.instHasAffinePropertyIsAffineHomIsAffine
code: instance : HasAffineProperty @IsAffineHom fun X _ _ _ ↦ IsAffine X 
goal: AlgebraicGeometry.HasAffineProperty @AlgebraicGeometry.IsAffineHom fun X x x_1 x => AlgebraicGeometry.IsAffine X

full_name: AlgebraicGeometry.isAffineHom_stableUnderBaseChange
code: lemma isAffineHom_stableUnderBaseChange :
    MorphismProperty.StableUnderBaseChange @IsAffineHom 
goal: CategoryTheory.MorphismProperty.StableUnderBaseChange @AlgebraicGeometry.IsAffineHom

full_name: AlgebraicGeometry.isAffineHom_of_isAffine
code: instance (priority := 100) isAffineHom_of_isAffine [IsAffine X] [IsAffine Y] : IsAffineHom f 
goal: AlgebraicGeometry.IsAffineHom f

full_name: AlgebraicGeometry.isAffine_of_isAffineHom
code: lemma isAffine_of_isAffineHom [IsAffineHom f] [IsAffine Y] : IsAffine X 
goal: AlgebraicGeometry.IsAffine X