Solver for preorders, partial orders, linear orders, and support for offsets.
Equations
Instances For
Equations
Instances For
Equations
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.
- eqTrue (c : Cnstr NodeId) (e : Expr) (u v : NodeId) (k k' : Weight) : ToPropagate
- eqFalse (c : Cnstr NodeId) (e : Expr) (u v : NodeId) (k k' : Weight) : ToPropagate
- eq (u v : NodeId) : ToPropagate
Instances For
State for each order structure processed by this module.
Each type must at least implement the instance Std.IsPreorder.
- id : Nat
- type : Expr
- u : Level
Cached
getDecLevel type - isPreorderInst : Expr
- leInst : Expr
LEinstance LTinstance if availableIsPartialOrderinstance if availableIsLinearPreorderinstance if availableLawfulOrderLTinstance if availableidof theCommRing(orRing) structure in thegrind ringmodule if available.- isCommRing : Bool
trueifringId?is the Id of a commutative ring Ringinstance if availableOrderedRinginstance if available- leFn : Expr
Mapping from
NodeIdto theExprrepresented by the node.Mapping from
Exprto a node representing it.Mapping from
Exprrepresenting inequalities to constraints.- propagate : List ToPropagate
Truth values and equalities to propagate to core.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
State for all order types detected by grind.
Order structures detected.
Mapping from expressions/terms to their structure ids.
cnstrsMapinverse