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:
-
V
is a set of vertices -
A
is a set of edges -
s
andt
are both mapsA \rightarrow V
pointing at the source and target vertices of an arc -
\Sigma
is a set of the arc labels -
\Theta
is a set of the vertex labels -
l: A \rightarrow \Sigma
maps arcs to their labels -
\theta: V \rightarrow \Theta
maps vertices to their labels