Reducing hard SAT instances to polynomial ones Olivier Fourdrinoy ´ Eric Gr´ egoire Bertrand Mazure Lakhdar Sa¨ ıs CRIL CNRS & IRCICA Universit´ e d’Artois Rue Jean Souvraz SP18 F-62307 Lens Cedex France {fourdrinoy, gregoire, mazure, sais}@cril.fr Abstract This last decade, propositional reasoning and search has been one of the hottest topics of research in the A.I. com- munity, as the Boolean framework has been recognized as a powerful setting for many reasoning paradigms thanks to dramatic improvements of the efficiency of satisfiability checking procedures. SAT, namely checking whether a set of propositional clauses is satisfiable or not, is the techni- cal core of this framework. In the paper, a new linear-time pre-treatment of SAT instances is introduced. Interestingly, it allows us to discover a new polynomial-time fragment of SAT that can be recognized in linear-time, and show that some benchmarks from international SAT competitions that were believed to be difficult ones, are actually polynomial- time and thus easy-to-solve ones. 1 Introduction These last decade, propositional reasoning and search has been one of the hottest topics of research in the A.I. community, as the Boolean framework has been recognized as a powerful setting for many reasoning paradigms thanks to dramatic improvements of the efficiency of satisfiabil- ity checking procedures. SAT, namely checking whether a set of propositional clauses is satisfiable or not, is the tech- nical core of this framework. In the paper, a new linear- time pre-treatment of SAT instances is introduced. Inter- estingly, it allows us to discover a new polynomial-time fragment of SAT that can be recognized in linear-time, and show that some benchmarks from international SAT com- petitions that were believed to be difficult ones, are actu- ally polynomial-time and thus easy-to-solve ones. Many ap- proaches have been proposed to solve hard SAT instances. Direct approaches have focused on the development of - logically complete or not- algorithms. Local-search tech- niques (e.g. [21]) and elaborate variants of the Davis- Loveland-Logemann’s DPLL procedure [8] (e.g. [18, 12]) allow many families of difficult instances to be solved. In- direct approaches aim at solving instances, using either ap- proximation or compilation techniques (see e.g. [7, 3, 20]). In particular, compilation techniques, which were devel- oped in the more general framework of propositional de- duction, aim at transforming the set of Boolean clauses into a deductively equivalent form that belongs to a poly- nomial fragment, making use of a -possibly exponential- transformation schema and by ensuring that the compiled form remains tractable in size. Finally, other approaches have concentrated on discovering and studying fragments of SAT that can be recognized and solved in polynomial time (see e.g. [10, 5, 2, 4]). The contribution of this pa- per pertains to these three families of approaches. A new pre-treatment of SAT instances is introduced: it can be per- formed before some direct approaches are run. It can be interpreted as an attempt to compile the SAT instance into an easier-to-solve one. However, contrary to usual com- pilation techniques, the transformation process remains a polynomial-time one, and no guarantee is provided that the resulting set of clauses belongs to a polynomial fragment. However, this pre-treatment can prove valuable in showing that some instances are actually polynomial ones or in mak- ing the further solving step become more efficient. Finally, a new polynomial fragment of SAT, called U-Horn SAT (Horn modulo Unit propagation), is put in light. Interest- ingly, it can be recognized using the proposed polynomial- time pre-treatment. In other words, SAT instances that can be mapped to Horn SAT using our approach belong to the U-Horn SAT fragment. Roughly, this pre-treatment is as follows. The focus is on the unit propagation mechanism (in short UP), which is a linear-time deductive mechanism. Given a polynomial fragment (e.g. the Horn one), any SAT instance can be divided into two subsets of clauses: the first one contains clauses that belong to the targeted polynomial fragment whereas the second cone contains clauses that do not belong to it. For each of these latter clauses, we at-