A Satisfiability Tester for Non-clausal Propositional Calculus

An algorithm for satisfiability testing in the propositional calculus with a worst case running time that grows at a rate less than 2(.25+e)L is described, where L can be either the length of the input expression or the number of occurrences of literals (i.e., leaves) in it. This represents a new upper bound on the complexity of non-clausal satisfiability testing. The performance is achieved by using lemmas concerning assignments and pruning that preserve satisfiability, together with choosing a “good” variable upon which to recur. For expressions in clause form, it is shown that the Davis-Putnam procedure satisfies the same upper bound.