Programming with constraints : an introduction - Marriott, Kim. (MIT Press, 1998)