Prime-power degree decomposition #
This list is used only in the proof of the all-degrees constructor. The executable constructor computes the same prime-power factors by bounded unary arithmetic. Indices outside the prime support contribute the neutral factor one.
Prime-power degree factors in ascending base order, including neutral factors.
Equations
- MIPRE.LowDegree.BinaryDegreeFactors.degreeFactors n = List.ofFn fun (i : Fin (n + 1)) => ↑i ^ n.factorization ↑i
Instances For
The complete bounded list reconstructs every positive input degree.
Distinct prime indices contribute coprime powers; all other indices contribute one.
theorem
MIPRE.LowDegree.BinaryDegreeFactors.degreeFactors_dvd
(n : ℕ)
(hn : 0 < n)
{d : ℕ}
(hd : d ∈ degreeFactors n)
:
Every listed factor divides the requested degree.
theorem
MIPRE.LowDegree.BinaryDegreeFactors.degreeFactors_pos
(n : ℕ)
(hn : 0 < n)
{d : ℕ}
(hd : d ∈ degreeFactors n)
:
Every listed factor is positive, including neutral factors.
theorem
MIPRE.LowDegree.BinaryDegreeFactors.degreeFactors_le
(n : ℕ)
(hn : 0 < n)
{d : ℕ}
(hd : d ∈ degreeFactors n)
:
The degree cap applies to every listed prime power.