In this paper we present a novel extension to the constraint logic programming on Finite Domains (clp(FD)) which combines the usual clp(FD) primitive constraint X in range with a new primitive constraint X notin range. We show that, together, they are more expressive and provide better constraint propagation than having X in range on its own. It is shown how the standard clp(FD) framework can be adapted to support this extension by defining conditions for the checking of the consistency of constraints and new methods for their propagation.
Antonio J. Fernández, Patricia M. Hill