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 : LevelCached getDecLevel type
- isPreorderInst : Expr
- leInst : ExprLEinstance
- LTinstance if available
- IsPartialOrderinstance if available
- IsLinearPreorderinstance if available
- LawfulOrderLTinstance if available
- idof the- CommRing(or- Ring) structure in the- grind ringmodule if available.
- isCommRing : BooltrueifringId?is the Id of a commutative ring
- Ringinstance if available
- OrderedRinginstance if available
- leFn : Expr
- Mapping from - NodeIdto the- Exprrepresented by the node.
- Mapping from - Exprto a node representing it.
- Mapping from - Exprrepresenting inequalities to constraints.
- propagate : List ToPropagateTruth 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