Standard smooth algebras #
In this file we define standard smooth algebras. For this we introduce
the notion of a PreSubmersivePresentation. This is a presentation P that has
fewer relations than generators. More precisely there exists an injective map from P.rels
to P.vars. To such a presentation we may associate a jacobian. P is then a submersive
presentation, if its jacobian is invertible.
Finally, a standard smooth algebra is an algebra that admits a submersive presentation.
While every standard smooth algebra is smooth, the converse does not hold. But if S is R-smooth,
then S is R-standard smooth locally on S, i.e. there exists a set { t } of S that
generates the unit ideal, such that Sₜ is R-standard smooth for every t (TODO, see below).
Main definitions #
All of these are in the Algebra namespace. Let S be an R-algebra.
PreSubmersivePresentation: APresentationofSasR-algebra, equipped with an injective mapP.mapfromP.relstoP.vars. This map is used to define the differential of a presubmersive presentation.
For a presubmersive presentation P of S over R we make the following definitions:
PreSubmersivePresentation.differential: A linear endomorphism ofP.rels → P.Ringsending thej-th standard basis vector, corresponding to thej-th relation, to the vector of partial derivatives ofP.relation jwith respect to the coordinatesP.map ifori : P.rels.PreSubmersivePresentation.jacobian: The determinant ofP.differential.PreSubmersivePresentation.jacobiMatrix: IfP.relshas aFintypeinstance, we may form the matrix corresponding toP.differential. Its determinant isP.jacobian.SubmersivePresentation: A submersive presentation is a finite, presubmersive presentationPwith inSinvertible jacobian.
Furthermore, for algebras we define:
Algebra.IsStandardSmooth:SisR-standard smooth ifSadmits a submersiveR-presentation.Algebra.IsStandardSmooth.relativeDimension: IfSisR-standard smooth this is the dimension of an arbitrary submersiveR-presentation ofS. This is independent of the choice of the presentation (TODO, see below).Algebra.IsStandardSmoothOfRelativeDimension n:SisR-standard smooth of relative dimensionnif it admits a submersiveR-presentation of dimensionn.
Finally, for ring homomorphisms we define:
RingHom.IsStandardSmooth: A ring homomorphismR →+* Sis standard smooth ifSis standard smooth asR-algebra.RingHom.IsStandardSmoothOfRelativeDimension n: A ring homomorphismR →+* Sis standard smooth of relative dimensionnifSis standard smooth of relative dimensionnasR-algebra.
TODO #
- Show that the canonical presentation for localization away from an element is standard smooth of relative dimension 0.
- Show that the composition of submersive presentations of relative dimensions
nandmis submersive of relative dimensionn + m. - Show that the module of Kaehler differentials of a standard smooth
R-algebraSof relative dimensionnisS-free of rankn. In particular this shows that the relative dimension is independent of the choice of the standard smooth presentation. - Show that standard smooth algebras are smooth. This relies on the computation of the module of Kaehler differentials.
- Show that locally on the target, smooth algebras are standard smooth.
Implementation details #
Standard smooth algebras and ring homomorphisms feature 4 universe levels: The universe levels of the rings involved and the universe levels of the types of the variables and relations.
Notes #
This contribution was created as part of the AIM workshop "Formalizing algebraic geometry" in June 2024.
A PreSubmersivePresentation of an R-algebra S is a Presentation
with finitely-many relations equipped with an injective map : relations → vars.
This map determines how the differential of P is constructed. See
PreSubmersivePresentation.differential for details.
- vars : Type w
- val : self.vars → S
- σ' : S → MvPolynomial self.vars R
- aeval_val_σ' : ∀ (s : S), (MvPolynomial.aeval self.val) (self.σ' s) = s
- rels : Type t
- relation : self.rels → self.Ring
- span_range_relation_eq_ker : Ideal.span (Set.range self.relation) = self.ker
- map : self.rels → self.vars
A map from the relations type to the variables type. Used to compute the differential.
- map_inj : Function.Injective self.map
- relations_finite : Finite self.rels
Instances For
The standard basis of P.rels → P.ring.
Equations
- P.basis = Pi.basisFun P.Ring P.rels
Instances For
The differential of a P : PreSubmersivePresentation is a P.Ring-linear map on
P.rels → P.Ring:
The j-th standard basis vector, corresponding to the j-th relation of P, is mapped
to the vector of partial derivatives of P.relation j with respect
to the coordinates P.map i for all i : P.rels.
The determinant of this map is the jacobian of P used to define when a PreSubmersivePresentation
is submersive. See PreSubmersivePresentation.jacobian.
Equations
- P.differential = (P.basis.constr P.Ring) fun (j i : P.rels) => (MvPolynomial.pderiv (P.map i)) (P.relation j)
Instances For
The jacobian of a P : PreSubmersivePresentation is the determinant
of P.differential viewed as element of S.
Equations
- P.jacobian = (algebraMap P.Ring S) (LinearMap.det P.differential)
Instances For
If P.rels has a Fintype and DecidableEq instance, the differential of P
can be expressed in matrix form.
Equations
- P.jacobiMatrix = (LinearMap.toMatrix P.basis P.basis) P.differential
Instances For
If algebraMap R S is bijective, the empty generators are a pre-submersive
presentation with no relations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
If P is a pre-submersive presentation of S over R and T is an R-algebra, we
obtain a natural pre-submersive presentation of T ⊗[R] S over T.
Equations
- Algebra.PreSubmersivePresentation.baseChange T P = { toPresentation := Algebra.Presentation.baseChange T P.toPresentation, map := P.map, map_inj := ⋯, relations_finite := ⋯ }
Instances For
A PreSubmersivePresentation is submersive if its jacobian is a unit in S
and the presentation is finite.
- vars : Type w
- val : self.vars → S
- σ' : S → MvPolynomial self.vars R
- aeval_val_σ' : ∀ (s : S), (MvPolynomial.aeval self.val) (self.σ' s) = s
- rels : Type t
- relation : self.rels → self.Ring
- span_range_relation_eq_ker : Ideal.span (Set.range self.relation) = self.ker
- map : self.rels → self.vars
- map_inj : Function.Injective self.map
- relations_finite : Finite self.rels
- jacobian_isUnit : IsUnit self.jacobian
- isFinite : self.IsFinite
Instances For
If algebraMap R S is bijective, the empty generators are a submersive
presentation with no relations.
Equations
- Algebra.SubmersivePresentation.ofBijectiveAlgebraMap h = { toPreSubmersivePresentation := Algebra.PreSubmersivePresentation.ofBijectiveAlgebraMap h, jacobian_isUnit := ⋯, isFinite := ⋯ }
Instances For
The canonical submersive R-presentation of R with no generators and no relations.
Equations
Instances For
If P is a submersive presentation of S over R and T is an R-algebra, we
obtain a natural submersive presentation of T ⊗[R] S over T.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An R-algebra S is called standard smooth, if there
exists a submersive presentation.
- out : Nonempty (Algebra.SubmersivePresentation R S)
Instances
The relative dimension of a standard smooth R-algebra S is
the dimension of an arbitrarily chosen submersive R-presentation of S.
Note: If S is non-trivial, this number is independent of the choice of the presentation as it is
equal to the S-rank of Ω[S/R] (TODO).
Equations
- Algebra.IsStandardSmooth.relativeDimension R S = ⋯.some.dimension
Instances For
An R-algebra S is called standard smooth of relative dimension n, if there exists
a submersive presentation of dimension n.
- out : ∃ (P : Algebra.SubmersivePresentation R S), P.dimension = n
Instances
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
A ring homomorphism R →+* S is standard smooth if S is standard smooth as R-algebra.
Equations
- f.IsStandardSmooth = Algebra.IsStandardSmooth R S