Necessary and Sufficient Condition for Satisfiability of a Boolean Formula in CNF and its Implications on P versus NP problem
Abstract
Boolean satisfiability problem has applications in various fields. An efficient algorithm to solve satisfiability problem can be used to solve many other problems efficiently. The input of satisfiability problem is a finite set of clauses. In this paper, properties of clauses have been studied. A type of clauses have been defined, called fully populated clauses, which contains each variable exactly once. A relationship between two unequal fully populated clauses has been defined, called sibling clauses. It has been found that, if one fully populated clause is false, for a truth assignment, then all it's sibling clauses will be true for the same truth assignment. Which leads to the necessary and sufficient condition for satisfiability of a boolean formula, in CNF. The necessary and sufficient condition has been used to develop a novel algorithm to solve boolean satisfiability problem in polynomial time, which implies, P equals NP. Further, some optimisations have been provided that can be integrated with the algorithm for better performance.
- Publication:
-
arXiv e-prints
- Pub Date:
- January 2021
- DOI:
- 10.48550/arXiv.2101.05597
- arXiv:
- arXiv:2101.05597
- Bibcode:
- 2021arXiv210105597K
- Keywords:
-
- Computer Science - Computational Complexity
- E-Print:
- Second Revision: 17 Pages, Affiliation and email address of author added, elaborated Optimisations section, refined theorem 10.8, references updated, typing errors corrected Third Revision: 22 pages, complexity calculated on instance size, results changed, algorithm and related sections added