Constraint package:Agda
A constraint is an edge in the graph.
Constraint: an inequation between size expressions, e.g. X <
∞ or i + 3 ≤ j.
Collect statistics about constraint solving
Returns all metavariables in a constraint. Slightly complicated by the
fact that blocked terms are represented by two meta variables. To find
the second one we need to look up the meta listeners for the one in
the UnBlock constraint. This is used for the purpose of deciding if a
metavariable is constrained or if it can be generalized over (see
Agda.TypeChecking.Generalize).
The list of constraints is given redundantly as pairs of
ProblemConstraint (original constraint) and
HypSizeConstraint (form with size assumptions in context
spelled out). The
Doc is some extra reason for why solving
failed.
Face constraint patterns (i = 0) must be visible arguments.
Face constraint patterns (i = 0) must be unnamed arguments.
Monad service class containing methods for adding and solving
constraints