So we're trying to show that any Boolean formula
can be transformed into a graph
such that this graph has a large clique
in that case only if the Boolean formula has a satisfying assignment,
and here's one fact that's going to make our life a little bit easier:
Every Boolean formula can be written like this,
so you the brackets around variables that are
only combined by or,
so you have variable 1 or variable 2 or variable 3,
and you can have more than 3 variables in here,
but you have nothing else;
you only have variables and or
and between the brackets, you always have an and,
so you have brackets of or and bracket of or and
so on.
This is known as the conjunctive normal form
of a Boolean formula, and it can be shown that you can write any Boolean formula,
no matter how complex in this form here,
and it will not significantly change the size of the formula,
so if you have n variables and
your Boolean formula has size polynomial in n,
it will stay that way if you to transform it into the conjunctive normal form,
and if you have conjunctive normal form,
then this part here in the brackets
is known as a clause,
so this here would also be a clause,
and what you can see is the way that this is structured
the Boolean formula,
if it has a satisfying assignment,
then each of these clauses
needs to evaluate to true,
because they're all connected by an and,
so if one of these would evaluate to false,
then the whole formula would not be satisfied.
Now how how are we going to transform this into clique?
So I'm just going to show you how to transform a Boolean formula
that is written in this form
into a graph, and then we'll discuss what this has to do with clique.
