\mathsf{TIME}(t(n)) = the set of languages that can be decided by a TM in time O(t(n))
\mathsf P = \bigcup_{k = 1}^\infty \mathsf{TIME}(n^k)
A decider for a language L is a TM M such that given x \in \Sigma^*
A verifier for a language L is a TM M such that given x \in \Sigma^*
The class of languages that has verifiers that work in polynomial time. Or equivalently, the class of languages that has nondeterministic deciders that work in polynomial time.
\mathsf{NP} = \bigcup_{k = 1}^\infty \mathsf{NTIME}(n^k)
Showing that to solve a problem A it is sufficient to solve the problem B.
A \le_P B: language A is poly-time reducible to B
A language L is \mathsf{NP}-complete when
Let M_i be the i-th turing machine. Let \langle M_i \rangle be its encoding. There is a countable number of TMs, so we can enumerate all of them. Consider the language D = \{\langle M \rangle : M(\langle M \rangle) = 0\}, ie the language of all encodings of turing machines that do not accept their own encoding as input.
Assume M_i to be the TM recognizing D.
So there is no M_i that recognizes D.
\mathsf{TIME}(o(f(n))) \subsetneq \mathsf{TIME}(f(n) \log f(n))
There exists a TM U such that U(\langle M, x \rangle) = M(x) which runs in c_M \cdot t^2_M(|x|)
Denoted by OTM. Let A \subseteq \{0, 1\}^* be an arbitrary language. Then M^A is an OTM is a TM which additionally is able to answer the query of x \stackrel{?}{\in} A in a single step.
\mathsf P^A is the set of languages decidable by some poly-time OTM M^A
\mathsf{NP}^A is the set of languages decidable by some poly-time N-OTM M^A
\mathsf{NP} \cup \mathsf P \subseteq \mathsf P^{\mathsf{SAT}}
Space complexity of a TM is the maximal number of work cells accessed by the TM. A work cell is separate from the input.
\mathsf{SPACE}(s(n)) = \{L : \exists \text{TM deciding } L \text{ in space } O(s(n))\}
Given a directed graph, does there exist a path between two vertices?
Let G = ([n], E). Then the following routine solves the problem, invoked with Path(s, t, n):
Path(u, v, k)
\mathsf{L} \subseteq \mathsf{NL} \subseteq \mathsf{P} \subseteq \mathsf{PSPACE} \subseteq \mathsf{EXP}
\mathsf{TQBF} is SAT, but with leading quantifiers. Let Q \in \{\forall, \exists\}. Let \varphi be in CNF.
\exists_{x_1}\forall_{x_2}\exists_{x_3} \cdots Q{x_m} \varphi(x)
\mathsf{TQBF} is \mathsf{PSPACE}-complete
For L \in \Sigma_i \mathsf P where i \ge 0, we mean a language where
x \in L \iff \exists_{y_1}\forall_{y_2}\exists_{y_3} \cdots Q{y_i} : M(x, y) = 1
For L \in \Pi_i \mathsf P = co\Sigma_i \mathsf P where i \ge 0, we mean a language where
x \in L \iff \forall_{y_1}\exists_{y_2}\forall_{y_3} \cdots Q{y_i} : M(x, y) = 1
\mathsf{PH} = \bigcup_{i \in \N} \Sigma_i \mathsf P
\mathsf{PH} \subseteq \mathsf{PSPACE}
\Sigma_i \mathsf{P} = \Pi_i \mathsf{P} \implies \mathsf{PH} \text{ collapses at } i
\mathsf{PH} collapsing means that \mathsf{PH} = \Sigma_i \mathsf P
\exists_{A} \mathsf{PH}^A \text{ is infinite}
Karp-Lipton:
\mathsf{NP} \subseteq \mathsf{P}/poly \implies \Sigma_2 \mathsf{P} = \Pi_2 \mathsf{P}