Reduction modulo a polynomial multiplies the length by at most Cⁿ
ProvedTranscendence.exists_modByMonic_length_lediaz-modulus-leanpolynomialstranscendence
For polynomials in , the length of , written , is the sum of the absolute values of all its integer coefficients. For every there is such that, whenever has length at most , -degree at most and -degree at most , the remainder (Mathlib's %ₘ) satisfies
Mathlib already provides the remainder, the divisibility and the degree drop; this node adds the size bound. No hypothesis on is needed: if is not monic, %ₘ returns .
Preamble
import Mathlib
Formal statement
namespace Transcendence
/-- Division by a monic polynomial in `ℤ[X][Y]` keeps sizes under control.
Let `Q ∈ ℤ[X][Y]` be monic in `Y`. For `P ∈ ℤ[X][Y]` of `Y`-degree at most `n`, the remainder
`P %ₘ Q` is `∑ₖ Pₖ(X) · (Yᵏ %ₘ Q)`, and `Yᵏ %ₘ Q` is obtained from `Y^(k-1) %ₘ Q` by one
multiplication by `Y` and one subtraction of a multiple of `Q`. Hence, if `P` has length
(sum of the absolute values of all its integer coefficients) at most `b` and every coefficient
`Pₖ(X)` has degree at most `e`, then `P %ₘ Q` has length at most `Cⁿ b` and its coefficients
have `X`-degree at most `e + C n`, for a constant `C` depending only on `Q`. When `Q` is not
monic, `P %ₘ Q = P` and the bounds hold with any `C ≥ 1`. -/
theorem exists_modByMonic_length_le (Q : Polynomial (Polynomial ℤ)) :
∃ C : ℕ, ∀ (P : Polynomial (Polynomial ℤ)) (b e n : ℕ),
∑ k ∈ P.support, ∑ i ∈ (P.coeff k).support, ((P.coeff k).coeff i).natAbs ≤ b →
(∀ k, (P.coeff k).natDegree ≤ e) → P.natDegree ≤ n →
∑ k ∈ (P.modByMonic Q).support, ∑ i ∈ ((P.modByMonic Q).coeff k).support,
(((P.modByMonic Q).coeff k).coeff i).natAbs ≤ C ^ n * b ∧
∀ k, ((P.modByMonic Q).coeff k).natDegree ≤ e + C * n := by
sorry
end Transcendence
Source
Standard. Formal proof: Diaz modulus mission, 25 September 2026 (C. Perassi).