Documentation

Mathlib.AlgebraicGeometry.Morphisms.Constructors

Constructors for properties of morphisms between schemes #

This file provides some constructors to obtain morphism properties of schemes from other morphism properties:

Also provides API for showing the standard locality and stability properties for these types of properties.

The AffineTargetMorphismProperty associated to (targetAffineLocally P).diagonal. See diagonal_targetAffineLocally_eq_targetAffineLocally.

Equations
    Instances For
      theorem AlgebraicGeometry.HasAffineProperty.diagonal_of_openCover (P : CategoryTheory.MorphismProperty Scheme) {Q : AffineTargetMorphismProperty} [HasAffineProperty P Q] {X Y : Scheme} (f : X ⟶ Y) (š’° : Y.OpenCover) [āˆ€ (i : š’°.Iā‚€), IsAffine (š’°.X i)] (š’°' : (i : š’°.Iā‚€) → (CategoryTheory.Limits.pullback f (š’°.f i)).OpenCover) [āˆ€ (i : š’°.Iā‚€) (j : (š’°' i).Iā‚€), IsAffine ((š’°' i).X j)] (hš’°' : āˆ€ (i : š’°.Iā‚€) (j k : (š’°' i).Iā‚€), Q (CategoryTheory.Limits.pullback.mapDesc ((š’°' i).f j) ((š’°' i).f k) (Scheme.Cover.pullbackHom š’° f i))) :
      theorem AlgebraicGeometry.AffineTargetMorphismProperty.diagonal_of_openCover_source {Q : AffineTargetMorphismProperty} [Q.IsLocal] {X Y : Scheme} (f : X ⟶ Y) (š’° : X.OpenCover) [āˆ€ (i : š’°.Iā‚€), IsAffine (š’°.X i)] [IsAffine Y] (hš’° : āˆ€ (i j : š’°.Iā‚€), Q (CategoryTheory.Limits.pullback.mapDesc (š’°.f i) (š’°.f j) f)) :
      theorem AlgebraicGeometry.universally_isZariskiLocalAtTarget (P : CategoryTheory.MorphismProperty Scheme) (hPā‚‚ : āˆ€ {X Y : Scheme} (f : X ⟶ Y) {ι : Type u} (U : ι → Y.Opens), TopologicalSpace.IsOpenCover U → (āˆ€ (i : ι), P (f ∣_ U i)) → P f) :
      @[deprecated AlgebraicGeometry.universally_isZariskiLocalAtTarget (since := "2025-10-07")]
      theorem AlgebraicGeometry.universally_isLocalAtTarget (P : CategoryTheory.MorphismProperty Scheme) (hPā‚‚ : āˆ€ {X Y : Scheme} (f : X ⟶ Y) {ι : Type u} (U : ι → Y.Opens), TopologicalSpace.IsOpenCover U → (āˆ€ (i : ι), P (f ∣_ U i)) → P f) :

      Alias of AlgebraicGeometry.universally_isZariskiLocalAtTarget.

      def AlgebraicGeometry.topologically (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) :

      topologically P holds for a morphism if the underlying topological map satisfies P.

      Equations
        Instances For
          theorem AlgebraicGeometry.topologically_isStableUnderComposition (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) (hP : āˆ€ {α β γ : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] [inst_2 : TopologicalSpace γ] (f : α → β) (g : β → γ), P f → P g → P (g ∘ f)) :

          If a property of maps of topological spaces is stable under composition, the induced morphism property of schemes is stable under composition.

          theorem AlgebraicGeometry.topologically_iso_le (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) (hP : āˆ€ {α β : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] (f : α ā‰ƒā‚œ β), P ⇑f) :

          If a property of maps of topological spaces is satisfied by all homeomorphisms, every isomorphism of schemes satisfies the induced property.

          theorem AlgebraicGeometry.topologically_respectsIso (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) (hP₁ : āˆ€ {α β : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] (f : α ā‰ƒā‚œ β), P ⇑f) (hPā‚‚ : āˆ€ {α β γ : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] [inst_2 : TopologicalSpace γ] (f : α → β) (g : β → γ), P f → P g → P (g ∘ f)) :
          (topologically fun {α β : Type u} [TopologicalSpace α] [TopologicalSpace β] => P).RespectsIso

          If a property of maps of topological spaces is satisfied by homeomorphisms and is stable under composition, the induced property on schemes respects isomorphisms.

          theorem AlgebraicGeometry.topologically_isZariskiLocalAtTarget (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) [(topologically fun {α β : Type u} [TopologicalSpace α] [TopologicalSpace β] => P).RespectsIso] (hPā‚‚ : āˆ€ {α β : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] (f : α → β) (s : Set β), Continuous f → IsOpen s → P f → P (s.restrictPreimage f)) (hPā‚ƒ : āˆ€ {α β : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] (f : α → β) {ι : Type u} (U : ι → TopologicalSpace.Opens β), TopologicalSpace.IsOpenCover U → Continuous f → (āˆ€ (i : ι), P ((U i).carrier.restrictPreimage f)) → P f) :

          To check that a topologically defined morphism property is local at the target, we may check the corresponding properties on topological spaces.

          @[deprecated AlgebraicGeometry.topologically_isZariskiLocalAtTarget (since := "2025-10-07")]
          theorem AlgebraicGeometry.topologically_isLocalAtTarget (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) [(topologically fun {α β : Type u} [TopologicalSpace α] [TopologicalSpace β] => P).RespectsIso] (hPā‚‚ : āˆ€ {α β : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] (f : α → β) (s : Set β), Continuous f → IsOpen s → P f → P (s.restrictPreimage f)) (hPā‚ƒ : āˆ€ {α β : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] (f : α → β) {ι : Type u} (U : ι → TopologicalSpace.Opens β), TopologicalSpace.IsOpenCover U → Continuous f → (āˆ€ (i : ι), P ((U i).carrier.restrictPreimage f)) → P f) :

          Alias of AlgebraicGeometry.topologically_isZariskiLocalAtTarget.


          To check that a topologically defined morphism property is local at the target, we may check the corresponding properties on topological spaces.

          theorem AlgebraicGeometry.topologically_isZariskiLocalAtTarget' (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) [(topologically fun {α β : Type u} [TopologicalSpace α] [TopologicalSpace β] => P).RespectsIso] (hP : āˆ€ {α β : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] (f : α → β) {ι : Type u} (U : ι → TopologicalSpace.Opens β), TopologicalSpace.IsOpenCover U → Continuous f → (P f ↔ āˆ€ (i : ι), P ((U i).carrier.restrictPreimage f))) :

          A variant of topologically_isZariskiLocalAtTarget that takes one iff statement instead of two implications.

          @[deprecated AlgebraicGeometry.topologically_isZariskiLocalAtTarget' (since := "2025-10-07")]
          theorem AlgebraicGeometry.topologically_isLocalAtTarget' (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) [(topologically fun {α β : Type u} [TopologicalSpace α] [TopologicalSpace β] => P).RespectsIso] (hP : āˆ€ {α β : Type u} [inst : TopologicalSpace α] [inst_1 : TopologicalSpace β] (f : α → β) {ι : Type u} (U : ι → TopologicalSpace.Opens β), TopologicalSpace.IsOpenCover U → Continuous f → (P f ↔ āˆ€ (i : ι), P ((U i).carrier.restrictPreimage f))) :

          Alias of AlgebraicGeometry.topologically_isZariskiLocalAtTarget'.


          A variant of topologically_isZariskiLocalAtTarget that takes one iff statement instead of two implications.

          theorem AlgebraicGeometry.topologically_isZariskiLocalAtSource (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) [(topologically fun {α β : Type u} [TopologicalSpace α] [TopologicalSpace β] => P).RespectsIso] (hP₁ : āˆ€ {X Y : Type u} [inst : TopologicalSpace X] [inst_1 : TopologicalSpace Y] (f : X → Y), Continuous f → āˆ€ (U : TopologicalSpace.Opens X), P f → P (f ∘ Subtype.val)) (hPā‚‚ : āˆ€ {X Y : Type u} [inst : TopologicalSpace X] [inst_1 : TopologicalSpace Y] (f : X → Y), Continuous f → āˆ€ {ι : Type u} (U : ι → TopologicalSpace.Opens X), TopologicalSpace.IsOpenCover U → (āˆ€ (i : ι), P (f ∘ Subtype.val)) → P f) :
          @[deprecated AlgebraicGeometry.topologically_isZariskiLocalAtSource (since := "2025-10-07")]
          theorem AlgebraicGeometry.topologically_isLocalAtSource (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) [(topologically fun {α β : Type u} [TopologicalSpace α] [TopologicalSpace β] => P).RespectsIso] (hP₁ : āˆ€ {X Y : Type u} [inst : TopologicalSpace X] [inst_1 : TopologicalSpace Y] (f : X → Y), Continuous f → āˆ€ (U : TopologicalSpace.Opens X), P f → P (f ∘ Subtype.val)) (hPā‚‚ : āˆ€ {X Y : Type u} [inst : TopologicalSpace X] [inst_1 : TopologicalSpace Y] (f : X → Y), Continuous f → āˆ€ {ι : Type u} (U : ι → TopologicalSpace.Opens X), TopologicalSpace.IsOpenCover U → (āˆ€ (i : ι), P (f ∘ Subtype.val)) → P f) :

          Alias of AlgebraicGeometry.topologically_isZariskiLocalAtSource.

          theorem AlgebraicGeometry.topologically_isZariskiLocalAtSource' (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) [(topologically fun {α β : Type u} [TopologicalSpace α] [TopologicalSpace β] => P).RespectsIso] (hP : āˆ€ {X Y : Type u} [inst : TopologicalSpace X] [inst_1 : TopologicalSpace Y] (f : X → Y) {ι : Type u} (U : ι → TopologicalSpace.Opens X), TopologicalSpace.IsOpenCover U → Continuous f → (P f ↔ āˆ€ (i : ι), P (f ∘ Subtype.val))) :

          A variant of topologically_isZariskiLocalAtSource that takes one iff statement instead of two implications.

          @[deprecated AlgebraicGeometry.topologically_isZariskiLocalAtSource' (since := "2025-10-07")]
          theorem AlgebraicGeometry.topologically_isLocalAtSource' (P : {α β : Type u} → [TopologicalSpace α] → [TopologicalSpace β] → (α → β) → Prop) [(topologically fun {α β : Type u} [TopologicalSpace α] [TopologicalSpace β] => P).RespectsIso] (hP : āˆ€ {X Y : Type u} [inst : TopologicalSpace X] [inst_1 : TopologicalSpace Y] (f : X → Y) {ι : Type u} (U : ι → TopologicalSpace.Opens X), TopologicalSpace.IsOpenCover U → Continuous f → (P f ↔ āˆ€ (i : ι), P (f ∘ Subtype.val))) :

          Alias of AlgebraicGeometry.topologically_isZariskiLocalAtSource'.


          A variant of topologically_isZariskiLocalAtSource that takes one iff statement instead of two implications.

          def AlgebraicGeometry.stalkwise (P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop) :

          stalkwise P holds for a morphism if all stalks satisfy P.

          Equations
            Instances For
              theorem AlgebraicGeometry.stalkwise_respectsIso {P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} (hP : RingHom.RespectsIso fun {R S : Type u} [CommRing R] [CommRing S] => P) :
              (stalkwise fun {R S : Type u} [CommRing R] [CommRing S] => P).RespectsIso

              If P respects isos, then stalkwise P respects isos.

              theorem AlgebraicGeometry.stalkwiseIsZariskiLocalAtTarget_of_respectsIso {P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} (hP : RingHom.RespectsIso fun {R S : Type u} [CommRing R] [CommRing S] => P) :

              If P respects isos, then stalkwise P is local at the target.

              @[deprecated AlgebraicGeometry.stalkwiseIsZariskiLocalAtTarget_of_respectsIso (since := "2025-10-07")]
              theorem AlgebraicGeometry.stalkwiseIsLocalAtTarget_of_respectsIso {P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} (hP : RingHom.RespectsIso fun {R S : Type u} [CommRing R] [CommRing S] => P) :

              Alias of AlgebraicGeometry.stalkwiseIsZariskiLocalAtTarget_of_respectsIso.


              If P respects isos, then stalkwise P is local at the target.

              theorem AlgebraicGeometry.stalkwise_isZariskiLocalAtSource_of_respectsIso {P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} (hP : RingHom.RespectsIso fun {R S : Type u} [CommRing R] [CommRing S] => P) :

              If P respects isos, then stalkwise P is local at the source.

              @[deprecated AlgebraicGeometry.stalkwise_isZariskiLocalAtSource_of_respectsIso (since := "2025-10-07")]
              theorem AlgebraicGeometry.stalkwise_isLocalAtSource_of_respectsIso {P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} (hP : RingHom.RespectsIso fun {R S : Type u} [CommRing R] [CommRing S] => P) :

              Alias of AlgebraicGeometry.stalkwise_isZariskiLocalAtSource_of_respectsIso.


              If P respects isos, then stalkwise P is local at the source.

              theorem AlgebraicGeometry.stalkwise_SpecMap_iff {P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} (hP : RingHom.RespectsIso fun {R S : Type u} [CommRing R] [CommRing S] => P) {R S : CommRingCat} (φ : R ⟶ S) :
              stalkwise (fun {R S : Type u} [CommRing R] [CommRing S] => P) (Spec.map φ) ↔ āˆ€ (p : Ideal ↑S) (x : p.IsPrime), P (Localization.localRingHom (Ideal.comap (CommRingCat.Hom.hom φ) p) p (CommRingCat.Hom.hom φ) ⋯)
              @[deprecated AlgebraicGeometry.stalkwise_SpecMap_iff (since := "2025-10-07")]
              theorem AlgebraicGeometry.stalkwise_Spec_map_iff {P : {R S : Type u} → [inst : CommRing R] → [inst_1 : CommRing S] → (R →+* S) → Prop} (hP : RingHom.RespectsIso fun {R S : Type u} [CommRing R] [CommRing S] => P) {R S : CommRingCat} (φ : R ⟶ S) :
              stalkwise (fun {R S : Type u} [CommRing R] [CommRing S] => P) (Spec.map φ) ↔ āˆ€ (p : Ideal ↑S) (x : p.IsPrime), P (Localization.localRingHom (Ideal.comap (CommRingCat.Hom.hom φ) p) p (CommRingCat.Hom.hom φ) ⋯)

              Alias of AlgebraicGeometry.stalkwise_SpecMap_iff.

              If P is local at the target, to show that P is stable under base change, it suffices to check this for base change along a morphism of affine schemes.