Documentation

Mathlib.AlgebraicGeometry.PullbackCarrier

Underlying topological space of fibre product of schemes #

Let f : X ⟶ S and g : Y ⟶ S be morphisms of schemes. In this file we describe the underlying topological space of pullback f g, i.e. the fiber product X ×[S] Y.

Main results #

We also give the ranges of pullback.fst, pullback.snd and pullback.map.

A Triplet over f : X ⟶ S and g : Y ⟶ S is a triple of points x : X, y : Y, s : S such that f x = s = f y.

  • x : X.toPresheafedSpace

    The point of X.

  • y : Y.toPresheafedSpace

    The point of Y.

  • s : S.toPresheafedSpace

    The point of S below x and y.

  • hx : f.base self.x = self.s
  • hy : g.base self.y = self.s
Instances For
    theorem AlgebraicGeometry.Scheme.Pullback.Triplet.ext {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} {t₁ t₂ : AlgebraicGeometry.Scheme.Pullback.Triplet f g} (ex : t₁.x = t₂.x) (ey : t₁.y = t₂.y) :
    t₁ = t₂
    def AlgebraicGeometry.Scheme.Pullback.Triplet.mk' {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} (x : X.toPresheafedSpace) (y : Y.toPresheafedSpace) (h : f.base x = g.base y) :

    Make a triplet from x : X and y : Y such that f x = g y.

    Equations
    Instances For
      @[simp]
      theorem AlgebraicGeometry.Scheme.Pullback.Triplet.mk'_s {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} (x : X.toPresheafedSpace) (y : Y.toPresheafedSpace) (h : f.base x = g.base y) :
      @[simp]
      theorem AlgebraicGeometry.Scheme.Pullback.Triplet.mk'_y {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} (x : X.toPresheafedSpace) (y : Y.toPresheafedSpace) (h : f.base x = g.base y) :
      @[simp]
      theorem AlgebraicGeometry.Scheme.Pullback.Triplet.mk'_x {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} (x : X.toPresheafedSpace) (y : Y.toPresheafedSpace) (h : f.base x = g.base y) :

      Given x : X and y : Y such that f x = s = g y, this is κ(x) ⊗[κ(s)] κ(y).

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

        Given x : X and y : Y such that f x = s = g y, this is the canonical map κ(x) ⟶ κ(x) ⊗[κ(s)] κ(y).

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

          Given x : X and y : Y such that f x = s = g y, this is the canonical map κ(y) ⟶ κ(x) ⊗[κ(s)] κ(y).

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def AlgebraicGeometry.Scheme.Pullback.Triplet.tensorCongr {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} {T₁ T₂ : AlgebraicGeometry.Scheme.Pullback.Triplet f g} (e : T₁ = T₂) :
            T₁.tensor T₂.tensor

            Given propositionally equal triplets T₁ and T₂ over f and g, the corresponding T₁.tensor and T₂.tensor are isomorphic.

            Equations
            Instances For

              Given x : X, y : Y and s : S such that f x = s = g y, this is Spec (κ(x) ⊗[κ(s)] κ(y)) ⟶ X ×ₛ Y.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem AlgebraicGeometry.Scheme.Pullback.Triplet.specTensorTo_base_fst {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} (T : AlgebraicGeometry.Scheme.Pullback.Triplet f g) (p : (AlgebraicGeometry.Spec T.tensor).toPresheafedSpace) :
                (CategoryTheory.Limits.pullback.fst f g).base (T.SpecTensorTo.base p) = T.x
                @[simp]
                theorem AlgebraicGeometry.Scheme.Pullback.Triplet.specTensorTo_base_snd {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} (T : AlgebraicGeometry.Scheme.Pullback.Triplet f g) (p : (AlgebraicGeometry.Spec T.tensor).toPresheafedSpace) :
                (CategoryTheory.Limits.pullback.snd f g).base (T.SpecTensorTo.base p) = T.y

                Given t : X ×[S] Y, it maps to X and Y with same image in S, yielding a Triplet f g.

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

                  Given t : X ×[S] Y with projections to X, Y and S denoted by x, y and s respectively, this is the canonical map κ(x) ⊗[κ(s)] κ(y) ⟶ κ(t).

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

                    If t is a point in X ×[S] Y above (x, y, s), then this is the image of the unique point of Spec κ(s) in Spec κ(x) ⊗[κ(s)] κ(y).

                    Equations
                    Instances For
                      theorem AlgebraicGeometry.Scheme.Pullback.carrierEquiv_eq_iff {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} {T₁ T₂ : (T : AlgebraicGeometry.Scheme.Pullback.Triplet f g) × (AlgebraicGeometry.Spec T.tensor).toPresheafedSpace} :
                      T₁ = T₂ ∃ (e : T₁.fst = T₂.fst), (AlgebraicGeometry.Spec.map (AlgebraicGeometry.Scheme.Pullback.Triplet.tensorCongr e).inv).base T₁.snd = T₂.snd

                      A helper lemma to work with AlgebraicGeometry.Scheme.Pullback.carrierEquiv.

                      def AlgebraicGeometry.Scheme.Pullback.carrierEquiv {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} :
                      (CategoryTheory.Limits.pullback f g).toPresheafedSpace (T : AlgebraicGeometry.Scheme.Pullback.Triplet f g) × (AlgebraicGeometry.Spec T.tensor).toPresheafedSpace

                      The points of the underlying topological space of X ×[S] Y bijectively correspond to pairs of triples x : X, y : Y, s : S with f x = s = f y and prime ideals of κ(x) ⊗[κ(s)] κ(y).

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        @[simp]
                        theorem AlgebraicGeometry.Scheme.Pullback.carrierEquiv_symm_fst {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} (T : AlgebraicGeometry.Scheme.Pullback.Triplet f g) (p : (AlgebraicGeometry.Spec T.tensor).toPresheafedSpace) :
                        (CategoryTheory.Limits.pullback.fst f g).base (AlgebraicGeometry.Scheme.Pullback.carrierEquiv.symm T, p) = T.x
                        @[simp]
                        theorem AlgebraicGeometry.Scheme.Pullback.carrierEquiv_symm_snd {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} (T : AlgebraicGeometry.Scheme.Pullback.Triplet f g) (p : (AlgebraicGeometry.Spec T.tensor).toPresheafedSpace) :
                        (CategoryTheory.Limits.pullback.snd f g).base (AlgebraicGeometry.Scheme.Pullback.carrierEquiv.symm T, p) = T.y

                        Given a triple (x, y, s) with f x = s = f y there exists t : X ×[S] Y above x and . For the unpacked version without Triplet, see AlgebraicGeometry.Scheme.Pullback.exists_preimage.

                        theorem AlgebraicGeometry.Scheme.Pullback.exists_preimage_pullback {X Y S : AlgebraicGeometry.Scheme} {f : X S} {g : Y S} (x : X.toPresheafedSpace) (y : Y.toPresheafedSpace) (h : f.base x = g.base y) :
                        ∃ (z : (CategoryTheory.Limits.pullback f g).toPresheafedSpace), (CategoryTheory.Limits.pullback.fst f g).base z = x (CategoryTheory.Limits.pullback.snd f g).base z = y

                        If f : X ⟶ S and g : Y ⟶ S are morphisms of schemes and x : X and y : Y are points such that f x = g y, then there exists z : X ×[S] Y lying above x and y.

                        In other words, the map from the underlying topological space of X ×[S] Y to the fiber product of the underlying topological spaces of X and Y over S is surjective.

                        theorem AlgebraicGeometry.Scheme.Pullback.range_map {X Y S : AlgebraicGeometry.Scheme} (f : X S) (g : Y S) {X' Y' S' : AlgebraicGeometry.Scheme} (f' : X' S') (g' : Y' S') (i₁ : X X') (i₂ : Y Y') (i₃ : S S') (e₁ : CategoryTheory.CategoryStruct.comp f i₃ = CategoryTheory.CategoryStruct.comp i₁ f') (e₂ : CategoryTheory.CategoryStruct.comp g i₃ = CategoryTheory.CategoryStruct.comp i₂ g') [CategoryTheory.Mono i₃] :
                        Set.range (CategoryTheory.Limits.pullback.map f g f' g' i₁ i₂ i₃ e₁ e₂).base = (CategoryTheory.Limits.pullback.fst f' g').base ⁻¹' Set.range i₁.base (CategoryTheory.Limits.pullback.snd f' g').base ⁻¹' Set.range i₂.base