File: Mathlib/AlgebraicGeometry/Morphisms/Preimmersion.lean

full_name: AlgebraicGeometry.IsPreimmersion
code: /-- A morphism of schemes `f : X ⟶ Y` is a preimmersion if the underlying map of
topological spaces is an embedding and the induced morphisms of stalks are all surjective. -/
@[mk_iff]
class IsPreimmersion {X Y : Scheme} (f : X ⟶ Y) : Prop where
  base_embedding : Embedding f.1.base
  surj_on_stalks : ∀ x, Function.Surjective (f.stalkMap x)
goal: Prop

full_name: AlgebraicGeometry.IsPreimmersion.base_embedding
code: /-- A morphism of schemes `f : X ⟶ Y` is a preimmersion if the underlying map of
topological spaces is an embedding and the induced morphisms of stalks are all surjective. -/
@[mk_iff]
class IsPreimmersion {X Y : Scheme} (f : X ⟶ Y) : Prop where
  base_embedding : Embedding f.1.base
  surj_on_stalks : ∀ x, Function.Surjective (f.stalkMap x)
goal: Embedding ⇑f.val.base

full_name: AlgebraicGeometry.isPreimmersion_iff
code: /-- A morphism of schemes `f : X ⟶ Y` is a preimmersion if the underlying map of
topological spaces is an embedding and the induced morphisms of stalks are all surjective. -/
@[mk_iff]
class IsPreimmersion {X Y : Scheme} (f : X ⟶ Y) : Prop where
  base_embedding : Embedding f.1.base
  surj_on_stalks : ∀ x, Function.Surjective (f.stalkMap x)
goal: AlgebraicGeometry.IsPreimmersion f ↔
  Embedding ⇑f.val.base ∧
    ∀ (x : ↑↑X.toPresheafedSpace), Function.Surjective ⇑(AlgebraicGeometry.Scheme.Hom.stalkMap f x)

full_name: AlgebraicGeometry.IsPreimmersion.surj_on_stalks
code: /-- A morphism of schemes `f : X ⟶ Y` is a preimmersion if the underlying map of
topological spaces is an embedding and the induced morphisms of stalks are all surjective. -/
@[mk_iff]
class IsPreimmersion {X Y : Scheme} (f : X ⟶ Y) : Prop where
  base_embedding : Embedding f.1.base
  surj_on_stalks : ∀ x, Function.Surjective (f.stalkMap x)
goal: Function.Surjective ⇑(AlgebraicGeometry.Scheme.Hom.stalkMap f x)

full_name: AlgebraicGeometry.Scheme.Hom.embedding
code: lemma Scheme.Hom.embedding {X Y : Scheme} (f : Hom X Y) [IsPreimmersion f] : Embedding f.1.base 
goal: Embedding ⇑f.val.base

full_name: AlgebraicGeometry.Scheme.Hom.stalkMap_surjective
code: lemma Scheme.Hom.stalkMap_surjective {X Y : Scheme} (f : Hom X Y) [IsPreimmersion f] (x) :
    Function.Surjective (f.stalkMap x) 
goal: Function.Surjective ⇑(f.stalkMap x)

full_name: AlgebraicGeometry.isPreimmersion_eq_inf
code: lemma isPreimmersion_eq_inf :
    @IsPreimmersion = topologically Embedding ⊓ stalkwise (Function.Surjective ·) 
goal: @AlgebraicGeometry.IsPreimmersion =
  (AlgebraicGeometry.topologically fun {α β} [TopologicalSpace α] [TopologicalSpace β] => Embedding) ⊓
    AlgebraicGeometry.stalkwise fun {R S} [CommRing R] [CommRing S] x => Function.Surjective ⇑x

full_name: AlgebraicGeometry.isSurjectiveOnStalks_isLocalAtTarget
code: /-- Being surjective on stalks is local at the target. -/
instance isSurjectiveOnStalks_isLocalAtTarget : IsLocalAtTarget
    (stalkwise (Function.Surjective ·)) 
goal: AlgebraicGeometry.IsLocalAtTarget
  (AlgebraicGeometry.stalkwise fun {R S} [CommRing R] [CommRing S] x => Function.Surjective ⇑x)

full_name: AlgebraicGeometry.IsPreimmersion.instIsLocalAtTarget
code: instance : IsLocalAtTarget @IsPreimmersion 
goal: AlgebraicGeometry.IsLocalAtTarget @AlgebraicGeometry.IsPreimmersion

full_name: AlgebraicGeometry.IsPreimmersion.instOfIsOpenImmersion
code: instance (priority := 900) {X Y : Scheme} (f : X ⟶ Y) [IsOpenImmersion f] : IsPreimmersion f 
goal: AlgebraicGeometry.IsPreimmersion f

full_name: AlgebraicGeometry.IsPreimmersion.instIsMultiplicativeScheme
code: instance : MorphismProperty.IsMultiplicative @IsPreimmersion 
goal: CategoryTheory.MorphismProperty.IsMultiplicative @AlgebraicGeometry.IsPreimmersion

full_name: AlgebraicGeometry.IsPreimmersion.comp
code: instance comp {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) [IsPreimmersion f]
    [IsPreimmersion g] : IsPreimmersion (f ≫ g) 
goal: AlgebraicGeometry.IsPreimmersion (f ≫ g)

full_name: AlgebraicGeometry.IsPreimmersion.instMonoScheme
code: instance (priority := 900) {X Y} (f : X ⟶ Y) [IsPreimmersion f] : Mono f 
goal: CategoryTheory.Mono f

full_name: AlgebraicGeometry.IsPreimmersion.of_comp
code: theorem of_comp {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) [IsPreimmersion g]
    [IsPreimmersion (f ≫ g)] : IsPreimmersion f 
goal: AlgebraicGeometry.IsPreimmersion f

full_name: AlgebraicGeometry.IsPreimmersion.comp_iff
code: theorem comp_iff {X Y Z : Scheme} (f : X ⟶ Y) (g : Y ⟶ Z) [IsPreimmersion g] :
    IsPreimmersion (f ≫ g) ↔ IsPreimmersion f 
goal: AlgebraicGeometry.IsPreimmersion (f ≫ g) ↔ AlgebraicGeometry.IsPreimmersion f