Documentation

Mathlib.AlgebraicGeometry.Limits

(Co)Limits of Schemes #

We construct various limits and colimits in the category of schemes.

TODO #

Spec ℤ is the terminal object in the category of schemes.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Spec ℤ is the terminal object in the category of schemes.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def AlgebraicGeometry.Scheme.emptyTo (X : Scheme) :

      The map from the empty scheme.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem AlgebraicGeometry.Scheme.emptyTo_base (X : Scheme) :
        X.emptyTo.base = TopCat.ofHom { toFun := fun (x : PEmpty.{u + 1}) => x.elim, continuous_toFun := }
        Equations

        The empty scheme is the initial object in the category of schemes.

        Equations
        Instances For

          Spec 0 is the initial object in the category of schemes.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            (Implementation Detail) The glue data associated to a disjoint union.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem AlgebraicGeometry.disjointGlueData'_U {ι : Type u} (f : ιScheme) (a✝ : ι) :
              (disjointGlueData' f).U a✝ = f a✝
              @[simp]
              theorem AlgebraicGeometry.disjointGlueData'_V {ι : Type u} (f : ιScheme) (x✝ x✝¹ : ι) (x✝² : x✝ x✝¹) :
              (disjointGlueData' f).V x✝ x✝¹ x✝² =
              @[simp]
              theorem AlgebraicGeometry.disjointGlueData'_f {ι : Type u} (f : ιScheme) (x✝ x✝¹ : ι) (x✝² : x✝ x✝¹) :
              (disjointGlueData' f).f x✝ x✝¹ x✝² = (f x✝).emptyTo
              @[simp]
              @[simp]
              theorem AlgebraicGeometry.disjointGlueData'_t {ι : Type u} (f : ιScheme) (x✝ x✝¹ : ι) (x✝² : x✝ x✝¹) :
              (disjointGlueData' f).t x✝ x✝¹ x✝² = CategoryTheory.CategoryStruct.id ((fun (x x_1 : ι) (x : x x_1) => ) x✝ x✝¹ x✝²)
              @[simp]
              theorem AlgebraicGeometry.disjointGlueData'_t' {ι : Type u} (f : ιScheme) (x✝ x✝¹ x✝² : ι) (x✝³ : x✝ x✝¹) (x✝⁴ : x✝ x✝²) (x✝⁵ : x✝¹ x✝²) :
              (disjointGlueData' f).t' x✝ x✝¹ x✝² x✝³ x✝⁴ x✝⁵ = CategoryTheory.CategoryStruct.comp (CategoryTheory.Limits.pullback.fst ((fun (x x_1 : ι) (x_2 : x x_1) => (f x).emptyTo) x✝ x✝¹ x✝³) ((fun (x x_1 : ι) (x_2 : x x_1) => (f x).emptyTo) x✝ x✝² x✝⁴)) (CategoryTheory.Limits.pullback ((fun (x x_1 : ι) (x_2 : x x_1) => (f x).emptyTo) x✝¹ x✝² x✝⁵) ((fun (x x_1 : ι) (x_2 : x x_1) => (f x).emptyTo) x✝¹ x✝ )).emptyTo
              noncomputable def AlgebraicGeometry.disjointGlueData {ι : Type u} (f : ιScheme) :

              (Implementation Detail) The glue data associated to a disjoint union.

              Equations
              Instances For
                @[simp]
                theorem AlgebraicGeometry.disjointGlueData_t {ι : Type u} (f : ιScheme) (i j : (disjointGlueData' f).J) :
                (disjointGlueData f).t i j = if h : i = j then CategoryTheory.eqToHom else CategoryTheory.eqToHom
                @[simp]
                theorem AlgebraicGeometry.disjointGlueData_J {ι : Type u} (f : ιScheme) :
                @[simp]
                theorem AlgebraicGeometry.disjointGlueData_V {ι : Type u} (f : ιScheme) (ij : (disjointGlueData' f).J × (disjointGlueData' f).J) :
                (disjointGlueData f).V ij = if ij.1 = ij.2 then f ij.1 else
                @[simp]
                theorem AlgebraicGeometry.disjointGlueData_U {ι : Type u} (f : ιScheme) (a✝ : (disjointGlueData' f).J) :
                (disjointGlueData f).U a✝ = f a✝
                @[simp]
                theorem AlgebraicGeometry.disjointGlueData_f {ι : Type u} (f : ιScheme) (i j : (disjointGlueData' f).J) :

                (Implementation Detail) The cofan in LocallyRingedSpace associated to a disjoint union.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  (Implementation Detail) The cofan in LocallyRingedSpace associated to a disjoint union is a colimit.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def AlgebraicGeometry.sigmaIsoGlued {ι : Type u} (f : ιScheme) :

                    (Implementation Detail) Coproduct of schemes is isomorphic to the disjoint union.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      The images of each component in the coproduct is disjoint.

                      noncomputable def AlgebraicGeometry.sigmaOpenCover {ι : Type u} (f : ιScheme) :

                      The open cover of the coproduct.

                      Equations
                      Instances For
                        @[simp]
                        theorem AlgebraicGeometry.sigmaOpenCover_obj {ι : Type u} (f : ιScheme) (a✝ : ι) :
                        (sigmaOpenCover f).obj a✝ = f a✝
                        noncomputable def AlgebraicGeometry.sigmaMk {ι : Type u} (f : ιScheme) :
                        (i : ι) × (f i).toPresheafedSpace ≃ₜ ( f).toPresheafedSpace

                        The underlying topological space of the coproduct is homeomorphic to the disjoint union.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          @[simp]
                          theorem AlgebraicGeometry.sigmaMk_mk {ι : Type u} (f : ιScheme) (i : ι) (x : (f i).toPresheafedSpace) :
                          theorem AlgebraicGeometry.isOpenImmersion_sigmaDesc {ι : Type u} (f : ιScheme) {X : Scheme} (α : (i : ι) → f i X) [∀ (i : ι), IsOpenImmersion (α i)] (hα : Pairwise (Function.onFun Disjoint fun (x : ι) => Set.range (CategoryTheory.ConcreteCategory.hom (α x).base))) :

                          (Implementation Detail) The coproduct of the two schemes is given by indexed coproducts over WalkingPair.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            The underlying topological space of the coproduct is homeomorphic to the disjoint union

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              noncomputable def AlgebraicGeometry.coprodOpenCover (X Y : Scheme) :

                              The open cover of the coproduct of two schemes.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For

                                The map Spec R ⨿ Spec S ⟶ Spec (R × S). This is an isomorphism as witnessed by an IsIso instance provided below.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  noncomputable def AlgebraicGeometry.sigmaSpec {ι : Type u} (R : ιCommRingCat) :
                                  ( fun (i : ι) => Spec (R i)) Spec (CommRingCat.of ((i : ι) → (R i)))

                                  The canonical map ∐ Spec Rᵢ ⟶ Spec (Π Rᵢ). This is an isomorphism when the product is finite.

                                  Equations
                                  Instances For
                                    @[simp]
                                    theorem AlgebraicGeometry.ι_sigmaSpec {ι : Type u} (R : ιCommRingCat) (i : ι) :
                                    instance AlgebraicGeometry.instIsOpenImmersionMapOfHomForallEvalRingHom {ι : Type u} (i : ι) (R : ιType (max u_1 u)) [(i : ι) → CommRing (R i)] :
                                    instance AlgebraicGeometry.instIsAffineSigmaObjSchemeOfFinite {ι : Type u} (f : ιScheme) [Finite ι] [∀ (i : ι), IsAffine (f i)] :