What does a fully-quantified Boolean formula evaluate to (no free vars)?
A single truth value — true or false.
SAT is which special case of TQBF?
All quantifiers existential: ∃x1⋯∃xnϕ.
How is ∃xψ′ evaluated recursively?
EVAL(ψ′[x=0])∨EVAL(ψ′[x=1]).
How is ∀xψ′ evaluated recursively?
EVAL(ψ′[x=0])∧EVAL(ψ′[x=1]).
Why is TQBF in PSPACE despite exponential time?
Recursion reuses the same memory across the two branches; space =O(n⋅∣ψ∣).
What is TQBF's complexity-class status?
PSPACE-complete (canonical complete problem for PSPACE).
In the PSPACE-hardness reduction, why add ∀(u,v) in REACHt?
To make REACHt−1 appear only once → polynomial-size formula (Savitch folding).
What goes wrong with ∃m[R(a,m)∧R(m,b)]?
Rt−1 appears twice → formula size doubles each level → exponential reduction.
Game interpretation of a true QBF?
The ∃-player has a winning strategy against the ∀-player.
Why isn't ∃x∀yϕ=∀y∃xϕ?
In ∀y∃x, x may depend on y; swapping forces one x for all y.
Recall Feynman: explain to a 12-year-old
Imagine a tug-of-war played with switches. Player YES wants a light bulb ON; player NO wants it OFF. They take turns flipping switches in a fixed order. The little word "exists" means it's YES's turn — YES only needs one good flip. The word "for all" means it's NO's turn, and YES wins only if the bulb stays ON no matter what NO does. The question "is this QBF true?" just asks: can YES always win this game? To check, a computer plays out every possible game — but cleverly erases and reuses the same scratch paper for each branch, so it never needs much paper (= little memory), even though it may take a very long time.
Dekho, normal SAT problem poochta hai: "kya koi assignment exist karta hai jo formula ko true bana de?" — yaani sirf ek ∃ (exists) player jo formula ko TRUE karna chahta hai. QBF (Quantified Boolean Formula) mein hum ∃ aur ∀ (for all) ko alternate karte hain, jaise do players ka game ho: ∃ = "Prover" jo TRUE chahta hai, ∀ = "Spoiler" jo FALSE chahta hai. Saari variables quantified hoti hain, koi free variable nahi, isliye QBF ka answer sidha true ya false hota hai.
Evaluate kaise karein? Simple recursion: ∃x matlab dono values (x=0 aur x=1) ka OR lo (ek bhi true mil gaya to kaam ho gaya). ∀x matlab dono ka AND lo (saare true hone chahiye). Yeh ek game-tree ban jaata hai. Sabse important baat: jab hum tree explore karte hain, ek branch ka answer nikaalo, phir wahi memory dobara use karke doosri branch nikaalo — dono ko ek saath yaad rakhne ki zarurat nahi. Isliye space sirf O(n⋅∣ψ∣) lagta hai, time chahe exponential ho. Yahi reason hai ki TQBF, PSPACE mein hai.
Aur TQBF PSPACE-complete hai — matlab jaise SAT, NP ka "boss problem" hai, waise hi TQBF, PSPACE ka boss problem hai. Hardness ka proof Savitch wale trick se aata hai: reachability ko "config a se b tak 2t steps mein pahunch sakte hain?" ke roop mein QBF banao. Agar tum naive tareeke se ∃m[R(a,m)∧R(m,b)] likhoge to formula har level pe double ho jaayega (exponential size — galat!). Isliye ek extra ∀(u,v) daal kar dono halves ko fold karte hain taaki Rt−1 sirf ek baar aaye — formula polynomial size ka reh jaata hai. Yaad rakho: "∃ = OR, ∀ = AND" aur "∀ se fold karo warna size phat jayega."