  We show that some common and important global constraints like ALL-DIFFERENT
and GCC can be decomposed into simple arithmetic constraints on which we
achieve bound or range consistency, and in some cases even greater pruning.
These decompositions can be easily added to new solvers. They also provide
other constraints with access to the state of the propagator by sharing of
variables. Such sharing can be used to improve propagation between constraints.
We report experiments with our decomposition in a pseudo-Boolean solver.
