Documentation

HexRCF.SeparationCheck

Check strict gaps between every adjacent pair of emitted intervals.

Equations
Instances For

    Validate generalized isolation and strict adjacent separation.

    Equations
    Instances For
      theorem Hex.RCF.IsolationCert.check_of_checkStrict {replay : SturmReplay} {cert : IsolationCert} (h : checkStrict replay cert = true) :
      check replay cert = true

      Recover the underlying generalized isolation check.

      Strict validation exposes its strict-gap component.

      theorem Hex.RCF.IsolationCert.gap_of_check {cert : IsolationCert} (h : cert.checkGaps = true) (i : Nat) (hi : i + 1 < cert.intervals.size) :

      Every adjacent pair accepted by the strict-gap walk is strictly separated.

      theorem Hex.RCF.IsolationCert.gaps_of_check {cert : IsolationCert} (h : cert.checkGaps = true) (i j : Fin cert.intervals.size) :
      i < jcert.intervals[i].upper < cert.intervals[j].lower

      Strict adjacent gaps imply strict separation for every earlier/later pair.

      The order of an isolated real root relative to an exact dyadic endpoint.

      • lt : RootCmp

        The isolated root is strictly below the endpoint.

      • eq : RootCmp

        The isolated root equals the endpoint.

      • gt : RootCmp

        The endpoint is strictly below the isolated root.

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

          Classify one isolated root against an exact dyadic endpoint. In the interior case, the literal replay count on the prefix interval determines the side, with exact polynomial evaluation resolving equality.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Hex.RCF.Separation.checkCmp (f : ZPoly) (replay : SturmReplay) (I : DyadicInterval) (endpoint : Dyadic) (claim : RootCmp) :

            Recompute and check a claimed endpoint comparison. Sound use additionally requires the outer certificate to establish replay.check f.

            Equations
            Instances For

              Bisect one raw interval and retain a count-one half. The midpoint variation is shared between the two candidate counts.

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

                Separate a pair with an explicit structural fuel budget.

                Equations
                Instances For

                  Refine both members of a touching pair until they have a strict gap or the structural fuel is exhausted. Genuine overlaps and malformed count data are rejected.

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

                    Continue a left-to-right separation scan from its current interval.

                    Equations
                    Instances For

                      Left-to-right separation scan. Refining a later interval only shrinks it, so honest input preserves every strict gap already emitted.

                      Equations
                      Instances For

                        Run untrusted strict separation and retain only checker-approved output. The caller pairs p with a replay checked against it. A mismatch can only choose inadequate fuel and make this builder return none, because the output checker reads counts solely from replay.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          theorem Hex.RCF.Separation.check_separate {p : ZPoly} {replay : SturmReplay} {input output : IsolationCert} (h : separate? p replay input = some output) :

                          The public builder never returns an unchecked strict isolation array.