Typed Constraint Graph
In the heart of the NDL language lies a specific representation of Constraint Programming Problems. Instead of using a common Constraint (Hyper-) Graph formalization, we introduce a Typed Constraint Graph, that enriches the Constraint Graphs with types, representing the higher level structure of the problem.
Typed Constraint Graph is a Labeled Directed Multigraph with no self-loops. Formally, it's an 8-tuple G = \left \langle V, A, s, t, \Sigma, \Theta, l, \theta \right \rangle, where:
-
Vis a set of vertices -
Ais a set of edges -
sandtare both mapsA \rightarrow Vpointing at the source and target vertices of an arc -
\Sigmais a set of the arc labels -
\Thetais a set of the vertex labels -
l: A \rightarrow \Sigmamaps arcs to their labels -
\theta: V \rightarrow \Thetamaps vertices to their labels