- True quantified Boolean formula
The language

**TQBF**is aformal language in computer science that contains**True Quantified Boolean Formulas**. A fully quantified boolean formula is a formula infirst-order logic where every variable is quantified (or bound), using either existential or universal quantifiers, at the beginning of the sentence. Any such formula is always either true or false (since there are no free variables). If such a formula evaluates to true, then that formula is in the language TQBF. It is also known as**QSAT**(Quantified SAT).**Overview**In

computational complexity theory , the**quantified Boolean formula problem**(**QBF**) is a generalization of theBoolean satisfiability problem in which both existential quantifiers and universal quantifiers can be applied to each variable. Put another way, it asks whether afirst-order logic sentential form over a set of Boolean variables is true or false. For example, the following is an instance of QBF:: $forall\; x\; exists\; y\; exists\; z\; (x\; lor\; y\; lor\; z)\; land\; (lnot\; x\; lor\; lnot\; y\; lor\; lnot\; z)$

QBF is the canonical

complete problem forPSPACE , the class of problems solvable by a deterministic or nondeterministicTuring machine in polynomial space and unlimited time. [*cite book | author = M. Garey and D. Johnson | title = Computers and intractability: a guide to the theory of NP-completeness | publisher = W. H. Freeman, San Francisco, California | year = 1979 | id = ISBN 0716710455*] Given the formula in the form of anabstract syntax tree , the problem can be solved easily by a set of mutually recursive procedures which evaluate the formula. Such an algorithm uses space proportional to the height of the tree, which is linear in the worst case, but uses time exponential in the number of quantifiers.Provided that MA ⊂ PSPACE, which is widely believed, QBF cannot be solved, nor can a given solution even be verified, in either deterministic or probabilistic polynomial time (in fact, unlike the satisfiability problem, there's no known way to specify a solution succinctly). It is trivial to solve using an

alternating Turing machine in linear time, which is no surprise since in fact*cite journal | author = A. Chandra, D. Kozen, and L. Stockmeyer | url = http://portal.acm.org/citation.cfm?id=322243 | title = Alternation | journal = Journal of the ACM | volume = 28 | issue = 1 | pages = 114–133 | year = 1981 | doi = 10.1145/322234.322243*]When the seminal result IP = PSPACE was shown (see

interactive proof system ), it was done by exhibiting an interactive proof system that could solve QBF by solving a particular arithmetization of the problem. [*cite journal | author = Adi Shamir| url = http://portal.acm.org/citation.cfm?doid=146585.146609 | title = Ip = Pspace | journal = Journal of the ACM | volume = 39 | issue = 4 | pages = 869–877 | year = 1992 | doi = 10.1145/146585.146609*]QBF formulas have a number of useful canonical forms. For example, it can be shown that there is a

polynomial-time many-one reduction that will move all quantifiers to the front of the formula and make them alternate between universal and existential quantifiers. There is another reduction that proved useful in the IP = PSPACE proof where no more than one universal quantifier is placed between each variable's use and the quantifier binding that variable. This was critical in limiting the number of products in certain subexpressions of the arithmetization.**Prenex normal form**A fully quantified Boolean formula can be assumed to have a very specific form, called

prenex normal form . It has two basic parts: a portion containing only quantifiers and a portion containing an unquantified Boolean formula usually denoted as $phi$. If there are "n" Boolean variables, the entire formula can be written as:$exists\; x\_1\; forall\; x\_2\; exists\; x\_3\; cdots\; Q\_n\; x\_n\; phi(x\_1,\; x\_2,\; x\_3,\; dots,\; x\_n)$

where every variable falls within the scope of some quantifier. By introducing dummy variables, any formula in prenex normal form can be converted into a sentence where existential and universal quantifiers alternate. Using the dummy variable $y\_1$,

:$exists\; x\_1\; exists\; x\_2\; phi(x\_1,\; x\_2)\; quad\; mapsto\; quadexists\; x\_1\; forall\; y\_1\; exists\; x\_2\; phi(x\_1,\; x\_2)$

The second sentence has the same truth value but follows the restricted syntax. Assuming fully quantified Boolean formulas to be in prenex normal form is a frequent feature of proofs.

**Solving**There is a simple recursive algorithm for determining whether a TQBF is true. Given some QBF

:$Q\_1\; x\_1\; Q\_2\; x\_2\; cdots\; Q\_n\; x\_n\; phi(x\_1,\; x\_2,\; dots,\; x\_n).$

If the formula contains no quantifiers, we can just return the formula. Otherwise, we take off the first quantifier and check both possible values for the first variable:

:$A\; =\; Q\_2\; x\_2\; cdots\; Q\_n\; x\_n\; phi(0,\; x\_2,\; dots,\; x\_n),$:$B\; =\; Q\_2\; x\_2\; cdots\; Q\_n\; x\_n\; phi(1,\; x\_2,\; dots,\; x\_n).$

If $Q\_1\; =\; exists$, then return $A\; lor\; B$. If $Q\_1\; =\; forall$, then return $A\; land\; B$.

How fast does this algorithm run?For every quantifier in the initial QBF, the algorithm makes two recursive calls on only a linearly smaller subproblem. This gives the algorithm an exponential runtime "O(2^n)".

How much space does this algorithm use?Within each invocation of the algorithm, it needs to store the intermediate results of computing A and B. Every recursive call takes off one quantifier, so the total recursive depth is linear in the number of quantifiers. Formulas that lack quantifiers can be evaluated in space logarithmic in the number of variables. The initial QBF was fully quantified, so there are at least as many quantifiers as variables. Thus, this algorithm uses "O"("n" + log "n") = "O"("n") space. This makes the TQBF language part of the

PSPACE complexity class .**PSPACE-completeness**The TQBF language serves in complexity theory as the canonical

PSPACE-complete problem. Being PSPACE-complete means that a language is in PSPACE and that the language is alsoPSPACE-hard . The algorithm above shows that TQBF is in PSPACE.Showing that TQBF is PSPACE-hard requires showing that any language in the complexity class PSPACE can be reduced to TQBF in polynomial time. I.e.,:$forall\; Lin\; extrm\{PSPACE\},\; Lleq\_p\; extrm\{TQBF\}.$

This means that, for a PSPACE language L, whether an input $x$ is in L can be decided by checking whether $f(x)$ is in TQBF, for some function $f$ that is required to run in polynomial time (relative to the length of the input) Symbolically,

:$xin\; Liff\; f(x)in\; extrm\{TQBF\}.$

Proving that TQBF is PSPACE-hard, requires specification of $f$.

So, suppose that L is a PSPACE language. This means that L can be decided by a polynomial space deterministic

Turing machine (DTM). This is very important for the reduction of L to TQBF, because the configurations of any such Turing Machine can be represented as Boolean formulas, with Boolean variables representing the state of the machine as well as the contents of each cell on the Turing Machine tape, with the position of the Turing Machine head encoded in the formula by the formula's ordering. In particular, our reduction will use the variables $c\_1$ and $c\_2$, which represent two possible configurations of the DTM for L, and a natural number t, in constructing a QBF $phi\_\{c\_1,c\_2,t\}$ which is true if and only if the DTM for L can go from the configuration encoded in $c\_1$ to the configuration encoded in $c\_2$ in no more than t steps. The function $f$, then, will construct from the DTM for L a QBF $phi\_\{c\_\{start\},c\_\{accept\},T\}$, where $c\_\{start\}$ is the DTM's starting configuration, $c\_\{accept\}$ is the DTM's accepting configuration, and T is the maximum number of steps the DTM could need to move from one configuration to the other. We know that "T" = "O"(exp("n")), where n is the length of the input, because this bounds the total number of possible configurations of the relevant DTM. Of course, it cannot take the DTM more steps than there are possible configurations to reach $c\_mathrm\{accept\}$ unless it enters a loop, in which case it will never reach $c\_mathrm\{accept\}$ anyway.At this stage of the proof, we have already reduced the question of whether an input formula $w$ (encoded, of course, in $c\_\{start\}$) is in L to the question of whether the QBF $phi\_\{c\_\{start\},c\_\{accept\},T\}$, i.e., $f(w)$, is in TQBF. The remainder of this proof proves that $f$ can be computed in polynomial time.

For $t=1$, computation of $phi\_\{c\_1,c\_2,t\}$ is straightforward--either one of the configurations changes to the other in one step or it does not. Since the Turing Machine that our formula represents is deterministic, this presents no problem.

For $t>1$, computation of $phi\_\{c\_1,c\_2,t\}$ involves a recursive evaluation, looking for a so-called "middle point" $m\_1$. In this case, we rewrite the formula as follows:

:$phi\_\{c\_1,c\_2,t\}=exists\; m\_1(phi\_\{c\_1,m\_1,lceil\; t/2\; ceil\}wedgephi\_\{m\_1,c\_2,lceil\; t/2\; ceil\}).$

This converts the question of whether $c\_1$ can reach $c\_2$ in t steps to the question of whether $c\_1$ reaches a middle point $m\_1$ in $t/2$ steps, which itself reaches $c\_2$ in $t/2$ steps. The answer to the latter question of course gives the answer to the former.

Now, t is only bounded by T, which is exponential (and so not polynomial) in the length of the input. Additionally, each recursive layer virtually doubles the length of the formula. (The variable $m\_1$ is only one midpoint--for greater t, there are more stops along the way, so to speak.) So the time required to recursively evaluate $phi\_\{c\_1,c\_2,t\}$ in this manner could be exponential as well, simply because the formula could become exponentially large. This problem is solved by universally quantifying using variables $c\_3$ and $c\_4$ over the configuration pairs (e.g., $\{\; (c\_1,m\_1),(m\_1,c\_2)\}$), which prevents the length of the formula from expanding due to recursive layers. This yields the following interpretation of $phi\_\{c\_1,c\_2,t\}$:

:$phi\_\{c\_1,c\_2,t\}=exists\; m\_1forall\; (c\_3,c\_4)in\; \{\; (c\_1,m\_1),(m\_1,c\_2)\}(phi\_\{c\_3,c\_4,lceil\; t/2\; ceil\}).$

This version of the formula can indeed be computed in polynomial time, since any one instance of it can be computed in polynomial time. The universally quantified ordered pair simply tells us that whichever choice of $(c\_3,c\_4)$ is made, $phi\_\{c\_1,c\_2,t\}iffphi\_\{c\_3,c\_4,lceil\; t/2\; ceil\}$.

Thus, $forall\; Lin\; extrm\{PSPACE\},\; Lleq\_p\; extrm\{TQBF\}$, so TQBF is PSPACE-hard. Together with the above result that TQBF is in PSPACE, this completes the proof that TQBF is a PSPACE-complete language.

(This proof follows Sipser 2006 pp. 310-313 in all essentials. Papadimitriou 1994 also includes a proof.)

**Miscellany***One important subproblem in TQBF is the

Boolean satisfiability problem . In this problem, you wish to know whether a given Boolean formula $phi$ can be made true with some assignment of variables. This is equivalent to the TQBF using only existential quantifiers::: $exists\; x\_1\; cdots\; exists\; x\_n\; phi(x\_1,\; ldots,\; x\_n).$

:This is also an example of the larger result NP $subseteq$ PSPACE which follows directly from the observation that a polynomial time verifier for a proof of a language accepted by a NTM (Non-deterministic Turing Machine) requires polynomial space to store the proof.

*Any class in the

polynomial hierarchy (PH) has TQBF as its complete problem. In other words, for the class comprised of all languages L for which there exists a poly-time TM V, a verifier, such that for all input x and some constant i,:: $x\; in\; L\; Leftrightarrow\; exists\; y\_1\; forall\; y\_2\; cdots\; Q\_i\; y\_i\; V(x,y\_1,y\_2,dots,y\_i)\; =\; 1$

: which has a specific QBF formulation that is given as

:: $exists\; phi$ such that $exists\; vec\{x\_1\}\; forall\; vec\{x\_2\}\; cdots\; Q\_i\; vec\{x\_i\}\; phi(vec\{x\_1\},vec\{x\_2\},dots,vec\{x\_i\})\; =\; 1$

:where the $vec\{x\_i\}$'s are vectors of Boolean variables.

*It is important to note that while TQBF the language is defined as the collection of true quantified Boolean formulas, the abbreviation TQBF is often used (even in this article) to stand for a totally quantified Boolean formula, often simply called a QBF (quantified Boolean formula, understood as "fully" or "totally" quantified). It is important to distinguish contextually between the two uses of the abbreviation TQBF in reading the literature.

*A TQBF can be thought of as a game played between two players, with alternating moves. Existentially quantified variables are equivalent to the notion that a move is available to a player at a turn. Universally quantified variables mean that the outcome of the game does not depend on what move a player makes at that turn. Also, a TQBF whose first quantifier is existential corresponds to a

formula game in which the first player has a winning strategy.**Notes and references*** Fortnow & Homer (2003) provides some historical background for PSPACE and TQBF.

* Zhang (2003) provides some historical background of Boolean formulas.

* Arora, Sanjeev. (2001). [*http://www.cs.princeton.edu/~arora/pubs/aroracom.ps "COS 522: Computational Complexity"*] . Lecture Notes, Princeton University. Retrieved October 10, 2005.

* Fortnow, Lance & Steve Homer. (2003, June). [*http://people.cs.uchicago.edu/~fortnow/beatcs/column80.pdf A short history of computational complexity*] . "The Computational Complexity Column," 80. Retrieved October 9, 2005.

* Papadimitriou, C. H. (1994). "Computational Complexity." Reading: Addison-Wesley.

* Sipser, Michael. (2006). "Introduction to the Theory of Computation." Boston: Thomson Course Technology.

* Zhang, Lintao. (2003). [*http://research.microsoft.com/users/lintaoz/thesis_lintao_zhang.pdf "Searching for truth: Techniques for satisfiability of boolean formulas"*] . Retrieved October 10, 2005.**See also***

Cook–Levin theorem , stating that SAT isNP-complete

*Generalized geography **External links*** The Quantified Boolean Formulas Library [

*http://www.qbflib.org (QBFLIB)*]

*Wikimedia Foundation.
2010.*

### Look at other dictionaries:

**Boolean satisfiability problem**— For the concept in mathematical logic, see Satisfiability. 3SAT redirects here. For the Central European television network, see 3sat. In computer science, satisfiability (often written in all capitals or abbreviated SAT) is the problem of… … Wikipedia**Boolean-valued model**— In mathematical logic, a Boolean valued model is a generalization of the ordinary Tarskian notion of structure or model, in which the truth values of propositions are not limited to true and false , but take values in some fixed complete Boolean… … Wikipedia**Outline of logic**— The following outline is provided as an overview of and topical guide to logic: Logic – formal science of using reason, considered a branch of both philosophy and mathematics. Logic investigates and classifies the structure of statements and… … Wikipedia**List of mathematics articles (T)**— NOTOC T T duality T group T group (mathematics) T integration T norm T norm fuzzy logics T schema T square (fractal) T symmetry T table T theory T.C. Mits T1 space Table of bases Table of Clebsch Gordan coefficients Table of divisors Table of Lie … Wikipedia**Alternating Turing machine**— In computational complexity theory, an alternating Turing machine (ATM) is a non deterministic Turing machine (NTM) with a rule for accepting computations that generalizes the rules used in the definition of the complexity classes NP and co NP.… … Wikipedia**PSPACE-complete**— Mathematicians and computer scientists try to carefully define different types of complexity, and PSPACE complete is one of these types.Roughly, PSPACE is all the problems which can be solved by programs which only need a polynomial (in the… … Wikipedia**Generalized geography**— In computational complexity theory, generalized geography is a problem that can be proven to be PSPACE Complete.IntroductionGeography is a childs game, which is good for a long car trip, where players take turns naming cities from anywhere in the … Wikipedia**Maximum satisfiability problem**— In computational complexity theory, the Maximum Satisfiability problem (MAX SAT) is the problem of determining the maximum number of clauses, of a given Boolean formula, that can be satisfied by some assignment. It is an FNP generalization of SAT … Wikipedia**NP-hard**— For a gentler introduction, see P versus NP problem. Euler diagram for P, NP, NP complete, and NP hard set of problems NP hard (non deterministic polynomial time hard), in computational complexity theory, is a class of problems that are,… … Wikipedia**2-satisfiability**— In computer science, 2 satisfiability (abbreviated as 2 SAT or just 2SAT) is the problem of determining whether a collection of two valued (Boolean or binary) variables with constraints on pairs of variables can be assigned values satisfying all… … Wikipedia