theorem
sturm_tarski_interval
{R : Type u_1}
[Field R]
[IsRealClosed R]
(a b : R)
(p q : Polynomial R)
(hab : a < b)
(hpa : Polynomial.eval a p ≠ 0)
(hpb : Polynomial.eval b p ≠ 0)
:
Equations
- rootsAbove f a = {x ∈ f.roots.toFinset | x > a}
Instances For
Equations
- tarskiQuery_above p q a = ∑ x ∈ rootsAbove p a, sgn (Polynomial.eval x q)
Instances For
Equations
- rootsBelow f b = {x ∈ f.roots.toFinset | x < b}
Instances For
Equations
- tarskiQuery_below p q b = ∑ x ∈ rootsBelow p b, sgn (Polynomial.eval x q)
Instances For
Equations
- tarskiQuery_R p q = ∑ x ∈ p.roots.toFinset, sgn (Polynomial.eval x q)
Instances For
theorem
seq_sgn_pos_inf_seqEvalSgn
{R : Type u_1}
[Field R]
[IsRealClosed R]
(ub : R)
(ps : List (Polynomial R))
(key : ∀ x ≥ ub, ∀ pp ∈ ps, sgn (Polynomial.eval x pp) = sgn_pos_inf pp)
:
theorem
sturm_tarski_above
{R : Type u_1}
[Field R]
[IsRealClosed R]
(a : R)
(p q : Polynomial R)
(hpa : Polynomial.eval a p ≠ 0)
:
theorem
seq_sgn_neg_inf_seqEvalSgn
{R : Type u_1}
[Field R]
[IsRealClosed R]
(lb : R)
(ps : List (Polynomial R))
(key : ∀ x ≤ lb, ∀ pp ∈ ps, sgn (Polynomial.eval x pp) = sgn_neg_inf pp)
:
theorem
sturm_tarski_below
{R : Type u_1}
[Field R]
[IsRealClosed R]
(b : R)
(p q : Polynomial R)
(hpa : Polynomial.eval b p ≠ 0)
:
theorem
sturm_interval
{R : Type u_1}
[Field R]
[IsRealClosed R]
(a b : R)
(p : Polynomial R)
(hab : a < b)
(hpa : Polynomial.eval a p ≠ 0)
(hpb : Polynomial.eval b p ≠ 0)
:
theorem
sturm_above
{R : Type u_1}
[Field R]
[IsRealClosed R]
(a : R)
(p : Polynomial R)
(hpa : Polynomial.eval a p ≠ 0)
:
theorem
sturm_below
{R : Type u_1}
[Field R]
[IsRealClosed R]
(b : R)
(p : Polynomial R)
(hpa : Polynomial.eval b p ≠ 0)
: