“…On the other hand, an instance consisting only of parity (xor) constraints can be solved in polynomial time using Gaussian elimination but CNF-based solvers relying only on basic Boolean constraint propagation tend to scale poorly on the straightforward CNF-encoding of the instance. To handle CNF instances including parity constraints, common in application domains such as circuit verification, bounded model checking, and logical cryptanalysis, several approaches have been developed [4,5,6,7,8,9,10,11,12,13,14,15]. These approaches extend CNF-level SAT solvers by implementing different forms of constraint propagation for parity constraints, ranging from plain unit propagation via equivalence reasoning to Gaussian elimination.…”