Publication Date



Technical Report: UTEP-CS-17-42


One of the main results in Theory of Computation courses is the proof that propositional satisfiability is NP-complete. This means that, unless P = NP (which most computer scientists believe to be impossible), no feasible algorithm is possible for solving propositional satisfiability problems. This result is usually proved on the example of 3-CNF formulas, i.e., formulas of the type C1 & ... & Cm, where each clause Ci has the form a \/ b or a \/ b \/ c, with no more than three literals -- i.e., propositional variables vi or their negations ~vi. Textbooks usually mention that for 2-CNF formulas -- in which every clause has at most 2 literals -- the corresponding problem can be solved by a feasible algorithm. From the pedagogical viewpoint, however, the problem with known feasible algorithms for 2-CNF formulas is that they are based on clever tricks. In this paper, we describe a natural feasible algorithm for solving 2-CNF, an algorithm whose ideas are similar to Gauss elimination in linear algebra.