Documentation

Mathlib.AlgebraicGeometry.IdealSheaf.Basic

Ideal sheaves on schemes #

We define ideal sheaves of schemes and provide various constructors for it.

Main definition #

Main results #

Implementation detail #

Ideal sheaves are not yet defined in this file as actual subsheaves of 𝒪ₓ. Instead, for the ease of development and application, we define the structure IdealSheafData containing all necessary data to uniquely define an ideal sheaf. This should be refactored as a constructor for ideal sheaves once they are introduced into mathlib.

A structure that contains the data to uniquely define an ideal sheaf, consisting of

  1. an ideal I(U) ≤ Γ(X, U) for every affine open U
  2. a proof that I(D(f)) = I(U)_f for every affine open U and every section f : Γ(X, U)
  3. a subset of X equal to the support.

Also see Scheme.IdealSheafData.mkOfMemSupportIff for a constructor with the condition on the support being (usually) easier to prove.

Instances For

    The largest ideal sheaf contained in a family of ideals.

    Instances For

      The Galois coinsertion between ideal sheaves and arbitrary families of ideals.

      Instances For
        @[simp]
        theorem AlgebraicGeometry.Scheme.IdealSheafData.ideal_iSup {X : Scheme} {ι : Type u_1} {I : ιX.IdealSheafData} :
        (iSup I).ideal = ⨆ (i : ι), (I i).ideal
        @[simp]
        theorem AlgebraicGeometry.Scheme.IdealSheafData.ideal_biInf {X : Scheme} {ι : Type u_1} (I : ιX.IdealSheafData) {s : Set ι} (hs : s.Finite) :
        (⨅ is, I i).ideal = is, (I i).ideal
        @[simp]
        theorem AlgebraicGeometry.Scheme.IdealSheafData.ideal_iInf {X : Scheme} {ι : Type u_1} (I : ιX.IdealSheafData) [Finite ι] :
        (⨅ (i : ι), I i).ideal = ⨅ (i : ι), (I i).ideal

        A form of map_ideal that is easier to rewrite with.

        theorem AlgebraicGeometry.Scheme.IdealSheafData.le_of_iSup_eq_top {X : Scheme} {I J : X.IdealSheafData} {ι : Type u_1} (U : ιX.affineOpens) (hU : ⨆ (i : ι), (U i) = ) (H : ∀ (i : ι), I.ideal (U i) J.ideal (U i)) :
        I J
        theorem AlgebraicGeometry.Scheme.IdealSheafData.ext_of_iSup_eq_top {X : Scheme} {I J : X.IdealSheafData} {ι : Type u_1} (U : ιX.affineOpens) (hU : ⨆ (i : ι), (U i) = ) (H : ∀ (i : ι), I.ideal (U i) = J.ideal (U i)) :
        I = J
        theorem AlgebraicGeometry.Scheme.IdealSheafData.mem_supportSet_iff_of_mem {X : Scheme} {I : X.IdealSheafData} {x : X} {U : X.affineOpens} (hxU : x U) :
        x I.supportSet x X.zeroLocus (I.ideal U)
        theorem AlgebraicGeometry.Scheme.IdealSheafData.mem_support_iff {X : Scheme} {I : X.IdealSheafData} {x : X} :
        x I.support ∀ (U : X.affineOpens), x X.zeroLocus (I.ideal U)
        theorem AlgebraicGeometry.Scheme.IdealSheafData.mem_support_iff_of_mem {X : Scheme} {I : X.IdealSheafData} {x : X} {U : X.affineOpens} (h : x U) :
        x I.support x X.zeroLocus (I.ideal U)
        def AlgebraicGeometry.Scheme.IdealSheafData.mkOfMemSupportIff {X : Scheme} (ideal : (U : X.affineOpens) → Ideal (X.presheaf.obj (Opposite.op U))) (map_ideal_basicOpen : ∀ (U : X.affineOpens) (f : (X.presheaf.obj (Opposite.op U))), Ideal.map (CommRingCat.Hom.hom (X.presheaf.map (CategoryTheory.homOfLE ).op)) (ideal U) = ideal (X.affineBasicOpen f)) (supportSet : Set X) (supportSet_inter : ∀ (U : X.affineOpens), xU, x supportSet x X.zeroLocus (ideal U)) :

        A useful constructor of IdealSheafData with the condition on supportSet being easier to check.

        Instances For
          @[simp]
          theorem AlgebraicGeometry.Scheme.IdealSheafData.mkOfMemSupportIff_ideal {X : Scheme} (ideal : (U : X.affineOpens) → Ideal (X.presheaf.obj (Opposite.op U))) (map_ideal_basicOpen : ∀ (U : X.affineOpens) (f : (X.presheaf.obj (Opposite.op U))), Ideal.map (CommRingCat.Hom.hom (X.presheaf.map (CategoryTheory.homOfLE ).op)) (ideal U) = ideal (X.affineBasicOpen f)) (supportSet : Set X) (supportSet_inter : ∀ (U : X.affineOpens), xU, x supportSet x X.zeroLocus (ideal U)) (U : X.affineOpens) :
          (mkOfMemSupportIff ideal map_ideal_basicOpen supportSet supportSet_inter).ideal U = ideal U
          @[simp]
          theorem AlgebraicGeometry.Scheme.IdealSheafData.coe_support_mkOfMemSupportIff {X : Scheme} (ideal : (U : X.affineOpens) → Ideal (X.presheaf.obj (Opposite.op U))) (map_ideal_basicOpen : ∀ (U : X.affineOpens) (f : (X.presheaf.obj (Opposite.op U))), Ideal.map (CommRingCat.Hom.hom (X.presheaf.map (CategoryTheory.homOfLE ).op)) (ideal U) = ideal (X.affineBasicOpen f)) (supportSet : Set X) (supportSet_inter : ∀ (U : X.affineOpens), xU, x supportSet x X.zeroLocus (ideal U)) :
          (mkOfMemSupportIff ideal map_ideal_basicOpen supportSet supportSet_inter).support = supportSet
          theorem AlgebraicGeometry.Scheme.IdealSheafData.mul_inf {X : Scheme} (I J K : X.IdealSheafData) :
          I * (JK) = I * JI * K
          theorem AlgebraicGeometry.Scheme.IdealSheafData.inf_mul {X : Scheme} (I J K : X.IdealSheafData) :
          (IJ) * K = I * KJ * K

          We follow Ideal and set the simp normal form to be and and .

          The ideal sheaf induced by an ideal of the global sections.

          Instances For
            theorem AlgebraicGeometry.Scheme.IdealSheafData.ext_of_isAffine {X : Scheme} [IsAffine X] {I J : X.IdealSheafData} (H : I.ideal , = J.ideal , ) :
            I = J

            Over affine schemes, ideal sheaves are in bijection with ideals of the global sections.

            Instances For

              The radical of an ideal sheaf.

              Instances For

                The nilradical of a scheme.

                Instances For

                  The vanishing ideal sheaf of a closed set, which is the largest ideal sheaf whose support is equal to it. The reduced induced scheme structure on the closed set is the quotient of this ideal.

                  Instances For

                    support and vanishingIdeal forms a Galois connection. This is the global version of PrimeSpectrum.gc.

                    @[simp]
                    theorem AlgebraicGeometry.Scheme.IdealSheafData.support_iSup {X : Scheme} {ι : Sort u_1} (I : ιX.IdealSheafData) :
                    (iSup I).support = ⨅ (i : ι), (I i).support

                    The kernel of a morphism, defined as the largest (quasi-coherent) ideal sheaf contained in the component-wise kernel. This is usually only well-behaved when f is quasi-compact.

                    Instances For
                      theorem AlgebraicGeometry.Scheme.ker_morphismRestrict_ideal {X Y : Scheme} (f : X.Hom Y) [QuasiCompact f] (U : Y.Opens) (V : (↑U).affineOpens) :
                      (Hom.ker (f ∣_ U)).ideal V = f.ker.ideal (Hom.opensFunctor U.ι).obj V,
                      theorem AlgebraicGeometry.Scheme.ker_ideal_of_isPullback_of_isOpenImmersion {X Y U V : Scheme} (f : X Y) (f' : U V) (iU : U X) (iV : V Y) [IsOpenImmersion iV] [QuasiCompact f] (H : CategoryTheory.IsPullback f' iU iV f) (W : V.affineOpens) :

                      The functor taking a morphism into Y to its kernel as an ideal sheaf on Y.

                      Instances For