package coq-core
Install
Dune Dependency
Authors
Maintainers
Sources
md5=5d1187d5e44ed0163f76fb12dabf012e
sha512=91bc81530fa4f6498961583ad51eac5001f139881788b88e360a866ad8e2a6e2c5bce86d1a580ab4cd4782bf49d48318767df82471ce33ba3ac143e5569ad33c
doc/coq-core.lib/AcyclicGraph/Make/index.html
Module AcyclicGraph.Make
Source
Parameters
Signature
All points must be pre-declared through this function before they can be mentioned in the others. NB: use a large rank
to keep the node canonical
Type explanation is used to decorate error messages to provide a useful explanation why a given constraint is rejected. It is composed of a starting universe u0
and a path of universes and relation kinds (r1,u1);..;(rn,un)
meaning u0 <(r1) u1 <(r2) ... <(rn) un
(where <(ri)
is the relation symbol denoted by ri). When the rejected constraint is a a <= b
or a < b
then the path is fromb
to a
, ie u0 == b
and un == a
. when the rejected constraint is an equality the path may go in either direction. Note that each step does not necessarily correspond to an actual constraint, but reflect how the system stores the graph and may result from combination of several Constraints.t...
Assuming that the corresponding call to enforce_*
returned None
, this will give a trace for the failure.
High-level representation
type node =
| Alias of Point.t
| Node of bool Point.Map.t
(*Nodes v s.t. u < v (true) or u <= v (false)
*)