Induction on polynomials #
This file contains lemmas dealing with different flavours of induction on polynomials.
divX p returns a polynomial q such that q * X + C (p.coeff 0) = p.
It can be used in a semiring where the usual division algorithm is not possible
Instances For
divX as an additive homomorphism.
Equations
- Polynomial.divX_hom = { toFun := Polynomial.divX, map_zero' := ⋯, map_add' := ⋯ }
Instances For
An induction principle for polynomials, valued in Sort* instead of Prop.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A property holds for all polynomials of positive degree with coefficients in a semiring R
if it holds for
a * X, witha ∈ R,p * X, withp ∈ R[X],p + a, witha ∈ R,p ∈ R[X],
with appropriate restrictions on each term.
See natDegree_ne_zero_induction_on for a similar statement involving no explicit multiplication.
A property holds for all polynomials of non-zero natDegree with coefficients in a
semiring R if it holds for
p + a, witha ∈ R,p ∈ R[X],p + q, withp, q ∈ R[X],- monomials with nonzero coefficient and non-zero exponent,
with appropriate restrictions on each term.
Note that multiplication is "hidden" in the assumption on monomials, so there is no explicit
multiplication in the statement.
See degree_pos_induction_on for a similar statement involving more explicit multiplications.