4SAT Problem: 4SAT is a generalization of 3SAT(kSAT is SAT where each clause has k or fewer literals).
Problem Statement: Given a formula f in Conjunctive Normal Form(CNF) composed of clauses, each of four literals, the problem is to identify whether there is a satisfying assignment for the formula f.
Explanation: An instance of the problem is an input specified to the problem. An instance of the 4SAT problem is a CNF formula, and the task is to check whether there is a satisfying assignment for the formula. Since an NPComplete is a problem which is both in NP and NPhard, the proof for the statement that a problem is NPComplete consists of two parts:
 The problem itself is in NP class.
 All other problems in NP class can be polynomialtime reducible to that.
(B is polynomialtime reducible to C is denoted as B ≤ P^{C})
If the 2nd condition is only satisfied then the problem is called NPHard.
But it is not possible to reduce every NP problem into another NP problem to show its NPCompleteness all the time. That is why if we want to show a problem is NPComplete we just show that the problem is in NP and any NPComplete problem is reducible to that then we are done, i.e., if B is NPComplete and B ≤ ^{C}. For C in NP, then C is NPComplete. Thus, it can be verified that the 4SAT Problem is NPComplete using the following two propositions:

4SAT problem is in NP:
If any problem is in NP, then, given a ‘certificate’, which is a solution to the problem and an instance of the problem(a formula f, in this case), it can be verified(check whether the solution given is correct or not) that the certificate in polynomial time. This can be done in the following way:
Given an assignment for the variables belonging to the formula f, the assignment can be verified in linear time, if it satisfies the formula or not. 
4SAT problem is NPHard:
In order to prove that the 4SAT problem is NPHard, deduce a reduction from a known NPHard problem to this problem. Deduce a reduction from which the 3SAT problem can be reduced to the 4SAT problem. For each clause of the 3SAT formula f, for example, a literal a and its corresponding complement a’ should be added to the formula. Let there be a clause c, such that c = u V v’ V w
To convert it in 4SAT, we convert c to c’, such that,
c’ = (u V v’ V w V a) AND (u V v’ V w V a’).
After simulating this conversion, two properties hold : If 3SAT has a satisfiable assignment, which means, every clause evaluates to true for a specific set of literal values, then 4SAT will also hold, because each clauseset is formed by a combination of a literal and its complement, whose value won’t make any difference.
 If 4SAT is satisfiable for any (u V v V w V a) and (u V v V w V a’), then 3SAT is also satisfiable because a and a’ are complement, which indicates that the formula is satisfiable due to some other literal except a too.
Therefore, following the above propositions, the 4SAT problem is NPComplete.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a studentfriendly price and become industry ready.
Recommended Posts:
 Proof that SAT is NP Complete
 Double SAT is NP Complete
 Proof that Hamiltonian Path is NPComplete
 Proof that vertex cover is NP complete
 Proof that Hamiltonian Cycle is NPComplete
 Proof that Independent Set in Graph theory is NP Complete
 Proof that Clique Decision problem is NPComplete  Set 2
 Proof that Dominant Set of a Graph is NPComplete
 Proof that Subgraph Isomorphism problem is NPComplete
 Proof that Clique Decision problem is NPComplete
 Proof that Collinearity Problem is NP Complete
 Proof that traveling salesman problem is NP Hard
 Algorithms  NP Complete  Question 1
 Algorithms  NP Complete  Question 2
 Algorithms  NP Complete  Question 3
 Algorithms  NP Complete  Question 4
 Algorithms  NP Complete  Question 5
 Algorithms  NP Complete  Question 6
 Minimum operations of the given type required to make a complete graph
 The complete History of Java Programming Language
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.