Vars represents the variables that are to be satisfied for this constraint. It can be one collection of N variables (or integers), or a collection of a collections of N variables (or integers), if the constraint is to be satisfied by more than one collection of variables. Posting the constraint with multiple collections of variables is logically equivalent to posting individual table constraint with the same Table for each collection, but should be more efficient as the same Table is shared by all the collections.
Option currently allows the selection of algorithm to use for the propagation: mem for an algorithm that prefer smaller memory consumption over amount of computation, speed for an algorithm that prefer reducing computation over memory consumption, and default for the default algorithm (as defined by Gecode). Note that table/2 is mapped to table/3 with Option set to default.
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).
This constraint is known as in_relation in the global constraint catalog, with the allowance for multiple collections of variables taken from SICStus Prolog's table/2 constraint. This constraint is implemented in Gecode as the extensional() constraint with the variant that takes a TupleSet as an argument.
[eclipse 9]: table([5,3,3], [(5,2,3),(5,2,6),(5,3,3)], speed). % succeed [eclipse 10]: table([[5,3,3],[5,2,3]], [(5,2,3),(5,2,6),(5,3,3)], default). % succeed [eclipse 11]: table([5,3,2], [(5,2,3),(5,2,6),(5,3,3)], mem). % fail