Say we have a formula with clauses
We create a node for each of . We then segregate these nodes into groups of three each.
Then, for each node, we connect it to all other nodes outside of its group with an edge, except for those which have a contradictory label, i.e. we won’t create an edge between nodes and .
An example of a problem
Now, to satisfy the formula , we must find at least one true variable in each group, while making sure they don’t contradict each other.
If we do have a satisfying assignment, then we pick the true term from each group (If there is more than one, then pick any of them).
We know that there would exist an edge between all of them, as they are all in different groups, and a contradiction cannot exist. Hence by construction, the nodes picked form a clique.
If we have a -clique in the graph, then we know that they must all be from different groups, and we end up picking a node from each group.
We know that a contradiction can’t exist, as a contradiction between nodes would imply the absence of an edge between them, contradicting the fact that the nodes form a clique.
Hence, we can assign all the variables in the clique as without any contradiction and at least one term in each group would be true.
Hence, we can reduce to an instance of the Clique Finding problem, proving that that the problem is .