Documentation

RealClosedField.SturmTarski.SturmSeq

@[irreducible]
def sturmSeq {R : Type u_1} [Field R] [IsRealClosed R] (f g : Polynomial R) :
Equations
Instances For
    theorem no_zero_in_sturmSeq {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) :
    0sturmSeq p q
    @[irreducible]
    def seqVar {R : Type u_1} [Field R] [IsRealClosed R] :
    List R
    Equations
    Instances For
      def seqEval {R : Type u_1} [Field R] (k : R) :
      List (Polynomial R)List R
      Equations
      Instances For
        def seqEvalSgn {R : Type u_1} [Field R] [IsRealClosed R] (k : R) :
        List (Polynomial R)List R
        Equations
        Instances For
          def seqVar_ab {R : Type u_1} [Field R] [IsRealClosed R] (P : List (Polynomial R)) (a b : R) :
          Equations
          Instances For
            def seqVarSturm_ab {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) (a b : R) :
            Equations
            Instances For
              def seqVarAbove_a {R : Type u_1} [Field R] [IsRealClosed R] (P : List (Polynomial R)) (a : R) :
              Equations
              Instances For
                def seqVarBelow_b {R : Type u_1} [Field R] [IsRealClosed R] (P : List (Polynomial R)) (b : R) :
                Equations
                Instances For
                  def seqVarR {R : Type u_1} [Field R] [IsRealClosed R] (P : List (Polynomial R)) :
                  Equations
                  Instances For
                    def seqVarAboveSturm {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) (a : R) :
                    Equations
                    Instances For
                      def seqVarBelowSturm {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) (b : R) :
                      Equations
                      Instances For
                        def seqVarRSturm {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) :
                        Equations
                        Instances For
                          @[irreducible]
                          theorem seqVarSgn {R : Type u_1} [Field R] [IsRealClosed R] (ps : List (Polynomial R)) (k : R) :
                          theorem smod_nil_eq {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) :
                          sturmSeq p q = [] p = 0
                          @[simp]
                          theorem smods_s_0_1 {R : Type u_1} [Field R] [IsRealClosed R] (p : Polynomial R) :
                          @[simp]
                          theorem smods_s_0_2 {R : Type u_1} [Field R] [IsRealClosed R] (p : Polynomial R) :
                          sturmSeq p 0 = if p = 0 then [] else [p]
                          @[simp]
                          theorem seqVarSturm_ab_z_1 {R : Type u_1} [Field R] [IsRealClosed R] (p : Polynomial R) (a b : R) :
                          seqVarSturm_ab 0 p a b = 0
                          @[simp]
                          theorem seqVarSturm_ab_z_2 {R : Type u_1} [Field R] [IsRealClosed R] (p : Polynomial R) (a b : R) :
                          seqVarSturm_ab p 0 a b = 0
                          theorem cauchyIndex_poly_taq {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) (a b : R) :
                          theorem changes_itv_smods_rec {R : Type u_1} [Field R] [IsRealClosed R] {a b : R} {p q : Polynomial R} (hpqa : Polynomial.eval a (p * q) 0) (hpqb : Polynomial.eval b (p * q) 0) :
                          seqVarSturm_ab p q a b = cross (p * q) a b + seqVarSturm_ab q (-p % q) a b
                          theorem cauchyIndex_sturmSeq_aux {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) (a b : R) (hab : a < b) :
                          ∃ (a' : R) (b' : R), a < a' a' < b' b' < b p'sturmSeq p q, ∀ (x : R), a < x x a' b' x x < bPolynomial.eval x p' 0
                          theorem cauchyIndex_poly_rec {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) (a b : R) (hab : a < b) (ha : Polynomial.eval a (p * q) 0) (hb : Polynomial.eval b (p * q) 0) :
                          cauchyIndex p q a b = cross (p * q) a b + cauchyIndex q (-p % q) a b
                          @[irreducible]
                          theorem changes_smods_congr {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) (a a' : R) (haa' : a a') (hpa : Polynomial.eval a p 0) (no_root : p'sturmSeq p q, ∀ (x : R), a < x x a' a' x x < aPolynomial.eval x p' 0) :
                          theorem changes_itv_smods_congr {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) (a a' b b' : R) (hpa : Polynomial.eval a p 0) (hpb : Polynomial.eval b p 0) (haa' : a < a') (hb'b : b' < b) (no_root : p'sturmSeq p q, ∀ (x : R), a < x x a' b' x x < bPolynomial.eval x p' 0) :
                          seqVarSturm_ab p q a b = seqVarSturm_ab p q a' b'
                          theorem cauchyIndex_sturmSeq {R : Type u_1} [Field R] [IsRealClosed R] (p q : Polynomial R) (a b : R) (hpa : Polynomial.eval a p 0) (hpb : Polynomial.eval b p 0) (hab : a < b) :
                          seqVarSturm_ab p q a b = cauchyIndex p q a b