def
WittVector.verschiebungFun
{p : ℕ}
{R : Type u_1}
[CommRing R]
(x : WittVector p R)
:
WittVector p R
verschiebungFun x
shifts the coefficients of x
up by one,
by inserting 0 as the 0th coefficient.
x.coeff i
then becomes (verchiebungFun x).coeff (i + 1)
.
verschiebungFun
is the underlying function of the additive monoid hom WittVector.verschiebung
.
Instances For
theorem
WittVector.verschiebungFun_coeff
{p : ℕ}
{R : Type u_1}
[CommRing R]
(x : WittVector p R)
(n : ℕ)
:
theorem
WittVector.verschiebungFun_coeff_zero
{p : ℕ}
{R : Type u_1}
[CommRing R]
(x : WittVector p R)
:
x.verschiebungFun.coeff 0 = 0
@[simp]
theorem
WittVector.verschiebungFun_coeff_succ
{p : ℕ}
{R : Type u_1}
[CommRing R]
(x : WittVector p R)
(n : ℕ)
:
x.verschiebungFun.coeff n.succ = x.coeff n
theorem
WittVector.ghostComponent_zero_verschiebungFun
{p : ℕ}
{R : Type u_1}
[CommRing R]
[hp : Fact (Nat.Prime p)]
(x : WittVector p R)
:
(WittVector.ghostComponent 0) x.verschiebungFun = 0
theorem
WittVector.ghostComponent_verschiebungFun
{p : ℕ}
{R : Type u_1}
[CommRing R]
[hp : Fact (Nat.Prime p)]
(x : WittVector p R)
(n : ℕ)
:
(WittVector.ghostComponent (n + 1)) x.verschiebungFun = ↑p * (WittVector.ghostComponent n) x
The 0th Verschiebung polynomial is 0. For n > 0
, the n
th Verschiebung polynomial is the
variable X (n-1)
.
Equations
- WittVector.verschiebungPoly n = if n = 0 then 0 else MvPolynomial.X (n - 1)
Instances For
theorem
WittVector.aeval_verschiebung_poly'
{p : ℕ}
{R : Type u_1}
[CommRing R]
(x : WittVector p R)
(n : ℕ)
:
(MvPolynomial.aeval x.coeff) (WittVector.verschiebungPoly n) = x.verschiebungFun.coeff n
instance
WittVector.verschiebungFun_isPoly
(p : ℕ)
:
WittVector.IsPoly p fun (R : Type u_3) (_Rcr : CommRing R) => WittVector.verschiebungFun
WittVector.verschiebung
has polynomial structure given by WittVector.verschiebungPoly
.
Equations
- ⋯ = ⋯
noncomputable def
WittVector.verschiebung
{p : ℕ}
{R : Type u_1}
[CommRing R]
[hp : Fact (Nat.Prime p)]
:
WittVector p R →+ WittVector p R
verschiebung x
shifts the coefficients of x
up by one, by inserting 0 as the 0th coefficient.
x.coeff i
then becomes (verchiebung x).coeff (i + 1)
.
This is an additive monoid hom with underlying function verschiebung_fun
.
Equations
- WittVector.verschiebung = { toFun := WittVector.verschiebungFun, map_zero' := ⋯, map_add' := ⋯ }
Instances For
theorem
WittVector.verschiebung_isPoly
{p : ℕ}
[hp : Fact (Nat.Prime p)]
:
WittVector.IsPoly p fun (x : Type u_3) (x_1 : CommRing x) => ⇑WittVector.verschiebung
WittVector.verschiebung
is a polynomial function.
@[simp]
theorem
WittVector.map_verschiebung
{p : ℕ}
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[CommRing S]
[hp : Fact (Nat.Prime p)]
(f : R →+* S)
(x : WittVector p R)
:
(WittVector.map f) (WittVector.verschiebung x) = WittVector.verschiebung ((WittVector.map f) x)
verschiebung is a natural transformation
theorem
WittVector.ghostComponent_zero_verschiebung
{p : ℕ}
{R : Type u_1}
[CommRing R]
[hp : Fact (Nat.Prime p)]
(x : WittVector p R)
:
(WittVector.ghostComponent 0) (WittVector.verschiebung x) = 0
theorem
WittVector.ghostComponent_verschiebung
{p : ℕ}
{R : Type u_1}
[CommRing R]
[hp : Fact (Nat.Prime p)]
(x : WittVector p R)
(n : ℕ)
:
(WittVector.ghostComponent (n + 1)) (WittVector.verschiebung x) = ↑p * (WittVector.ghostComponent n) x
@[simp]
theorem
WittVector.verschiebung_coeff_zero
{p : ℕ}
{R : Type u_1}
[CommRing R]
[hp : Fact (Nat.Prime p)]
(x : WittVector p R)
:
(WittVector.verschiebung x).coeff 0 = 0
@[simp]
theorem
WittVector.verschiebung_coeff_succ
{p : ℕ}
{R : Type u_1}
[CommRing R]
[hp : Fact (Nat.Prime p)]
(x : WittVector p R)
(n : ℕ)
:
(WittVector.verschiebung x).coeff n.succ = x.coeff n
theorem
WittVector.aeval_verschiebungPoly
{p : ℕ}
{R : Type u_1}
[CommRing R]
[hp : Fact (Nat.Prime p)]
(x : WittVector p R)
(n : ℕ)
:
(MvPolynomial.aeval x.coeff) (WittVector.verschiebungPoly n) = (WittVector.verschiebung x).coeff n
@[simp]
theorem
WittVector.bind₁_verschiebungPoly_wittPolynomial
{p : ℕ}
[hp : Fact (Nat.Prime p)]
(n : ℕ)
:
(MvPolynomial.bind₁ WittVector.verschiebungPoly) (wittPolynomial p ℤ n) = if n = 0 then 0 else ↑p * wittPolynomial p ℤ (n - 1)