Documentation

Lean.Meta.Tactic.Grind.Order.Types

Solver for preorders, partial orders, linear orders, and support for offsets.

@[reducible, inline]
Equations
    Instances For

      A constraint of the form uv + k (u < v + k if strict := true) Remark: If the order does not support offsets, then k is zero. h? := some h if the Lean expression is not definitionally equal to the constraint, but provably equal with proof h.

      • kind : CnstrKind
      • u : α
      • v : α
      • k : Int
      • e : Expr

        Denotation of this constraint as an expression.

      • If h? := some h, then h is proof for that the expression associated with this constraint is equal to e. Recall that the input constraints are normalized. For example, given x y : Int, x ≤ y is internally represented as x ≤ y + 0

      Instances For
        Equations
          Instances For
            Instances For

              Auxiliary structure used for proof extraction.

              Instances For

                Auxiliary inductive type for representing constraints and equalities that should be propagated to core. Recall that we cannot compute proofs until the short-distance data-structures have been fully updated when a new edge is inserted. Thus, we store the information to be propagated into a list. See field propagate in State.

                Instances For

                  State for each order structure processed by this module. Each type must at least implement the instance Std.IsPreorder.

                  Instances For

                    State for all order types detected by grind.

                    Instances For
                      Equations
                        Instances For
                          @[inline]
                          Equations
                            Instances For