Consider a complicated Boolean statement ? built from the variables Q1, Q2,A????1, Qn
(for example, the statement might begin ? = Q1 ? ((Q2 ? Q1) ? (Q3 ? A????1)) .
The truth of a statement like this naturally depends on the truth of the individual variables; we say that ? is a tautology if it is true for every setting of the Qi. Recall that one way to organize this information is by a truth table, which lists the truth value of the statement for each possible setting of the n variables Q1, Q2,A????1, Qn.
Then a statement is a tautology if each row of the truth table concludes that ? is T .
(a) How many rows are there in such a truth table (that is, how many assignments are there to check, in the
(b) Suppose that a fast computer can check 1,000,000 assignments per second. What is the size (in terms of
the number of variables) of the largest statement that can be checked in this way in a year?
(c) A statement ? is a contradiction if it is false for every setting of the Qi. If ? is a contradiction and ? is an
arbitrary statement (involving the same variables Q1, A????1, Qn), is it always true that ? ? ? is a tautology? Explain.
Curiously, there is no known algorithms that is significantly faster than this.