Out: Tuesday, 13-Feb
Due: Tuesday, 20-Feb before class
coNP
For a language \(L \subseteq \Sigma^*\), we define \(\textrm{co-}L\) as the "semantic complement" of \(L\). This is slightly different from the set-theoretic complement \(\Sigma^* \setminus L\). As an example, \(\mathsf{HAMPATH} = \{ \langle G \rangle : G \textrm{ has a Hamiltonian path}\}\). The set theoretic complement of \(\mathsf{HAMPATH}\) contains all the strings \(\langle G\rangle\) such that \(G\) does not have a Hamiltonian path, but it also contains the strings that don't encode any graph at all.
On the other hand, \[ \textrm{co-}\mathsf{HAMPATH} = \left\{ \langle G \rangle : G \textrm{ does not have a Hamiltonian path} \right\}. \] Now we can define the complexity class \(\mathsf{coNP} = \{ \textrm{co-}L : L \in \mathsf{NP} \}\). For instance, \(\textrm{co-}\mathsf{HAMPATH} \in \mathsf{coNP}\).
Say that a language \(L\) is \(\mathsf{coNP}\)-complete if \(L \in \mathsf{coNP}\) and for every language \(L' \in \mathsf{coNP}\), it holds that \(L' \leq_P L\).
NL
Recall the language \(\mathsf{BIPARTITE} = \left\{ \langle G \rangle : G \textrm{ is a bipartite graph} \right\}\). Show that \(\mathsf{BIPARTITE} \in \mathsf{NL}\), where \(\mathsf{NL}\) is the class of languages that can be decided in logarithmic space on a non-deterministic TM.