TorchLean API

FloatLib.Numerics.Enclosure.Expression.Check

Checking real inequalities on rational boxes #

Expr.check evaluates an interval expression and checks its decoded upper bound against zero. An inconclusive evaluation can subdivide the widest positive-width input interval at its exact rational midpoint. Both children must succeed. Precision and elementary-function approximation settings belong to the backend; the checker controls only the subdivision depth.

Input coordinates have explicit rational bounds. A missing variable, failed endpoint conversion, or rejected operation makes a leaf fail. CheckProof proves that successful checks establish the inequality for every real assignment in the original box.

@[reducible, inline]

Rational bounds for variables numbered from zero.

Instances For

    Whether the expression must be nonpositive or strictly negative throughout the box.

    Instances For

      Test a rational upper bound against zero.

      Instances For

        Enclose both rational endpoints and keep the outward-facing bounds.

        Instances For

          Enclose every coordinate, failing if either endpoint of any coordinate cannot be enclosed.

          Instances For

            Index and width of the widest positive-width coordinate; ties choose the first coordinate.

            Instances For

              Bisect the widest positive-width coordinate at its exact rational midpoint.

              The two closed children share the midpoint and cover the original box.

              Instances For
                def FloatLib.Numerics.Interval.Expr.checkBox {α : Type u_1} (e : Expr) (B : Backend α) (relation : Relation) (box : Box) :

                Check one box using the decoded upper endpoint of a successful expression evaluation.

                Instances For
                  def FloatLib.Numerics.Interval.Expr.check {α : Type u_1} (e : Expr) (B : Backend α) (relation : Relation) (box : Box) (depth : ℕ) :

                  Check a real inequality, subdividing inconclusive boxes up to the supplied depth.

                  Depth zero performs a single interval evaluation. A split succeeds only when both children succeed, including when the original evaluation rejected an operation's domain.

                  Instances For