# Lecture 23

## Space Complexity

**Definition** The space complexity of an input/work tape Turing machine is a function \(s:\mathbb{N}\rightarrow\mathbb{N}\) such that on any input \(x\in\{0,1\}^n\), \(M\) writes on at most \(O(s(n))\) cells in the work tape.

**Definition** \(SPACE(s(n))\) is the class of languages that can be decided by an input/work tape Turing machine with space complexity \(s(n)\).

E.g. If \(L\) is regular, the \(L\in SPACE(1)\) \(L=\{0^k1^k:k\geq 1\}\) is in \(SPACE(\log n)\)

**Definition** \(L=SPACE(\log n)\) \(PSPACE=\cup_{c\geq 1}SPACE(n^c)\)

**Theorem** \(L\subseteq NL\subseteq P\subseteq NP\subseteq PSPACE\subseteq EXP\subseteq NEXP\)

**Proof** \(NP\subseteq PSPACE\)

With polynomial space, I can enumerate and check all paths of a non-deterministic Turing machine and accept if any path accepts.

**Proof** \(L\subseteq P\)

If \(M\) uses \(s\) cells in the work tape on input \(x\), it can be in at most \(|\Gamma|^s\times |Q|\times |x|\times s\) distinct configuration.

If \(M\) is halting, then it can never be in the same configuration twice. So if its space complexity is \(O(\log n)\), then its time complexity is \(O(|\Gamma|^{O(\log n)\times |Q|\times\log n\times |n|})=O(n^c)\)

### Time Hierarchy Theorem

We know: \(P\neq EXP\), \(NP\neq NEXP\), \(L\neq PSPACE\), rest is open.

## State of the Art on Interactive Proof

Recall: \(IP=\) class of languages decidable by polynomial-time verifier that interacts with a prover. E.g. \(NP\subseteq IP\), \(GNI\in IP\).

**Theorem** \(IP=PSPACE\)

**Proof** \(IP\subseteq PSPACE\)

Brute force, simulate all possible interactions (results of coin flips + prover response) to compute the probability that verifier accepts on the best response strategy (reuse space).

**Proof** \(PSPACE\subseteq IP\)

Key idea: look at \(TQBF=\{\langle \Phi\rangle: \Phi\) is a true quantified Boolean formula\(\}\) where, e.g. \(\Phi=\exists x\forall y (x\lor y)\land(\lnot x\lor\lnot y)\)

Idea 1: \(TQBF\) is \(PSPACE-complete\)

Idea 2: \(TQBF\in IP\) (Arithmetization)

## Multiple-prover Interactive Proof

**Definition** \(MIP\) is the class of languages deciplable by polynomial-time probabilistic verifier that con interact with \(2\) provers.

**Theorem** \(IP\subseteq MIP\)

**Proof** Verifier can ignore one of the provers.

**Theorem** \(MIP=NEXP\)

**Proof** \(MIP\subseteq NEXP\) Brute force

**Proof** \(NEXP\subseteq MIP\) harder.

## Probabilistically Checkable Proof

**Theorem** \(MIP\) = class of languages decidable by a probabilistic polynomial-time verifier in the RAM model that receives a proof of exponential length.

**Proof** Exercise