Witt polynomials #
To endow WittVector p R
with a ring structure,
we need to study the so-called Witt polynomials.
Fix a base value p : ℕ
.
The p
-adic Witt polynomials are an infinite family of polynomials
indexed by a natural number n
, taking values in an arbitrary ring R
.
The variables of these polynomials are represented by natural numbers.
The variable set of the n
th Witt polynomial contains at most n+1
elements {0, ..., n}
,
with exactly these variables when R
has characteristic 0
.
These polynomials are used to define the addition and multiplication operators on the type of Witt vectors. (While this type itself is not complicated, the ring operations are what make it interesting.)
When the base p
is invertible in R
, the p
-adic Witt polynomials
form a basis for MvPolynomial ℕ R
, equivalent to the standard basis.
Main declarations #
WittPolynomial p R n
: then
-th Witt polynomial, viewed as polynomial over the ringR
xInTermsOfW p R n
: ifp
is invertible, the polynomialX n
is contained in the subalgebra generated by the Witt polynomials.xInTermsOfW p R n
is the explicit polynomial, which upon being bound to the Witt polynomials yieldsX n
.bind₁_wittPolynomial_xInTermsOfW
: the proof of the claim thatbind₁ (xInTermsOfW p R) (W_ R n) = X n
bind₁_xInTermsOfW_wittPolynomial
: the converse of the above statement
Notation #
In this file we use the following notation
p
is a natural number, typically assumed to be prime.R
andS
are commutative ringsW n
(andW_ R n
when the ring needs to be explicit) denotes then
th Witt polynomial
References #
[Hazewinkel, Witt Vectors][Haze09]
[Commelin and Lewis, Formalizing the Ring of Witt Vectors][CL21]
wittPolynomial p R n
is the n
-th Witt polynomial
with respect to a prime p
with coefficients in a commutative ring R
.
It is defined as:
∑_{i ≤ n} p^i X_i^{p^{n-i}} ∈ R[X_0, X_1, X_2, …]
.
Equations
- wittPolynomial p R n = ∑ i ∈ Finset.range (n + 1), (MvPolynomial.monomial (Finsupp.single i (p ^ (n - i)))) (↑p ^ i)
Instances For
We set up notation locally to this file, to keep statements short and comprehensible.
This allows us to simply write W n
or W_ ℤ n
.
wittPolynomial p R n
is the n
-th Witt polynomial
with respect to a prime p
with coefficients in a commutative ring R
.
It is defined as:
∑_{i ≤ n} p^i X_i^{p^{n-i}} ∈ R[X_0, X_1, X_2, …]
.
Equations
- Witt.termW_ = Lean.ParserDescr.node `Witt.termW_ 1024 (Lean.ParserDescr.symbol "W_")
Instances For
wittPolynomial p R n
is the n
-th Witt polynomial
with respect to a prime p
with coefficients in a commutative ring R
.
It is defined as:
∑_{i ≤ n} p^i X_i^{p^{n-i}} ∈ R[X_0, X_1, X_2, …]
.
Equations
- Witt.termW = Lean.ParserDescr.node `Witt.termW 1024 (Lean.ParserDescr.symbol "W")
Instances For
The first observation is that the Witt polynomial doesn't really depend on the coefficient ring. If we map the coefficients through a ring homomorphism, we obtain the corresponding Witt polynomial over the target ring.
Over the ring ZMod (p^(n+1))
, we produce the n+1
st Witt polynomial
by expanding the n
th Witt polynomial by p
.
Witt polynomials as a basis of the polynomial algebra #
If p
is invertible in R
, then the Witt polynomials form a basis
of the polynomial algebra MvPolynomial ℕ R
.
The polynomials xInTermsOfW
give the coordinate transformation in the backwards direction.
The xInTermsOfW p R n
is the polynomial on the basis of Witt polynomials
that corresponds to the ordinary X n
.
Equations
- xInTermsOfW p R x = (MvPolynomial.X x - ∑ i : Fin x, MvPolynomial.C (↑p ^ ↑i) * xInTermsOfW p R ↑i ^ p ^ (x - ↑i)) * MvPolynomial.C (⅟↑p ^ x)