ConsistencyModule is the optional module specification to give the consistency level for the propagation for this constraint: gfd_gac for domain (generalised arc) consistency. Note that if Value is a domain variable, then the propagation is weak, achieving neither domain or bound consistency until Value becomes ground.
This constraint can be embedded in a constraint expression in its functional form (without the last argument).
This constraint is a specialisation of the more general count/4 constraint, with the (#=) relation, i.e. the occurrences of Value is equal to N.
This constraint is known as exactly in the global constraint catalog, where N is restricted to an integer; the more general count/4 constraint is also known as count in the global constraint catalog, and the constraint is implemented using Gecode's count() constraint.
[eclipse 11]: occurrences(1,[3,5,1,4,1,3], N). N = 2 [eclipse 12]: occurrences(6, [], N). N = 0 [eclipse 15]: [A,B,C] :: [1..10], occurrences(3, [A,B,C], 0). A = A{[1, 2, 4 .. 10]} B = B{[1, 2, 4 .. 10]} C = C{[1, 2, 4 .. 10]} [eclipse 16]: N :: [3, 5], occurrences(3, [3,A,3,5,3], N). N = 3 A = A{[-1000000 .. 2, 4 .. 1000000]} % A cannot be 3 [eclipse 17]: N :: [3, 5], occurrences(3, [3,A,3,5,3,3], N). N = 5 A = 3