Documentation

Lean.Meta.Tactic.Grind.Arith.Cutsat.SearchM

In principle, we only need to support two kinds of case split.

  • Disequalities.
  • Cooper-Left, but we have 4 different variants of this one.
Instances For
    • kind : CaseKind
    • fvarId : FVarId

      Decision variable used to represent the case-split. For example, suppose we are splitting on p ≠ 0. Then, we create a decision variable h : p + 1 ≤ 0

    • saved : State

      Snapshot of the cutsat state for backtracking purposes. We do not use a trail stack.

    Instances For
      • rat : Kind

        Allow variables to be assigned to rational numbers during model construction.

      • int : Kind

        Variables must be assigned to integer numbers. Cooper case splits are required in this mode.

      Instances For

        State of the model search procedure.

        • cases : PArray Case

          Decision stack (aka case-split stack)

        • precise : Bool

          precise := false if not all constraints were satisfied during the search.

        • decVars : FVarIdSet

          Set of decision variables in cases.

        Instances For

          Returns true if approximations are allowed.

          Equations
          Instances For

            Sets precise to false to indicate that some constraint was not satisfied.

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