Documentation

DescriptiveComplexity.Problems.Qsat

QSAT: quantified Boolean formulas with an unbounded prefix #

Umbrella file for DescriptiveComplexity.QSAT, the quantified Boolean formula problem with the quantifier prefix carried by the instance (also known as TQBF): the canonical PSPACE-complete problem (Stockmeyer–Meyer 1973; Immerman 1999).

Unlike the bounded families DescriptiveComplexity.QBF k of DescriptiveComplexity.Problems.Qbf, whose number of alternations is fixed by the problem, here the prefix is part of the input – a linear order on the marked variables together with a polarity mark – so one problem carries arbitrarily many alternations. That is exactly the step from the polynomial hierarchy to PSPACE.

The semantics and the membership half #

The hardness half: Savitch as an interpretation #

PSPACE-hardness is a reduction from DescriptiveComplexity.SUCCINCTREACH (already PSPACE-complete, DescriptiveComplexity.SUCCINCTREACH_PSPACE_complete) by Savitch's recursive doubling (Savitch 1970), written as an ordered first-order interpretation of dimension 2. Its pieces are:

The complement #

The evaluation walk of the membership half is deterministic: it does not search for an accepting computation, it computes the value of the formula. So reading its answer the other way round decides the complement, DescriptiveComplexity.Problems.Qsat.Complement. Together with hardness that is PSPACE = coPSPACE (DescriptiveComplexity.PSpaceCompl).

QSAT is in PSPACE: the depth-first evaluation of the game tree is an SO(TC) walk.

Dependency graph
Dependency graph