Regular local rings with coordinates #
This file fixes the setting of the local algebra shared by the algebraic and the analytic parts
of the library: a regular local ring R containing ℚ, a regular system of parameters
x₁, …, xₙ and derivations ∂₁, …, ∂ₙ with ∂ᵢ xⱼ = δᵢⱼ. It is the ring-level form of
Kollár's "local coordinates at a point of a smooth variety" [Kol07, Definition 55] together with
the partial derivatives ∂/∂xᵢ that generate the derivations there [Kol07, Definition 73]; the
same structure is carried by the rings of real- and complex-analytic germs.
Main declarations #
IsLocalRing.RegularCoords R n: the coordinate structure. The four propositional fields say that thexᵢgenerate the maximal ideal, thatnis the Krull dimension (soxis a regular system of parameters), that∂ᵢ xⱼ = δᵢⱼ, and that the∂ᵢcommute.IsLocalRing.isUnit_natCast,charZero_residueField: how "characteristic zero" enters — nonzero natural numbers are units ofRand of its residue field.IsLocalRing.RegularCoords.jacobian,transportPderiv,isUnit_jacobian,changeCoords: a second generating systemx'of the maximal ideal has an invertible Jacobian matrixMᵢⱼ = ∂ᵢ x'ⱼ, and the transported derivations∂'ⱼ = ∑ₗ (M⁻¹)ⱼₗ ∂ₗsatisfy∂'ⱼ x'ᵢ = δᵢⱼ.IsLocalRing.RegularCoords.span_range_transportPderiv: theR-span of the derivations does not depend on the coordinates.IsLocalRing.RegularCoords.SpansDerivations: the condition every instance of the structure supplies, that the∂ᵢgenerate all derivations.
The change-of-coordinates argument #
Kollár chooses local coordinates adapted to a subvariety without comment, for instance when
computing a blow-up in coordinates [Kol07, Definition 60] or in the proof of
[Kol07, Proposition 99]; the underlying algebra is the following. Let x' be another
generating system of the maximal ideal 𝔪 and M the matrix Mᵢⱼ = ∂ᵢ x'ⱼ. If det M were
not a unit, its residue would vanish and the residue matrix would have a nonzero kernel vector
v; lifting v to w : Fin n → R, the element y = ∑ⱼ wⱼ x'ⱼ lies in 𝔪 and all its partials
∂ᵢ y = ∑ⱼ wⱼ ∂ᵢ x'ⱼ + ∑ⱼ (∂ᵢ wⱼ) x'ⱼ lie in 𝔪. An element of 𝔪 all of whose partials lie
in 𝔪 lies in 𝔪²: writing y = ∑ aₗ xₗ, the relation ∂ᵢ y ≡ aᵢ (mod 𝔪) forces every
aₗ ∈ 𝔪. Some wⱼ₀ is a unit, so x'ⱼ₀ ∈ 𝔪² + ⟨x'ⱼ : j ≠ j₀⟩, and Nakayama's lemma gives
𝔪 = ⟨x'ⱼ : j ≠ j₀⟩, generated by n - 1 elements. But the minimal number of generators of
the maximal ideal of a regular local ring is its dimension n, a contradiction. This is where
regularity of R (through dim R = n) is used; nothing else in the file needs it.
Index convention #
With the pair of conventions Mᵢⱼ = ∂ⱼ x'ᵢ and ∂'ⱼ = ∑ₗ (M⁻¹)ⱼₗ ∂ₗ one would get
∂'ⱼ x'ᵢ = (M · (M⁻¹)ᵀ)ᵢⱼ, which is δᵢⱼ only for symmetric M. We take the Jacobian
convention Mᵢⱼ = ∂ᵢ x'ⱼ and keep ∂'ⱼ = ∑ₗ (M⁻¹)ⱼₗ ∂ₗ, so that ∂'ⱼ x'ᵢ = (M⁻¹ M)ⱼᵢ = δⱼᵢ.
Instances #
RegularCoords is data, not a class: a ring carries many coordinate systems, and the change of
coordinates above moves between them. The instances constructed in the library are the stalks
of smooth k-schemes at their points, the power series ring K⟦X₁, …, Xₙ⟧
(Hironaka.Algebra.Local.PowerSeries) and the rings of analytic germs; each also supplies
SpansDerivations for the derivations of its setting.
The coordinate structure [Kol07, Definitions 55 and 73]. A regular system of
parameters x of the regular local ring R ⊇ ℚ together with commuting derivations
pderiv i satisfying
pderiv i (x j) = δᵢⱼ. The field card says n = dim R; with span_x it makes x a minimal
generating system of the maximal ideal.
- x : Fin n → R
The regular system of parameters
x₁, …, xₙ. - pderiv : Fin n → Derivation ℚ R R
The partial derivatives
∂₁, …, ∂ₙ, asℚ-derivations ofR. The
xᵢgenerate the maximal ideal.nis the Krull dimension ofR.∂ᵢ xⱼ = δᵢⱼ.- pderiv_comm (i j : Fin n) (f : R) : (self.pderiv i) ((self.pderiv j) f) = (self.pderiv j) ((self.pderiv i) f)
The partial derivatives commute.
Instances For
The residue field of a local ℚ-algebra has characteristic zero (Mathlib's
algebraRat.charZero, made an instance; the Algebra ℚ structure is Mathlib's
IsLocalRing.ResidueField.algebra).
Evaluating a finite sum of derivations (Mathlib has Derivation.coeFnAddMonoidHom but no
summed evaluation lemma).
The partial derivatives lower the 𝔪-adic filtration by one step at the first level: an
element of 𝔪 all of whose partials lie in 𝔪 lies in 𝔪². (A step of the
change-of-coordinates argument; the Euler-identity computation ∂ᵢ (∑ aₗ xₗ) ≡ aᵢ (mod 𝔪).)
The Jacobian matrix Mᵢⱼ = ∂ᵢ x'ⱼ of a second family x' with respect to the coordinates
c (index convention in the module docstring).
Instances For
The derivations ∂'ⱼ = ∑ₗ (M⁻¹)ⱼₗ ∂ₗ transported to a second family x'.
Instances For
If x' also generates the maximal ideal, the Jacobian matrix ∂ᵢ x'ⱼ is invertible over
R. Uses dim R = n (regularity) through the minimal number of generators of the maximal
ideal; see the module docstring for the argument.
The transported derivations satisfy ∂'ᵢ x'ⱼ = δᵢⱼ.
A second generating system x' of the maximal ideal, together with the transported
derivations, is again a coordinate structure, once the transported derivations are known to
commute (a hypothesis here; changeCoordsOfSpans derives it from SpansDerivations).
Equations
- c.changeCoords x' hx' hcomm = { x := x', pderiv := c.transportPderiv x', span_x := hx', card := ⋯, pderiv_x := ⋯, pderiv_comm := hcomm }
Instances For
The old derivations in terms of the transported ones: ∂ᵢ = ∑ⱼ Mᵢⱼ ∂'ⱼ.
The R-submodule of Derivation ℚ R R spanned by the transported derivations equals that
spanned by the original ones.
The spanning condition [Kol07, Definition 73], [Wlo05, Definition 2.6.1]: the partial
derivatives generate the derivations of R over the base k, δ = ∑ᵢ δ(xᵢ) ∂ᵢ for every
k-derivation δ. Kollár takes the derivative ideal D(I) over all derivations and says the
∂/∂xᵢ generate them; here D(I) is defined with the fixed ∂ᵢ
(Hironaka/Algebra/Local/Derivative.lean), and this predicate is what each instance supplies to
identify the two (for smooth stalks, freeness of Ω_{X/k} on the dxᵢ; for analytic germs,
uniqueness of Taylor coefficients).
Equations
- c.SpansDerivations k = ∀ (δ : Derivation k R R) (f : R), δ f = ∑ i : Fin n, δ (c.x i) * (c.pderiv i) f
Instances For
The spanning identity in transported coordinates: if the ∂ᵢ span the ℚ-derivations,
then so do the ∂'ⱼ of a second generating system, δ = ∑ₖ δ(x'ₖ) ∂'ₖ. (Proof:
δ(x'ₖ) = ∑ₗ δ(xₗ) Mₗₖ by the spanning identity, and ∑ₖ Mₗₖ (M⁻¹)ₖₚ = δₗₚ.)
If the ∂ᵢ span the ℚ-derivations, the transported derivations of a second generating
system commute — their commutator is a derivation killing every x'ₖ, hence zero by the
spanning identity. This discharges the commutation hypothesis of changeCoords for every
coordinate structure with spanning derivations.
Change of coordinates for a structure whose derivations span: no commutation hypothesis is needed.
Equations
- c.changeCoordsOfSpans hs x' hx' = c.changeCoords x' hx' ⋯
Instances For
The transported coordinate structure again has spanning derivations.