The constraints can be nested to enable a constraint to be defined in terms of more basic constraints such as primitive mathematical operators.