Documentation

Mathlib.Analysis.Polynomial.Order

Eventual sign of polynomials #

This file proves that a polynomial has a fixed sign beyond its largest or smallest root.

Main statements #

TODO #

Generalize to real-closed fields.

theorem Polynomial.zero_lt_eval_of_roots_lt_of_leadingCoeff_nonneg {P : Polynomial } {x : } (hroots : ∀ (y : ), P.IsRoot yy < x) (hlc : 0 P.leadingCoeff) :
0 < eval x P
theorem Polynomial.zero_le_eval_of_roots_le_of_leadingCoeff_nonneg {P : Polynomial } {x : } (hroots : ∀ (y : ), P.IsRoot yy x) (hlc : 0 P.leadingCoeff) :
0 eval x P
theorem Polynomial.eval_lt_zero_of_roots_lt_of_leadingCoeff_nonpos {P : Polynomial } {x : } (hroots : ∀ (y : ), P.IsRoot yy < x) (hlc : P.leadingCoeff 0) :
eval x P < 0
theorem Polynomial.eval_le_zero_of_roots_le_of_leadingCoeff_nonpos {P : Polynomial } {x : } (hroots : ∀ (y : ), P.IsRoot yy x) (hlc : P.leadingCoeff 0) :
eval x P 0
theorem Polynomial.zero_lt_negOnePow_mul_eval_of_lt_roots_of_leadingCoeff_nonneg {P : Polynomial } {x : } (hroots : ∀ (y : ), P.IsRoot yx < y) (hlc : 0 P.leadingCoeff) :
0 < (↑P.natDegree).negOnePow * eval x P
theorem Polynomial.zero_le_negOnePow_mul_eval_of_le_roots_of_leadingCoeff_nonneg {P : Polynomial } {x : } (hroots : ∀ (y : ), P.IsRoot yx y) (hlc : 0 P.leadingCoeff) :
0 (↑P.natDegree).negOnePow * eval x P
theorem Polynomial.negOnePow_mul_eval_lt_zero_of_lt_roots_of_leadingCoeff_nonpos {P : Polynomial } {x : } (hroots : ∀ (y : ), P.IsRoot yx < y) (hlc : P.leadingCoeff 0) :
(↑P.natDegree).negOnePow * eval x P < 0
theorem Polynomial.negOnePow_mul_eval_le_zero_of_le_roots_of_leadingCoeff_nonpos {P : Polynomial } {x : } (hroots : ∀ (y : ), P.IsRoot yx y) (hlc : P.leadingCoeff 0) :
(↑P.natDegree).negOnePow * eval x P 0