(Co)Limits of Schemes #
We construct various limits and colimits in the category of schemes.
- The existence of fibred products was shown in
Mathlib/AlgebraicGeometry/Pullbacks.lean
. Spec ℤ
is the terminal object.- The preceding two results imply that
Scheme
has all finite limits. - The empty scheme is the (strict) initial object.
- The disjoint union is the coproduct of a family of schemes, and the forgetful functor to
LocallyRingedSpace
andTopCat
preserves them.
TODO #
- Spec preserves finite coproducts.
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
Equations
Equations
Equations
Equations
- ⋯ = ⋯
The map from the empty scheme.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- X.hom_unique_of_empty_source = { default := X.emptyTo, uniq := ⋯ }
The empty scheme is the initial object in the category of schemes.
Instances For
Equations
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A scheme is initial if its underlying space is empty .
Equations
- AlgebraicGeometry.isInitialOfIsEmpty = AlgebraicGeometry.emptyIsInitial.ofIso (CategoryTheory.asIso (AlgebraicGeometry.emptyIsInitial.to X))
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
Equations
- ⋯ = ⋯
Equations
Equations
(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
(Implementation Detail) The glue data associated to a disjoint union.
Equations
- AlgebraicGeometry.disjointGlueData f = { toGlueData := CategoryTheory.GlueData.ofGlueData' (AlgebraicGeometry.disjointGlueData' f), f_open := ⋯ }
Instances For
(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
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
Equations
- ⋯ = ⋯
(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
Equations
- ⋯ = ⋯
The images of each component in the coproduct is disjoint.
The open cover of the coproduct.
Equations
- AlgebraicGeometry.sigmaOpenCover f = { J := ι, obj := f, map := CategoryTheory.Limits.Sigma.ι f, f := fun (x : ↑↑(∐ f).toPresheafedSpace) => ⋯.choose, covers := ⋯, map_prop := ⋯ }
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
(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
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
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
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
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The canonical map ∐ Spec Rᵢ ⟶ Spec (Π Rᵢ)
.
This is an isomorphism when the product is finite.
Equations
- AlgebraicGeometry.sigmaSpec R = CategoryTheory.Limits.Sigma.desc fun (i : ι) => AlgebraicGeometry.Spec.map (CommRingCat.ofHom (Pi.evalRingHom (fun (i : ι) => ↑(R i)) i))
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯