Succ is a collection of N elements presenting a digraph of N nodes, where the i'th element of Succ represents the successor to node i. The constraint enforces Succ to form a Hamiltonian circuit, a path through every node in the graph, visiting each node once and forming a circuit.
Note that the Gecode implementation of this constraint has index (node id) starting from 0, rather than 1. This constraint is actually posted as circuit_offset_g/2 with an offset of 1. A version of this constraint with native Gecode indexing is available as circuit_g/1.
ConsistencyModule is the optional module specification to give the consistency level for the propagation for this constraint: gfd_gac for generalised arc consistency (domain consistency), and gfd_vc for value consistency.
This constraint is known as circuit in the global constraint catalog. It is implemented with Gecode's circuit() constraint with an offset of 1.
[eclipse 7]: circuit([2,A,4,1]). A = 3 [eclipse 2]: circuit(). No (0.00s cpu) [eclipse 11]: circuit([A]). A = 1