Documentation

HexRCF.SturmCheck

One positive three-term recurrence in a generalized Sturm replay.

  • leftScale : Int

    Positive scale on the polynomial two positions before the new term.

  • quotient : ZPoly

    Quotient multiplying the preceding polynomial.

  • rightScale : Int

    Positive scale on the new polynomial.

Instances For

    A literal generalized Sturm chain and its multiplication-only replay.

    • chain : Array ZPoly

      The chain [f, s₁, …, sₙ].

    • derivScale : Int

      Positive integer δ satisfying f' = δ s₁.

    • The three-term identities for consecutive chain triples.

    Instances For

      Boolean validation of a supplied positive three-term identity.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Validate recurrence steps and the terminal nonzero constant.

        Equations
        Instances For

          Executable generalized Sturm replay checker.

          All polynomial comparisons use DensePoly.beqCoeffs, avoiding structural array equality during kernel reduction. Nonzero checking before strict degree descent makes natDegree unambiguous and implies that an accepted head has positive degree. Degree descent is retained as an explicit certificate invariant even though the abstract IsSturmChain consequence does not need it.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Literal Sturm variation drop across the dyadic interval (I.lower, I.upper].

            Equations
            Instances For

              Literal Sturm variation drop from negative to positive infinity.

              Equations
              Instances For
                theorem Hex.RCF.SturmReplay.checkNonzero_sound {chain : List ZPoly} (h : checkNonzero chain = true) (q : ZPoly) :
                q chainq 0

                A successful nonzero walk proves every chain entry nonzero.

                A successful degree walk proves proposition-level adjacent descent.

                theorem Hex.RCF.SturmReplay.head_ne_zero {f : ZPoly} {cert : SturmReplay} (h : check f cert = true) :
                f 0

                The head of an accepted replay is nonzero.