  We present a comprehensive study of the use of value precedence constraints
to break value symmetry. We first give a simple encoding of value precedence
into ternary constraints that is both efficient and effective at breaking
symmetry. We then extend value precedence to deal with a number of
generalizations like wreath value and partial interchangeability. We also show
that value precedence is closely related to lexicographical ordering. Finally,
we consider the interaction between value precedence and symmetry breaking
constraints for variable symmetries.
