Binary composed-sum polynomials as products of Frobenius translates #
noncomputable def
MIPRE.LowDegree.BinaryQuotient.translatedPolynomial
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
(g : Polynomial (ZMod 2))
(x : R)
:
Translate a binary polynomial by an element of the ambient binary algebra.
Equations
- MIPRE.LowDegree.BinaryQuotient.translatedPolynomial g x = (Polynomial.map (algebraMap (ZMod 2) R) g).comp (Polynomial.X + Polynomial.C x)
Instances For
noncomputable def
MIPRE.LowDegree.BinaryQuotient.composedSumPolynomial
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
(g : Polynomial (ZMod 2))
(x : R)
(n : ℕ)
:
Product of all specified Frobenius translates of a binary polynomial.
Equations
- MIPRE.LowDegree.BinaryQuotient.composedSumPolynomial g x n = (List.ofFn fun (i : Fin n) => MIPRE.LowDegree.BinaryQuotient.translatedPolynomial g (x ^ 2 ^ ↑i)).prod
Instances For
@[simp]
theorem
MIPRE.LowDegree.BinaryQuotient.composedSumPolynomial_zero
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
(g : Polynomial (ZMod 2))
(x : R)
:
theorem
MIPRE.LowDegree.BinaryQuotient.composedSumPolynomial_succ
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
(g : Polynomial (ZMod 2))
(x : R)
(n : ℕ)
:
theorem
MIPRE.LowDegree.BinaryQuotient.composedSumPolynomial_succ'
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
(g : Polynomial (ZMod 2))
(x : R)
(n : ℕ)
:
composedSumPolynomial g x (n + 1) = composedSumPolynomial g x n * translatedPolynomial g (x ^ 2 ^ n)
theorem
MIPRE.LowDegree.BinaryQuotient.translatedPolynomial_monic
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
(g : Polynomial (ZMod 2))
(hg : g.Monic)
(x : R)
:
(translatedPolynomial g x).Monic
Translating a monic polynomial preserves monicity.
@[simp]
theorem
MIPRE.LowDegree.BinaryQuotient.natDegree_translatedPolynomial
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
[IsDomain R]
(g : Polynomial (ZMod 2))
(x : R)
:
theorem
MIPRE.LowDegree.BinaryQuotient.composedSumPolynomial_monic
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
(g : Polynomial (ZMod 2))
(hg : g.Monic)
(x : R)
(n : ℕ)
:
(composedSumPolynomial g x n).Monic
The product is monic even when its translates repeat.
theorem
MIPRE.LowDegree.BinaryQuotient.map_frobenius_translatedPolynomial
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
[CharP R 2]
(g : Polynomial (ZMod 2))
(x : R)
:
Coefficient Frobenius commutes with translation of a binary polynomial.
theorem
MIPRE.LowDegree.BinaryQuotient.map_frobenius_composedSumPolynomial
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
[CharP R 2]
(g : Polynomial (ZMod 2))
(x : R)
(n : ℕ)
:
Coefficient Frobenius shifts the translate orbit by one place.
theorem
MIPRE.LowDegree.BinaryQuotient.map_frobenius_composedSumPolynomial_of_closed
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
[IsDomain R]
[CharP R 2]
(g : Polynomial (ZMod 2))
(hg : g.Monic)
(x : R)
(n : ℕ)
(hx : x ^ 2 ^ n = x)
:
Closing the translate orbit fixes every product coefficient under Frobenius.
theorem
MIPRE.LowDegree.BinaryQuotient.composedSumPolynomial_coeff_zero_or_one
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
[IsDomain R]
[CharP R 2]
(g : Polynomial (ZMod 2))
(hg : g.Monic)
(x : R)
(n : ℕ)
(hx : x ^ 2 ^ n = x)
(i : ℕ)
:
The coefficients of a closed product of binary translates are binary.
theorem
MIPRE.LowDegree.BinaryQuotient.eval_composedSumPolynomial
{R : Type u_1}
[CommRing R]
[Algebra (ZMod 2) R]
[CharP R 2]
(g : Polynomial (ZMod 2))
(x y : R)
(n : ℕ)
(hn : 0 < n)
(hy : (Polynomial.aeval y) g = 0)
:
A nonempty translate product vanishes at the sum of the translating element and any root.