Affine space #
Main definitions #
AlgebraicGeometry.AffineSpace:𝔸(n; S)is the affinen-space overS.AlgebraicGeometry.AffineSpace.coord: The standard coordinate functions on the affine space.AlgebraicGeometry.AffineSpace.homOfVector: The morphismX ⟶ 𝔸(n; S)given by aX ⟶ Sand a choice ofn-coordinate functions.AlgebraicGeometry.AffineSpace.homOverEquiv:S-morphisms intoSpec 𝔸(n; S)are equivalent to the choice ofnglobal sections.AlgebraicGeometry.AffineSpace.SpecIso:𝔸(n; Spec R) ≅ Spec R[n]
𝔸(n; S) is the affine n-space over S.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
AlgebraicGeometry.AffineSpace.of_mvPolynomial_int_ext
{n : Type v}
{R : CommRingCat}
{f g : CommRingCat.of (MvPolynomial n (ULift.{u_1, 0} ℤ)) ⟶ R}
(h :
∀ (i : n),
(CategoryTheory.ConcreteCategory.hom f) (MvPolynomial.X i) = (CategoryTheory.ConcreteCategory.hom g) (MvPolynomial.X i))
:
@[implicit_reducible]
noncomputable instance
AlgebraicGeometry.AffineSpace.over
(n : Type v)
(S : Scheme)
:
(AffineSpace n S).CanonicallyOver S
Equations
- One or more equations did not get rendered due to their size.
The map from the affine n-space over S to the integral model Spec ℤ[n].
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
AlgebraicGeometry.AffineSpace.toSpecMvPolyIntEquiv
(n : Type v)
{X : Scheme}
:
(X ⟶ Spec (CommRingCat.of (MvPolynomial n (ULift.{u, 0} ℤ)))) ≃ (n → ↑(X.presheaf.obj (Opposite.op ⊤)))
Morphisms into Spec ℤ[n] are equivalent the choice of n global sections.
Use homOverEquiv instead.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
AlgebraicGeometry.AffineSpace.toSpecMvPolyIntEquiv_symm_apply
(n : Type v)
{X : Scheme}
(v : n → ↑(X.presheaf.obj (Opposite.op ⊤)))
:
(toSpecMvPolyIntEquiv n).symm v = CategoryTheory.CategoryStruct.comp X.toSpecΓ
(Spec.map
(CommRingCat.ofHom
(MvPolynomial.eval₂Hom ((algebraMap ℤ ↑(X.presheaf.1 (Opposite.op ⊤))).comp ULift.ringEquiv.toRingHom) v)))
@[simp]
theorem
AlgebraicGeometry.AffineSpace.toSpecMvPolyIntEquiv_apply
(n : Type v)
{X : Scheme}
(f : X ⟶ Spec (CommRingCat.of (MvPolynomial n (ULift.{u, 0} ℤ))))
(i : n)
:
theorem
AlgebraicGeometry.AffineSpace.toSpecMvPolyIntEquiv_comp
(n : Type v)
{X Y : Scheme}
(f : X ⟶ Y)
(g : Y ⟶ Spec (CommRingCat.of (MvPolynomial n (ULift.{u_1, 0} ℤ))))
(i : n)
:
(toSpecMvPolyIntEquiv n) (CategoryTheory.CategoryStruct.comp f g) i = (CategoryTheory.ConcreteCategory.hom (Scheme.Hom.appTop f)) ((toSpecMvPolyIntEquiv n) g i)
noncomputable def
AlgebraicGeometry.AffineSpace.coord
{n : Type v}
(S : Scheme)
(i : n)
:
↑((AffineSpace n S).presheaf.obj (Opposite.op ⊤))
The standard coordinates of 𝔸(n; S).
Equations
Instances For
noncomputable def
AlgebraicGeometry.AffineSpace.homOfVector
{n : Type v}
{S X : Scheme}
(f : X ⟶ S)
(v : n → ↑(X.presheaf.obj (Opposite.op ⊤)))
:
The morphism X ⟶ 𝔸(n; S) given by a X ⟶ S and a choice of n-coordinate functions.
Equations
Instances For
@[simp]
theorem
AlgebraicGeometry.AffineSpace.homOfVector_over
{n : Type v}
{S X : Scheme}
(f : X ⟶ S)
(v : n → ↑(X.presheaf.obj (Opposite.op ⊤)))
:
@[simp]
theorem
AlgebraicGeometry.AffineSpace.homOfVector_over_assoc
{n : Type v}
{S X : Scheme}
(f : X ⟶ S)
(v : n → ↑(X.presheaf.obj (Opposite.op ⊤)))
{Z : Scheme}
(h : S ⟶ Z)
:
theorem
AlgebraicGeometry.AffineSpace.homOfVector_toSpecMvPoly
{n : Type v}
{S X : Scheme}
(f : X ⟶ S)
(v : n → ↑(X.presheaf.obj (Opposite.op ⊤)))
:
CategoryTheory.CategoryStruct.comp (homOfVector f v) (toSpecMvPoly n S) = (toSpecMvPolyIntEquiv n).symm v
theorem
AlgebraicGeometry.AffineSpace.homOfVector_toSpecMvPoly_assoc
{n : Type v}
{S X : Scheme}
(f : X ⟶ S)
(v : n → ↑(X.presheaf.obj (Opposite.op ⊤)))
{Z : Scheme}
(h : Spec (CommRingCat.of (MvPolynomial n (ULift.{max u v, 0} ℤ))) ⟶ Z)
:
@[simp]
theorem
AlgebraicGeometry.AffineSpace.homOfVector_appTop_coord
{n : Type v}
{S X : Scheme}
(f : X ⟶ S)
(v : n → ↑(X.presheaf.obj (Opposite.op ⊤)))
(i : n)
:
theorem
AlgebraicGeometry.AffineSpace.hom_ext
{n : Type v}
{S X : Scheme}
{f g : X ⟶ AffineSpace n S}
(h₁ :
CategoryTheory.CategoryStruct.comp f (AffineSpace n S ↘ S) = CategoryTheory.CategoryStruct.comp g (AffineSpace n S ↘ S))
(h₂ :
∀ (i : n),
(CategoryTheory.ConcreteCategory.hom (Scheme.Hom.appTop f)) (coord S i) = (CategoryTheory.ConcreteCategory.hom (Scheme.Hom.appTop g)) (coord S i))
:
theorem
AlgebraicGeometry.AffineSpace.hom_ext_iff
{n : Type v}
{S X : Scheme}
{f g : X ⟶ AffineSpace n S}
:
f = g ↔ CategoryTheory.CategoryStruct.comp f (AffineSpace n S ↘ S) = CategoryTheory.CategoryStruct.comp g (AffineSpace n S ↘ S) ∧ ∀ (i : n),
(CategoryTheory.ConcreteCategory.hom (Scheme.Hom.appTop f)) (coord S i) = (CategoryTheory.ConcreteCategory.hom (Scheme.Hom.appTop g)) (coord S i)
theorem
AlgebraicGeometry.AffineSpace.comp_homOfVector
{n : Type v}
{S X Y : Scheme}
(v : n → ↑(Y.presheaf.obj (Opposite.op ⊤)))
(f : X ⟶ Y)
(g : Y ⟶ S)
:
theorem
AlgebraicGeometry.AffineSpace.comp_homOfVector_assoc
{n : Type v}
{S X Y : Scheme}
(v : n → ↑(Y.presheaf.obj (Opposite.op ⊤)))
(f : X ⟶ Y)
(g : Y ⟶ S)
{Z : Scheme}
(h : AffineSpace n S ⟶ Z)
:
instance
AlgebraicGeometry.AffineSpace.instIsOverHomOfVectorOverSchemeInferInstanceOverClass
{n : Type v}
(S : Scheme)
{X : Scheme}
[X.Over S]
(v : n → ↑(X.presheaf.obj (Opposite.op ⊤)))
:
Scheme.Hom.IsOver (homOfVector (X ↘ S) v) S
@[simp]
theorem
AlgebraicGeometry.AffineSpace.homOverEquiv_apply
{n : Type v}
(S : Scheme)
{X : Scheme}
[X.Over S]
(f : { f : X ⟶ AffineSpace n S // Scheme.Hom.IsOver f S })
(i : n)
:
@[simp]
theorem
AlgebraicGeometry.AffineSpace.homOverEquiv_symm_apply_coe
{n : Type v}
(S : Scheme)
{X : Scheme}
[X.Over S]
(v : n → ↑(X.presheaf.obj (Opposite.op ⊤)))
:
noncomputable def
AlgebraicGeometry.AffineSpace.isoOfIsAffine
(n : Type v)
(S : Scheme)
[IsAffine S]
:
The affine space over an affine base is isomorphic to the spectrum of the polynomial ring.
Also see AffineSpace.SpecIso.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
AlgebraicGeometry.AffineSpace.isoOfIsAffine_hom
(n : Type v)
(S : Scheme)
[IsAffine S]
:
(isoOfIsAffine n S).hom = CategoryTheory.CategoryStruct.comp (AffineSpace n S).toSpecΓ
(Spec.map
(CommRingCat.ofHom
(MvPolynomial.eval₂Hom (CommRingCat.Hom.hom (Scheme.Hom.appTop (AffineSpace n S ↘ S))) (coord S))))
@[simp]
theorem
AlgebraicGeometry.AffineSpace.isoOfIsAffine_hom_appTop
{n : Type v}
(S : Scheme)
[IsAffine S]
:
Scheme.Hom.appTop (isoOfIsAffine n S).hom = CategoryTheory.CategoryStruct.comp
(Scheme.ΓSpecIso (CommRingCat.of (MvPolynomial n ↑(S.presheaf.obj (Opposite.op ⊤))))).hom
(CommRingCat.ofHom
(MvPolynomial.eval₂Hom (CommRingCat.Hom.hom (Scheme.Hom.appTop (AffineSpace n S ↘ S))) (coord S)))
@[simp]
theorem
AlgebraicGeometry.AffineSpace.isoOfIsAffine_inv_appTop_coord
{n : Type v}
(S : Scheme)
[IsAffine S]
(i : n)
:
(CategoryTheory.ConcreteCategory.hom (Scheme.Hom.appTop (isoOfIsAffine n S).inv)) (coord S i) = (CategoryTheory.ConcreteCategory.hom
(Scheme.ΓSpecIso (CommRingCat.of (MvPolynomial n ↑(S.presheaf.obj (Opposite.op ⊤))))).inv)
(MvPolynomial.X i)
@[simp]
theorem
AlgebraicGeometry.AffineSpace.isoOfIsAffine_inv_over
{n : Type v}
(S : Scheme)
[IsAffine S]
:
instance
AlgebraicGeometry.AffineSpace.instIsAffine
{n : Type v}
(S : Scheme)
[IsAffine S]
:
IsAffine (AffineSpace n S)
The affine space over an affine base is isomorphic to the spectrum of the polynomial ring.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
AlgebraicGeometry.AffineSpace.SpecIso_hom_appTop
{n : Type v}
(R : CommRingCat)
:
Scheme.Hom.appTop (SpecIso n R).hom = CategoryTheory.CategoryStruct.comp (Scheme.ΓSpecIso (CommRingCat.of (MvPolynomial n ↑R))).hom
(CommRingCat.ofHom
(MvPolynomial.eval₂Hom
(CommRingCat.Hom.hom
(CategoryTheory.CategoryStruct.comp (Scheme.ΓSpecIso R).inv
(Scheme.Hom.appTop (AffineSpace n (Spec R) ↘ Spec R))))
(coord (Spec R))))
@[simp]
theorem
AlgebraicGeometry.AffineSpace.SpecIso_inv_appTop_coord
{n : Type v}
(R : CommRingCat)
(i : n)
:
(CategoryTheory.ConcreteCategory.hom (Scheme.Hom.appTop (SpecIso n R).inv)) (coord (Spec R) i) = (CategoryTheory.ConcreteCategory.hom (Scheme.ΓSpecIso (CommRingCat.of (MvPolynomial n ↑R))).inv) (MvPolynomial.X i)
@[simp]
theorem
AlgebraicGeometry.AffineSpace.SpecIso_inv_over
{n : Type v}
(R : CommRingCat)
:
CategoryTheory.CategoryStruct.comp (SpecIso n R).inv (AffineSpace n (Spec R) ↘ Spec R) = Spec.map (CommRingCat.ofHom MvPolynomial.C)
@[simp]
theorem
AlgebraicGeometry.AffineSpace.SpecIso_inv_over_assoc
{n : Type v}
(R : CommRingCat)
{Z : Scheme}
(h : Spec R ⟶ Z)
:
𝔸(n; S) is functorial w.r.t. S.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
AlgebraicGeometry.AffineSpace.map_over
{n : Type v}
{S T : Scheme}
(f : S ⟶ T)
:
CategoryTheory.CategoryStruct.comp (map n f) (AffineSpace n T ↘ T) = CategoryTheory.CategoryStruct.comp (AffineSpace n S ↘ S) f
@[simp]
theorem
AlgebraicGeometry.AffineSpace.map_over_assoc
{n : Type v}
{S T : Scheme}
(f : S ⟶ T)
{Z : Scheme}
(h : T ⟶ Z)
:
CategoryTheory.CategoryStruct.comp (map n f) (CategoryTheory.CategoryStruct.comp (AffineSpace n T ↘ T) h) = CategoryTheory.CategoryStruct.comp (AffineSpace n S ↘ S) (CategoryTheory.CategoryStruct.comp f h)
@[simp]
theorem
AlgebraicGeometry.AffineSpace.map_appTop_coord
{n : Type v}
{S T : Scheme}
(f : S ⟶ T)
(i : n)
:
@[simp]
@[simp]
theorem
AlgebraicGeometry.AffineSpace.map_toSpecMvPoly_assoc
{n : Type v}
{S T : Scheme}
(f : S ⟶ T)
{Z : Scheme}
(h : Spec (CommRingCat.of (MvPolynomial n (ULift.{max u v, 0} ℤ))) ⟶ Z)
:
@[simp]
@[simp]
theorem
AlgebraicGeometry.AffineSpace.map_comp
{n : Type v}
{S S' S'' : Scheme}
(f : S ⟶ S')
(g : S' ⟶ S'')
:
map n (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.CategoryStruct.comp (map n f) (map n g)
theorem
AlgebraicGeometry.AffineSpace.map_comp_assoc
{n : Type v}
{S S' S'' : Scheme}
(f : S ⟶ S')
(g : S' ⟶ S'')
{Z : Scheme}
(h : AffineSpace n S'' ⟶ Z)
:
theorem
AlgebraicGeometry.AffineSpace.map_SpecMap
{n : Type v}
{R S : CommRingCat}
(φ : R ⟶ S)
:
map n (Spec.map φ) = CategoryTheory.CategoryStruct.comp (SpecIso n S).hom
(CategoryTheory.CategoryStruct.comp (Spec.map (CommRingCat.ofHom (MvPolynomial.map (CommRingCat.Hom.hom φ))))
(SpecIso n R).inv)
@[deprecated AlgebraicGeometry.AffineSpace.map_SpecMap (since := "2025-10-07")]
theorem
AlgebraicGeometry.AffineSpace.map_Spec_map
{n : Type v}
{R S : CommRingCat}
(φ : R ⟶ S)
:
map n (Spec.map φ) = CategoryTheory.CategoryStruct.comp (SpecIso n S).hom
(CategoryTheory.CategoryStruct.comp (Spec.map (CommRingCat.ofHom (MvPolynomial.map (CommRingCat.Hom.hom φ))))
(SpecIso n R).inv)
noncomputable def
AlgebraicGeometry.AffineSpace.mapSpecMap
{n : Type v}
{R S : CommRingCat}
(φ : R ⟶ S)
:
The map between affine spaces over affine bases is isomorphic to the natural map between polynomial rings.
Equations
Instances For
theorem
AlgebraicGeometry.AffineSpace.isPullback_map
{n : Type v}
{S T : Scheme}
(f : S ⟶ T)
:
CategoryTheory.IsPullback (map n f) (AffineSpace n S ↘ S) (AffineSpace n T ↘ T) f
𝔸(n; S) is functorial w.r.t. n.
Equations
Instances For
@[simp]
theorem
AlgebraicGeometry.AffineSpace.reindex_over_assoc
{n m : Type v}
(i : m → n)
(S : Scheme)
{Z : Scheme}
(h : S ⟶ Z)
:
CategoryTheory.CategoryStruct.comp (reindex i S) (CategoryTheory.CategoryStruct.comp (AffineSpace m S ↘ S) h) = CategoryTheory.CategoryStruct.comp (AffineSpace n S ↘ S) h
@[simp]
theorem
AlgebraicGeometry.AffineSpace.reindex_appTop_coord
{n m : Type v}
(i : m → n)
(S : Scheme)
(j : m)
:
@[simp]
@[simp]
theorem
AlgebraicGeometry.AffineSpace.reindex_comp
{n₁ n₂ n₃ : Type v}
(i : n₁ → n₂)
(j : n₂ → n₃)
(S : Scheme)
:
theorem
AlgebraicGeometry.AffineSpace.reindex_comp_assoc
{n₁ n₂ n₃ : Type v}
(i : n₁ → n₂)
(j : n₂ → n₃)
(S : Scheme)
{Z : Scheme}
(h : AffineSpace n₁ S ⟶ Z)
:
CategoryTheory.CategoryStruct.comp (reindex (j ∘ i) S) h = CategoryTheory.CategoryStruct.comp (reindex j S) (CategoryTheory.CategoryStruct.comp (reindex i S) h)
@[simp]
theorem
AlgebraicGeometry.AffineSpace.map_reindex
{n₁ n₂ : Type v}
(i : n₁ → n₂)
{S T : Scheme}
(f : S ⟶ T)
:
CategoryTheory.CategoryStruct.comp (map n₂ f) (reindex i T) = CategoryTheory.CategoryStruct.comp (reindex i S) (map n₁ f)
@[simp]
theorem
AlgebraicGeometry.AffineSpace.map_reindex_assoc
{n₁ n₂ : Type v}
(i : n₁ → n₂)
{S T : Scheme}
(f : S ⟶ T)
{Z : Scheme}
(h : AffineSpace n₁ T ⟶ Z)
:
CategoryTheory.CategoryStruct.comp (map n₂ f) (CategoryTheory.CategoryStruct.comp (reindex i T) h) = CategoryTheory.CategoryStruct.comp (reindex i S) (CategoryTheory.CategoryStruct.comp (map n₁ f) h)
The affine space as a functor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
instance
AlgebraicGeometry.AffineSpace.instIsAffineHomOverSchemeInferInstanceOverClass
{n : Type v}
(S : Scheme)
:
IsAffineHom (AffineSpace n S ↘ S)
instance
AlgebraicGeometry.AffineSpace.instSurjectiveOverSchemeInferInstanceOverClass
{n : Type v}
(S : Scheme)
:
Surjective (AffineSpace n S ↘ S)
instance
AlgebraicGeometry.AffineSpace.instLocallyOfFinitePresentationOverSchemeInferInstanceOverClassOfFinite
{n : Type v}
(S : Scheme)
[Finite n]
:
LocallyOfFinitePresentation (AffineSpace n S ↘ S)
theorem
AlgebraicGeometry.AffineSpace.isOpenMap_over
{n : Type v}
(S : Scheme)
:
IsOpenMap ⇑(AffineSpace n S ↘ S)
instance
AlgebraicGeometry.AffineSpace.instIsIsoSchemeOverInferInstanceOverClassOfIsEmpty
{n : Type v}
(S : Scheme)
[IsEmpty n]
:
CategoryTheory.IsIso (AffineSpace n S ↘ S)
theorem
AlgebraicGeometry.AffineSpace.not_isIntegralHom
{n : Type v}
(S : Scheme)
[Nonempty ↥S]
[Nonempty n]
:
¬IsIntegralHom (AffineSpace n S ↘ S)