Documentation

Mathlib.RingTheory.Extension.Presentation.Basic

Presentations of algebras #

A presentation of an R-algebra S is a distinguished family of generators and relations.

Main definition #

We also give constructors for localization, base change and composition.

TODO #

Notes #

This contribution was created as part of the AIM workshop "Formalizing algebraic geometry" in June 2024.

structure Algebra.Presentation (R : Type u) (S : Type v) (ι : Type w) (σ : Type t) [CommRing R] [CommRing S] [Algebra R S] extends Algebra.Generators R S ι :
Type (max (max (max t u) v) w)

A presentation of an R-algebra S is a family of generators with σ → MvPolynomial ι R: The assignment of each relation to a polynomial in the generators.

Instances For
    @[simp]
    theorem Algebra.Presentation.aeval_val_relation {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) (i : σ) :
    theorem Algebra.Presentation.relation_mem_ker {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) (i : σ) :
    @[reducible, inline]
    abbrev Algebra.Presentation.Quotient {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) :
    Type (max w u)

    The polynomial algebra w.r.t. a family of generators modulo a family of relations.

    Equations
      Instances For
        def Algebra.Presentation.quotientEquiv {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) :

        P.Quotient is P.Ring-isomorphic to S and in particular R-isomorphic to S.

        Equations
          Instances For
            @[simp]
            theorem Algebra.Presentation.quotientEquiv_mk {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) (p : P.Ring) :
            @[simp]
            theorem Algebra.Presentation.quotientEquiv_symm {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) (x : S) :
            noncomputable def Algebra.Presentation.dimension {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) :

            Dimension of a presentation defined as the cardinality of the generators minus the cardinality of the relations.

            Note: this definition is completely non-sensical for non-finite presentations and even then for this to make sense, you should assume that the presentation is a complete intersection.

            Equations
              Instances For
                theorem Algebra.Presentation.fg_ker {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) [Finite σ] :
                instance Algebra.Presentation.instFinitePresentationQuotientOfFinite {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) [Finite σ] [Finite ι] :

                If a presentation is finite, the corresponding quotient is of finite presentation.

                The index of generators to ofFinitePresentation.

                Equations
                  Instances For

                    The index of relations to ofFinitePresentation.

                    Equations
                      Instances For

                        An arbitrary choice of a finite presentation of a finitely presented algebra.

                        Equations
                          Instances For
                            def Algebra.Presentation.ofAlgEquiv {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) {T : Type u_1} [CommRing T] [Algebra R T] (e : S ≃ₐ[R] T) :
                            Presentation R T ι σ

                            Transport a presentation along an algebra isomorphism.

                            Equations
                              Instances For
                                @[simp]
                                theorem Algebra.Presentation.ofAlgEquiv_relation {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) {T : Type u_1} [CommRing T] [Algebra R T] (e : S ≃ₐ[R] T) (i : σ) :
                                @[simp]
                                theorem Algebra.Presentation.ofAlgEquiv_toGenerators {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) {T : Type u_1} [CommRing T] [Algebra R T] (e : S ≃ₐ[R] T) :
                                @[simp]
                                theorem Algebra.Presentation.dimension_ofAlgEquiv {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) {T : Type u_1} [CommRing T] [Algebra R T] (e : S ≃ₐ[R] T) :

                                If algebraMap R S is bijective, the empty generators are a presentation with no relations.

                                Equations
                                  Instances For

                                    The canonical R-presentation of R with no generators and no relations.

                                    Equations
                                      Instances For
                                        noncomputable def Algebra.Presentation.localizationAway {R : Type u} (S : Type v) [CommRing R] [CommRing S] [Algebra R S] (r : R) [IsLocalization.Away r S] :

                                        If S is the localization of R away from r, we can construct a natural presentation of S as R-algebra with a single generator X and the relation r * X - 1 = 0.

                                        Equations
                                          Instances For
                                            noncomputable def Algebra.Presentation.baseChange {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (T : Type u_1) [CommRing T] [Algebra R T] (P : Presentation R S ι σ) :
                                            Presentation T (TensorProduct R T S) ι σ

                                            If P is a presentation of S over R and T is an R-algebra, we obtain a natural presentation of T ⊗[R] S over T.

                                            Equations
                                              Instances For
                                                @[simp]
                                                theorem Algebra.Presentation.baseChange_relation {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (T : Type u_1) [CommRing T] [Algebra R T] (P : Presentation R S ι σ) (i : σ) :

                                                Composition of presentations #

                                                Let S be an R-algebra with presentation P and T be an S-algebra with presentation Q. In this section we construct a presentation of T as an R-algebra.

                                                For the underlying generators see Algebra.Generators.comp. The family of relations is indexed by σ' ⊕ σ.

                                                We have two canonical maps: MvPolynomial ι R →ₐ[R] MvPolynomial (ι' ⊕ ι) R induced by Sum.inr and aux : MvPolynomial (ι' ⊕ ι) R →ₐ[R] MvPolynomial ι' S induced by the evaluation MvPolynomial ι R →ₐ[R] S (see below).

                                                Now i : σ is mapped to the image of P.relation i under the first map and j : σ' is mapped to a pre-image under aux of Q.relation j (see comp_relation_aux for the construction of the pre-image and comp_relation_aux_map for a proof that it is indeed a pre-image).

                                                The evaluation map factors as: MvPolynomial (ι' ⊕ ι) R →ₐ[R] MvPolynomial ι' S →ₐ[R] T, where the first map is aux. The goal is to compute that the kernel of this composition is spanned by the relations indexed by σ' ⊕ σ (span_range_relation_eq_ker_comp). One easily sees that this kernel is the pre-image under aux of the kernel of the evaluation of Q, where the latter is by assumption spanned by the relations Q.relation j.

                                                Since aux is surjective (aux_surjective), the pre-image is the sum of the ideal spanned by the constructed pre-images of the Q.relation j and the kernel of aux. It hence remains to show that the kernel of aux is spanned by the image of the P.relation i under the canonical map MvPolynomial ι R →ₐ[R] MvPolynomial (ι' ⊕ ι) R. By assumption this span is the kernel of the evaluation map of P. For this, we use the isomorphism MvPolynomial (ι' ⊕ ι) R ≃ₐ[R] MvPolynomial ι' (MvPolynomial ι R) and MvPolynomial.ker_map.

                                                noncomputable def Algebra.Presentation.compRelationAux {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {σ' : Type u_2} {T : Type u_3} [CommRing T] [Algebra S T] (Q : Presentation S T ι' σ') (P : Presentation R S ι σ) (r : σ') :
                                                MvPolynomial (ι' ι) R

                                                A choice of pre-image of Q.relation r under the canonical map MvPolynomial (ι' ⊕ ι) R →ₐ[R] MvPolynomial ι' S given by the evaluation of P.

                                                Equations
                                                  Instances For
                                                    noncomputable def Algebra.Presentation.comp {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {σ' : Type u_2} {T : Type u_3} [CommRing T] [Algebra S T] (Q : Presentation S T ι' σ') (P : Presentation R S ι σ) [Algebra R T] [IsScalarTower R S T] :
                                                    Presentation R T (ι' ι) (σ' σ)

                                                    Given presentations of T over S and of S over R, we may construct a presentation of T over R.

                                                    Equations
                                                      Instances For
                                                        theorem Algebra.Presentation.comp_relation {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {σ' : Type u_2} {T : Type u_3} [CommRing T] [Algebra S T] (Q : Presentation S T ι' σ') (P : Presentation R S ι σ) [Algebra R T] [IsScalarTower R S T] (a✝ : σ' σ) :
                                                        (Q.comp P).relation a✝ = Sum.elim (Q.compRelationAux P) (fun (rp : σ) => (MvPolynomial.rename Sum.inr) (P.relation rp)) a✝
                                                        theorem Algebra.Presentation.toGenerators_comp {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {σ' : Type u_2} {T : Type u_3} [CommRing T] [Algebra S T] (Q : Presentation S T ι' σ') (P : Presentation R S ι σ) [Algebra R T] [IsScalarTower R S T] :
                                                        @[simp]
                                                        theorem Algebra.Presentation.comp_relation_inr {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {σ' : Type u_2} {T : Type u_3} [CommRing T] [Algebra S T] (Q : Presentation S T ι' σ') (P : Presentation R S ι σ) [Algebra R T] [IsScalarTower R S T] (r : σ) :
                                                        theorem Algebra.Presentation.comp_aeval_relation_inl {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {ι' : Type u_1} {σ' : Type u_2} {T : Type u_3} [CommRing T] [Algebra S T] (Q : Presentation S T ι' σ') (P : Presentation R S ι σ) [Algebra R T] [IsScalarTower R S T] (r : σ') :
                                                        theorem Algebra.Presentation.relation_comp_localizationAway_inl {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] {T : Type u_3} [CommRing T] [Algebra S T] [Algebra R T] [IsScalarTower R S T] (g : S) [IsLocalization.Away g T] (P : Presentation R S ι σ) (h1 : P.σ (-1) = -1) (h0 : P.σ 0 = 0) (r : Unit) :

                                                        The composition of a presentation P with a localization away from an element has the form R[Xᵢ, Y]/(fⱼ, (P.σ g) Y - 1), if the chosen section of P preserves -1 and 0. Note: If S is non-trivial, we can ensure this by only modifying P.σ.

                                                        noncomputable def Algebra.Presentation.reindex {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) {ι' : Type u_1} {σ' : Type u_2} (e : ι' ι) (f : σ' σ) :
                                                        Presentation R S ι' σ'

                                                        Given a presentation P and equivalences ι' ≃ ι and σ' ≃ σ, this is the induced presentation with variables indexed by ι' and relations indexed by σ'

                                                        Equations
                                                          Instances For
                                                            @[simp]
                                                            theorem Algebra.Presentation.reindex_toGenerators {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) {ι' : Type u_1} {σ' : Type u_2} (e : ι' ι) (f : σ' σ) :
                                                            @[simp]
                                                            theorem Algebra.Presentation.dimension_reindex {R : Type u} {S : Type v} {ι : Type w} {σ : Type t} [CommRing R] [CommRing S] [Algebra R S] (P : Presentation R S ι σ) {ι' : Type u_1} {σ' : Type u_2} (e : ι' ι) (f : σ' σ) :
                                                            noncomputable def Algebra.Presentation.naive {R : Type u} {ι : Type w} {σ : Type t} [CommRing R] {v : ιMvPolynomial σ R} (s : MvPolynomial σ R Ideal.span (Set.range v)MvPolynomial σ R := Function.surjInv ) (hs : ∀ (x : MvPolynomial σ R Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x := by apply Function.surjInv_eq) :

                                                            The naive presentation of a quotient R[Xᵢ] ⧸ (vⱼ). If the definitional equality of the section matters, it can be explicitly provided.

                                                            Equations
                                                              Instances For
                                                                @[simp]
                                                                theorem Algebra.Presentation.naive_toGenerators {R : Type u} {ι : Type w} {σ : Type t} [CommRing R] {v : ιMvPolynomial σ R} (s : MvPolynomial σ R Ideal.span (Set.range v)MvPolynomial σ R := Function.surjInv ) (hs : ∀ (x : MvPolynomial σ R Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x := by apply Function.surjInv_eq) :
                                                                theorem Algebra.Presentation.naive_relation {R : Type u} {ι : Type w} {σ : Type t} [CommRing R] {v : ιMvPolynomial σ R} (s : MvPolynomial σ R Ideal.span (Set.range v)MvPolynomial σ R := Function.surjInv ) (hs : ∀ (x : MvPolynomial σ R Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x := by apply Function.surjInv_eq) :
                                                                (naive s hs).relation = v
                                                                @[simp]
                                                                theorem Algebra.Presentation.naive_relation_apply {R : Type u} {ι : Type w} {σ : Type t} [CommRing R] {v : ιMvPolynomial σ R} (s : MvPolynomial σ R Ideal.span (Set.range v)MvPolynomial σ R := Function.surjInv ) (hs : ∀ (x : MvPolynomial σ R Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x := by apply Function.surjInv_eq) (i : ι) :
                                                                (naive s hs).relation i = v i
                                                                theorem Algebra.Presentation.mem_ker_naive {R : Type u} {ι : Type w} {σ : Type t} [CommRing R] {v : ιMvPolynomial σ R} (s : MvPolynomial σ R Ideal.span (Set.range v)MvPolynomial σ R := Function.surjInv ) (hs : ∀ (x : MvPolynomial σ R Ideal.span (Set.range v)), (Ideal.Quotient.mk (Ideal.span (Set.range v))) (s x) = x := by apply Function.surjInv_eq) (i : ι) :
                                                                v i (naive s hs).ker