Compiling Domain Consequences
Alexandre Papadopoulos, Barry O’Sullivan · 2012
This paper presents a method for computing all the domain consequences of a constraint satisfaction problem. Domain consequences are a generalisation of prime implicates to multi-valued constraint problems. We define ordered automata to encode a large, potentially exponential, number of domain consequences. We design a range of algorithms that directly operate on this compact representation, with a complexity that depends on its size and not the size of the encoded set. This allows us to generate the domain consequences of a problem even for problems that have an exponential number of domain consequences. Furthermore, a simple empirical study illustrates the effectiveness of the method in compiling a large number of domain consequences, and the compactness of this representation.