%!TEX program = xelatex
\documentclass{scribe}

\usepackage[style=alphabetic, sorting=nyt, natbib, backend=biber, backref=true, backrefstyle=none, maxnames=5, maxalphanames=5]{biblatex}
\addbibresource{ref.bib}

\input{macros}

\defnote{\tqnote}{Tianqi}

\begin{document}
\lecture{Lecture 1: Introduction \& Resolution Proof System}{January 23, 2025}{Instructor:\hspace{0.08cm}\emph{Toniann Pitassi}}{\emph{Tianqi Yang}}

\section{Introduction to the course}

Proof complexity, as the name suggests, is the study of the complexity of proving logical statements within different proof systems. While it is widely known in proof theory that many (propositional) proof systems are both complete and sound, meaning that any true statement has a proof, it is not clear whether a \emph{short} proof always exists. A major question in proof complexity is whether every tautology has a short proof in certain proof systems and whether we can efficiently find such a proof.

% \tqnote{Is this introduction good? Another option will be copy and paste your course introduction on the course website.}

In this course, we will show the classical upper and lower bounds in proof complexity and discuss some open problems in the field. We will then explore the connections between proof complexity and various topics in theoretical computer science, such as SAT solvers and the $\TFNP$ classes.

\paragraph{Introduction to proof complexity.}
Many different proof systems are of interest in proof complexity, including resolution and Frege systems. We will begin by introducing different proof systems and examining their relationships. We will then talk about the two most fundamental questions in proof complexity. The first question concerns the upper and lower bounds on proof length in certain proof systems.
\begin{quote} \it
    In a given proof system, how long does a proof of a given true statement have to be?
\end{quote}
The second question is the automatizability of the proof systems.
\begin{quote} \it
    How easy is it to find a (short) proof in a given proof system?
\end{quote}

We will mainly focus on \emph{Boolean} formulas and proof systems in this course, where a true statement is a propositional tautology in classical logic. However, we will also talk about algebraic and semi-algebraic proof systems in the course.

\paragraph{Lower and upper bounds for common proof systems.}
As partial answers to the first question above, we will show lower and upper bounds for common proof systems in proof complexity. This is analogous to proving algorithmic lower and upper bounds in computational complexity. We will prove the classical results and present some open problems.

\paragraph{Applications and connections to other topics in TCS.}
In the second half of the course, we will explore connections between proof complexity and various areas of theoretical computer science. Topics include, among others, random and semi-random CSP problems, a recent surprising connection to lower bounds for locally decodable codes, SAT solving and automated theorem proving, the relationship between proof systems and $\TFNP$ subclasses, and various intriguing relationships between proof complexity bounds and algorithmic upper and lower bounds. See, e.g., \cite{DBLP:journals/siglog/PitassiT16,DBLP:journals/fttcs/FlemingKP19,DBLP:journals/sigact/RezendeGR22} for surveys on related topics.

% \tqnote{Do you think we should write more about this?}

\section{Proof systems}

We begin by introducing the concept of proof systems. In this course, we will primarily focus on proof systems for Boolean formulas, but we will also discuss algebraic proof systems for equalities and inequalities. We will now introduce basic notations and properties that will be useful later.

\subsection{Propositional proof system}

In proof complexity, \emph{propositional proof systems} refer to proof systems for proving that a Boolean formula is a tautology in classical propositional logic. Informally, the ``input'' to a propositional proof system $\ps$ is a Boolean formula, and a proof in $\ps$ provides an efficient way to verify that the input formula is always true. We will give a formal definition in Section \ref{sec:cook-reckhow}. The \emph{completeness} of $\ps$ ensures that every tautology has a proof in $\ps$, while the \emph{soundness} of $\ps$ guarantees that any Boolean formula with a proof in $\ps$ is indeed a tautology.

% \tqnote{I realized that ``propositional proof system'' seems to be a misnaming? In general, ``propositional logic'' can refer to any logic system without quantifiers (algebraic proof systems and Hajos calculus are also propositional logic), but when we use the word ``propositional proof systems,'' we are usually referring to systems under the standard Boolean language and the classical truth-function model, in contrast with ``algebraic proof systems.'' Do we have particular name for Boolean proof systems?}

\begin{figure}[htb]
    \centering
    \includegraphics[width=0.25\linewidth]{assets/formula.JPEG}
    \caption{An example of Boolean formulas: $(x_1 \land \xbar{x_2}) \lor (x_2 \land (x_4 \lor x_5))$}
    \label{fig:example-formula}
\end{figure}

\paragraph{Notations.} Let $\phi$ be a propositional formula and $\Gamma$ a set of propositional formulas. In this note, we use the notation $\Gamma \models \phi$ to denote that $\phi$ is a semantic consequence of $\Gamma$, meaning that $\phi$ is implied by $\Gamma$ in classical logic. In particular, when $\Gamma = \varnothing$, $\models \phi$ is equivalent to $\phi$ being a tautology.

For any proof system $\ps$, we use the notation $\Gamma \vdash_{\ps} \phi$ to denote that $\phi$ is a syntactic consequence of $\Gamma$ in $\ps$, meaning that that $\phi$ can be derived from $\Gamma$ in the proof system $\ps$. In particular, $\vdash_{\ps} \phi$ means that there is a proof of $\phi$ in $\ps$. The soundness and completeness of a proof system $\ps$ is equivalent to saying that for any formula $\phi$,
\begin{equation*}
    \models \phi~~~\iff~~~\vdash_{\ps} \phi.
\end{equation*}

Let $\phi$ be a propositional formula over variables $x_1, \dots, x_n$. Let $\alpha$ be a truth assignment (or interpretation) to the variables $x_1, \dots, x_n$. We use the notation $\alpha \models \phi$ to mean $\phi$ evaluates to true under the assignment $\alpha$.

\paragraph{Refutations.} For some proof systems (such as resolution, which we will discuss in Section \ref{sec:resolution}), it is more convenient to view them as \emph{refutation} systems. In such a system $\ps$, instead of showing that $\phi$ is a \emph{tautology}, a refutation of $\phi$ in $\ps$ shows that $\phi$ is \emph{unsatisfiable}. Since proving that $\phi$ is a tautology is equivalent to proving that $\lnot \phi$ is unsatisfiable, we will use these two perspectives interchangeably throughout the course. For such refutation systems, we will use the notation $\phi \vdash_{\ps} \bot$ to emphasize that the unsatisfiable formula $\phi$ has a refutation in $\ps$.

\paragraph{CNF.} Recall that a variable $x$ or its negation $\xbar{x}$ is called a \emph{literal}. A \emph{clause} is a disjunction of literals. A formula $\phi$ is in \emph{conjunctive normal form} (CNF) if it is a conjunction of clauses, i.e.,
\begin{equation}
    \phi = C_1 \land C_2 \land \dots C_m
\end{equation}
where $C_1, \dots, C_m$ are all clauses. The \emph{width} of a clause is the number of literals it contains, and the \emph{width} of a CNF formula is the maximum width among its clauses. We say that a formula is in $k$-CNF if it is a CNF of width at most $k$. One may similarly define \emph{disjunctive normal form} (DNF) consisting of formulas that are disjunctions of conjunctions of literals.

By the Cook-Levin Theorem, any formula $\phi$ can be transformed into a CNF (even $3$-CNF) $\psi$ such that $\phi$ is unsatisfiable if and only if $\psi$ is unsatisfiable. Therefore, for refutation systems, we often assume that the input formula $\phi$ is a CNF, and we want to find a refutation $\phi \vdash_{\ps} \bot$ if $\phi$ is unsatisfiable.

\subsection{Algebraic and semi-algebraic proof systems}

We will also talk about algebraic and semi-algebraic proof systems. Instead of refuting CNF formulas $f = C_1 \land \dots C_m$ over Boolean variables $x_i \in \Set{0,1}$, \emph{algebraic proof systems} (\emph{semi-algebraic proof systems}, resp.) start with a system $P$ of polynomial equalities (inequalities, resp.) over some field or ring. A refutation of $P$ in an algebraic proof system or semi-algebraic proof system is a ``proof'' that $P$ has no solution over the underlying field or ring.

By mapping $\Set{\top, \bot}$ to $\Set{1,0}$, any Boolean formula $\phi$ can be ``algebrized'' into a system $P$ of polynomial equalities such that $\phi$ is unsatisfiable if and only if $P$ has no solution. So any algebraic proof system or semi-algebraic proof system can also be viewed as refutation systems for the classical propositional logic. In this course, we will mainly talk about algebraic proof systems for such Boolean formulas.

\begin{example}
    For example, the CNF formula
    \begin{equation*}
        \phi = (x_1 \lor \xbar{x_2}) \land (\xbar{x_1} \lor x_3 \lor x_4)
    \end{equation*}
    can be written as the following set of polynomial equations over reals:
    \begin{equation*}
        \begin{cases}
            (1-x_1) \cdot x_2 = 0 \\
            x_1 \cdot (1 - x_3) \cdot (1 - x_4) = 0 \\
            x_i^2 - x_i = 0, & i = 1, 2, 3, 4
        \end{cases},
    \end{equation*}
    where the last set of equations ensures that each $x_i$ takes values in $\Set{0,1}$.
\end{example}

\subsection{Other proof systems}

There are many other types of proof systems. In general, any way of proving statements to others that can be easily verified can be regarded as a proof. Consider the following Haj\'{o}s calculus system (see, e.g., \cite{DBLP:journals/siamdm/PitassiU95,DBLP:journals/tcs/IwamaST10}) when $k = 4$. It consists of one axiom, $K_5$, and three deduction rules:
\begin{description}
    \item[(Vertex/Edge Introduction)] Add an arbitrary number of vertices and edges.
    \item[(Contraction rule)] Contract two non-adjacent vertices and remove duplicating edges.
    \item[(Edge Elimination rule)] Let $G_1$ and $G_2$ be graphs that are identical except $G_1$ contains the edges $\{v_1, v_2\}$ and $\{v_1, v_3\}$, while $G_2$ contains the edges $\{v_1, v_2\}$ and $\{v_2, v_3\}$ for three vertices $v_1, v_2, v_3$. Let $G_3$ be the graph that is identical to $G_1$ and $G_2$ except it only contains the edge $\{v_1, v_2\}$ among $v_1, v_2, v_3$. Then $G_3$ is derivable from $G_1$ and $G_2$.
\end{description}

\begin{figure}[htb]
    \centering
    \includegraphics[width=0.8\linewidth]{assets/hajos.JPEG}
    \caption{Examples of the Haj\'{o}s calculus system ($k = 4$)}
    \label{fig:example-hajos}
\end{figure}

\Cref{fig:example-hajos} demonstrates examples of the rules. This system can be viewed as a Hilbert-style proof system proving that a graph is non-$4$-colorable. It is \emph{sound and complete} in the sense that a graph is non-$4$-colorable if and only if it can be derived in the by the rules.

% \tqnote{I tried to search for Hajos calculus, but I cannot find a reference to the case $k = 4$ and its relationship to $4$-coloring. So pls help me double-check that this is correct.}

\section{Cook-Reckhow propositional proof systems} \label{sec:cook-reckhow}
We now present the formal definition of propositional proof systems as introduced by \citet{DBLP:journals/jsyml/CookR79}. We take an arbitrary typical binary encoding of propositional formulas and define the set $TAUT \subseteq \Set{0,1}^*$ as the set of encodings of all tautologies, i.e.,
\begin{equation*}
    TAUT \triangleq \Set{\text{encoding of }\phi \mid \phi\text{ is a tautology}}.
\end{equation*}

\begin{definition}[Propositional proof system] \label{def:pps}
    A \emph{propositional proof system} (pps) is a polynomial-time algorithm $V: \Set{0,1}^* \times \Set{0,1}^* \to \Set{0,1}$ with $2$ inputs $(x,p)$ such that for all $x \in \Set{0,1}^*$,
    \begin{equation} \label{eq:def-pps}
        x \in TAUT \iff \exists p \in \Set{0,1}^*~s.t.~V(x,p) = 1.
    \end{equation}
\end{definition}

In the above definition, one may think of $x$ as the encoding of a Boolean formula $\phi$, and $p$ as the encoding of a proof of $\vdash \phi$ in the proof system. The $\Longleftarrow$ and $\Longrightarrow$ of \Cref{eq:def-pps} correspond to the soundness and completeness of the proof system, respectively.

Note that in the above definition the running time of $V$ is bounded by $\poly(\ord{x}, \ord{p})$. However, \Cref{eq:def-pps} does not impose a bound on the length of the proof $p$ when $x \in TAUT$. So when the proof $p$ is very long, say $\ord{p} = 2^{\ord{x}}$, then the running time of $V$ can be super-polynomial in the length of the formula $x$.

\begin{example}[Truth table] \label{ex:tt}
    A (trivial) example of a propositional proof system is the truth table system, where the proof $p$ consists of the truth table of the formula encoded by $x$. The algorithm $V$ can simply verify whether $p$ is indeed the truth table, and whether the truth table is all-$1$. Although the length of $p$ is exponential in the number of variables in $x$, the running time of $V$ is always bounded by $\poly(\ord{x}, \ord{p})$. So this satisfies \Cref{def:pps}.
\end{example}

\begin{remark}
    The requirement that the algorithm $V$ runs in polynomial time reflects the philosophical idea that in a well-designed proof system, one should be able to efficiently verify whether a proof is correct. In addition, we want the definition to have connections to other fields in complexity theory. Indeed, \Cref{thm:CR79} shows the tight connections between propositional proof systems and fundamental questions in structural complexity.
\end{remark}

In \Cref{eq:def-pps}, the length of the proof $p$ can be arbitrarily long. So it is natural to ask whether such there always exist a short proof $p$, or there are cases where the proofs have to be long. The following question is a central question in proof complexity:
\begin{quote} \it
    Is there a propositional proof system $V$ such that every propositional tautology has a short proof in $V$.
\end{quote}

Ideally, as complexity theorists, we want to ask whether there exists a pps such that every tautology has a polynomial-size proof. This leads to the following definition.

\begin{definition}[Polynomially-bounded pps]
    A propositional proof system $V$ is \emph{polynomially-bounded} if for all $x \in \Set{0,1}^*$,
    \begin{equation*}
        x \in TAUT \iff \exists p \in \Set{0,1}^{\poly(\ord{x})}~s.t.~V(x,p) = 1.
    \end{equation*}
\end{definition}

\citet{DBLP:journals/jsyml/CookR79} proved that such proof systems cannot exist unless the polynomial hierarchy collapses.

\begin{theorem}[\cite{DBLP:journals/jsyml/CookR79}] \label{thm:CR79}
    There exists a polynomially-bounded proof system if and only if $\NP = \coNP$.
\end{theorem}

The proof of this theorem is straightforward: if a polynomially-bounded propositional proof system exists, then one can design a non-deterministic polynomial-time algorithm for $\lang{UNSAT}$ by guessing a refutation $p$. Conversely, any $\NP$ algorithm for $\lang{UNSAT}$ can be interpreted as a polynomially-bounded proof system.

Notably, \Cref{thm:CR79} suggests a potential approach to proving $\P \neq \NP$ by ruling out the existence of polynomially-bounded propositional proof systems.

\section{The landscape of proof complexity}

Analogous to structural complexity theory, where we study the relationships between different complexity classes, an important question in proof complexity is understanding the relationships between different propositional proof systems. We first define what does ``one proof system is stronger than the other'' means in proof complexity.

\begin{definition}[$p$-simulation]
    A proof system $\mathcal{P}$ \emph{$p$-simulates} another proof system $\mathcal{Q}$ if, for any propositional tautology $\phi$, whenever $\phi$ has a proof of size $s$ in $\mathcal{Q}$, it also has a proof of size $\poly(s)$ in $\mathcal{P}$.
\end{definition}

\begin{definition}[$p$-equivalence]
    Two proof systems $\mathcal{P}$ and $\mathcal{Q}$ are \emph{$p$-equivalent} if $\mathcal{P}$ $p$-simulates $\mathcal{Q}$ and $\mathcal{Q}$ $p$-simulates $\mathcal{P}$.
\end{definition}

We now introduce a basic hierarchy of propositional proof systems in \Cref{fig:hierarchy}, where an arrow from $\mathcal{P}$ to $\mathcal{Q}$ indicates that $\mathcal{P}$ $p$-simulates $\mathcal{Q}$. Hopefully, we will gradually enrich and expand this graph throughout this course.

\begin{figure}[htb]
    \centering
    \includegraphics[width=0.4\linewidth]{assets/hierarchy.JPEG}
    \caption{Hierarchy of proof systems}
    \label{fig:hierarchy}
\end{figure}

In \Cref{fig:hierarchy}, $\TT$ represents the truth table proof system described in \Cref{ex:tt}. $\Frege$ denotes the standard Hilbert-style proof system with an arbitrary finite set of axioms and deduction rules.\footnote{\citet{DBLP:journals/jsyml/CookR79} proved that Frege-like systems with any sets of axioms and rules are $p$-equivalent to each other, as long as they are sound and complete.}. The Extended Frege system, $\EF$, is an extension of Frege that allows extension variables. The Resolution system, $\Res$, will be discussed in detail in Section \ref{sec:resolution}.

Conceptually, $\Res$, $\Frege$, and $\EF$ can all be regarded as Frege-like systems where proof lines are constrained to different circuit classes. We will see that $\Res$, $\Frege$, and $\EF$ correspond to Frege systems where proof lines are restricted to $1$-DNF (single $\func{OR}$ functions), $\NC^1$, and $\P_{/\poly}$, respectively.

\section{Resolution system} \label{sec:resolution}

We now formally introduce our first propositional proof system: resolution. Resolution is a simple yet widely used proof system both in theory and in practice.% \tqnote{Shall we add a reference for anyone who is interested in this topic, e.g., DPLL?} It is also a relatively weak proof system, making it easier to establish lower bounds.

Resolution, denoted by $\Res$, is a proof system for refuting unsatisfiable CNF formulas. For any propositional tautology, one must first convert it to an equivalent CNF using the Cook-Levin Theorem and then negate it to obtain an unsatisfiable formula. It has only one rule: the resolution rule
\begin{prooftree*}
    \hyp{A \lor x}
    \hyp{B \lor \xbar{x}}
    \infer2[(Resolution rule)]{A \lor B}
\end{prooftree*}
A resolution refutation of a CNF formula $\phi = C_1 \land C_2 \land \dots C_m$ is represented as a directed acyclic graph (DAG), where each vertex has in-degree $0$ or $2$ and is labeled with a clause (a disjunction of literals). Each vertex with in-degree $0$ is labeled with one of the clauses $C_1, \dots, C_m$ in $\phi$. Each vertex with in-degree $2$ is labeled with a clause derived from the two preceding clauses using the resolution rule. The proof ends with the empty clause $\varnothing$.

\begin{example} \label{ex:res}
    Consider the unsatisfiable formula
    \begin{equation*}
        \phi = x_1 \land (\xbar{x_1} \lor x_2) \land (\xbar{x_2} \lor x_3) \land \xbar{x_3}.
    \end{equation*}
    For resolution, it is often more convenient to represent $\phi$ as a set of clauses: $\Set{x_1, \xbar{x_1} \lor x_2, \xbar{x_2} \lor x_3, \xbar{x_3}}$. The tree in \Cref{fig:ex-res:proof} is a valid resolution refutation for $\phi \vdash_{\Res} \bot$. It can be formally written as the following proof tree:
    \begin{prooftree*}
        {
            {
                \hyp{x_1}
                \hyp{\xbar{x_1} \lor x_2}
                \Inf2{x_2}
            }
            \hyp{\xbar{x_2} \lor x_3}
            \Inf2{x_3}
        }
        \hyp{\xbar{x_3}}
        \Inf2{\bot}
    \end{prooftree*}
\end{example}

Tree-like resolution, denoted by $\TreeRes$, is a restricted form of resolution in which the proof DAG is a tree. The proof in the above example is indeed a tree-like resolution. It is clear that resolution $p$-simulates tree-like resolution. Next week, we will show that the converse does not hold.

The \emph{size} of a resolution proof is the number of clauses it contains. The \emph{depth} of a tree-like resolution is the height of the proof tree. The \emph{width} of a resolution proof is the maximum width of any clause in the proof. For instance, the proof in \Cref{ex:res} has size $7$, depth $4$, and width $2$.

Alternatively, a resolution proof can be represented as a sequence of clauses, where each clause is either one of the original clauses in $\phi$ or derived from two preceding clauses using resolution. The final clause in the sequence is the empty clause $\varnothing$. In this view, tree-like resolution corresponds to proofs where each line is used in the resolution rules at most once.

\begin{figure}[htb]
    \centering
    \begin{subfigure}[t]{0.4\textwidth}
        \centering
        \includegraphics[width=0.7\textwidth]{assets/res-proof.JPEG}
        \caption{Resolution proof tree of $\phi \vdash_{\Res} \bot$}
        \label{fig:ex-res:proof}
    \end{subfigure}
    ~
    \begin{subfigure}[t]{0.4\textwidth}
        \centering
        \includegraphics[width=0.7\textwidth]{assets/res-dt.JPEG}
        \caption{Decision tree solving $\lang{Search}_{\phi}$}
        \label{fig:ex-res:dt}
    \end{subfigure}
    \caption{Resolution proof tree and the corresponding decision tree of \Cref{ex:res}}
    \label{fig:ex-res}
\end{figure}

\subsection{Soundness and completeness of resolution}

In this section, we prove that resolution is both sound and complete. We begin with soundness, which is typically the easier direction.

We begin with the soundness of the resolution rule.

\begin{lemma}[Soundness of the resolution rule] \label{lmm:soundness-resolution-rule}
    For any interpretation $\alpha$, if $\alpha \models A \lor x$ and $\alpha \models B \lor \xbar{x}$, then $\alpha \models A \lor B$.
\end{lemma}

\begin{proof}
    This follows directly from a case analysis on the truth value of $x$:
    \begin{itemize}
        \item If $\alpha(x) = \top$, then $\alpha \models B$, implying $\alpha \models A \lor B$.
        \item If $\alpha(x) = \bot$, then $\alpha \models A$, implying $\alpha \models A \lor B$.
    \end{itemize}
\end{proof}

We now show the soundness of resolution.

\begin{theorem}[Resolution is sound] \label{thm:res-sound}
    $\phi \vdash_{\Res} \bot \implies \models \lnot \phi$.
\end{theorem}

\begin{proof}
    Suppose that $\Pi$ is a resolution refutation of $\phi$. Let $C_1, \dots, C_m, D_1, \dots, D_{m'}$ be the sequence of clauses in $\Pi$ (in topological order), where $C_1, \dots, C_m$ are initial clauses from $\phi$ and $D_1, \dots, D_{m'}$ are derived clauses. By the syntax of resolution, $D_{m'} = \varnothing$ is the empty clause. Assume, for the sake of contradiction, that $\phi$ is satisfied by some assignment $\alpha$. We prove by induction over $i$ that $\alpha \models C_1 \land \dots \land C_m \land D_1 \land \dots \land D_i$.

    The initial case $i = 0$ is trivial since $C_1 \land \dots \land C_m$ is the formula $\phi$.

    Suppose that $\alpha \models C_1 \land \dots \land C_m \land D_1 \land \dots \land D_{i-1}$ for some $1 \le i \le m'$. The clause $D_i$ is derived from two previous clauses via the resolution rule, so $\alpha \models D_i$ by \Cref{lmm:soundness-resolution-rule}.

    However, $D_{m'}$ is the empty clause, so plugging in $i = m'$ gives $\alpha \models \bot$. Contradiction.
\end{proof}

For completeness, we show that even tree-like resolution is complete. The completeness of resolution then follows directly by definition.

\begin{theorem}[Tree-like resolution is complete] \label{thm:res-complete}
    $\models \lnot \phi \implies \phi \vdash_{\Res} \bot$.
\end{theorem}

The idea is to relate tree-like resolution proofs to decision trees solving search problems in $\TFNP$. Since decision tree is a complete computational model, it follows that tree-like resolution must also be complete.

Consider the following search problem. Let $f = C_1 \land C_2 \land \dots \land C_m$ over variables $x_1, \dots, x_n$ be an unsatisfiable formula. The problem $\lang{Search}_f$ takes as input an assignment $\alpha \in \Set{0,1}^n$ and outputs any index $i$ for which $\alpha \centernot\models C_i$.

We consider decision trees solving $\lang{Search}_f$, where each internal node is labeled with a variable $x_i$ and each leaf is labeled with a clause. \Cref{fig:ex-res:dt} gives an example of a decision tree solving $\lang{Search}_{\phi}$ for the $\phi$ in \Cref{ex:res}.

The key claim is stated below.

\begin{claim} \label{claim:res-from-dt}
    Let $f$ be an unsatisfiable CNF formula. If there is a decision tree solving $\lang{Search}_f$, then there is a tree-like resolution proof refuting $f$.
\end{claim}

In fact, with some caveats, one can show that the optimal decision tree solving $\lang{Search}_f$ has exactly the same shape as the optimal resolution proof refuting $f$, as suggested by the similarity between \Cref{fig:ex-res:proof} and \Cref{fig:ex-res:dt}.

We first prove that tree-like resolution is complete from \Cref{claim:res-from-dt}.

\begin{proof}[Proof of \Cref{thm:res-complete}]
    Let $f$ be any unsatisfiable CNF formula. By definition, $\lang{Search}_f$ must be a total search problem. There is always a canonical decision tree solving the total search problem $\lang{Search}_f$ by enumerating over all possible inputs. By \Cref{claim:res-from-dt}, this transforms to a tree-like resolution proof refuting $f$.
\end{proof}

We now prove \Cref{claim:res-from-dt}.

\begin{proof}[Proof of \Cref{claim:res-from-dt}]
    Let $T$ be a decision tree of the minimum size solving $\lang{Search}_f$. We now relabel the nodes in $T$ with clauses so that they form a tree-like resolution refutation of $f$. The relabeling is simple: each leaf is labeled with its corresponding decision tree output, and each internal node that queries the variable $x_i$ is labeled with the clause obtained by applying the resolution rule with $x_i$ resolved. We need to show that this indeed gives a valid tree-like resolution proof. We do so from leaves to the root and maintain the following property for any node $v$ in $T$:
    \begin{description}
        \item[(*)] \customlabel{property:res-from-dt:ind}{*} \textit{The clause $C$ labeled at $v$ is falsified by the partial assignment induced by the path from root to $v$.}
    \end{description}

    All leaves satisfy \eqref{property:res-from-dt:ind} by the definition of $T$ solving $\lang{Search}_f$. We now consider the internal nodes in a bottom-up order. Let $v$ be an internal node of the decision tree $T$ querying the variable $x_i$. Let $v_0$ be the child going from the edge $x_i = 0$, $T_0$ be the subtree rooted at $v_0$, and $C_0$ be the clause labeled at $v_0$. Similarly let $v_1$, $T_1$, and $C_1$ be the child, subtree, and clause from $x_i = 1$.

    We claim that $x_i$ occurs in both $C_0$ and $C_1$. To see this, assume that $C_0$ does not contain the variable $x_i$. The first observation is that by minimality, $T$ does not query any variable twice along any path from the root to a leaf. This means that $x_i$ will not be queried again in the subtree $T_0$, so $x_i$ will not occur in any of the clauses in $T_0$. In particular, if we consider any leaf $w$ in $T_0$, the decision tree outcome $C_w$ at $w$, which is the same as the clause labeled at $w$, does not contain $x_i$. Let $\sigma_w$ be the partial assignment induced by the path from root to $w$, $C_w$ must also be falsified by the assignment $\sigma_w \setminus \Set{x_i \gets 0}$. Therefore, we can remove the query to $x_i$ and replace the whole subtree at $v$ with $T_0$. This gives us a smaller decision tree solving $\lang{Search}_f$, contradicting the minimality of $T$. An analogous argument can be applied to the case when $C_1$ does not contain $x_i$.

    By \eqref{property:res-from-dt:ind}, $x_i$ must occur positively in $C_0$ and negatively in $C_1$. Suppose that $C_0 = x_i \lor A_0$ and $C_1 = \xbar{x_i} \lor A_1$. By definition we label $v$ with the clause $A_0 \lor A_1$. Let $\sigma$ be the partial assignment induced by the path from the root to $v$. Again by \eqref{property:res-from-dt:ind} at $v_0$, $\sigma \cup \Set{x_i \gets 0}$ falsifies $C_0$, which implies that $\sigma$ falsifies $A_0$. Similarly, by \eqref{property:res-from-dt:ind} at $v_1$, $\sigma$ falsifies $A_1$. Hence, $\sigma$ falsifies $A_0 \lor A_1$, completing the induction step.

    Applying \eqref{property:res-from-dt:ind} at the root, since the partial assignment at the root is empty, the only clause falsified by the empty assignment is the empty clause. This completes the proof.
\end{proof}

\section{Pigeon-hole principle} \label{sec:php}

To prepare for proving strong resolution lower bounds, we first introduce hard formulas. In proof complexity, not many hard candidate formulas are commonly used. Today we will define the pigeon-hole principle, which is one of the most classical hard formula in proof complexity. We will show that the pigeon-hole principle requires an exponential-size resolution proof next week.

The pigeon-hole principle $\lnot \PHP_n^{n+1}$, or more generally $\lnot \PHP_n^m$ for any $m > n$, is an unsatisfiable formula consisting of $nm$ variables and $m+nm^2$ clauses. The variables $P_{ij}$, for $i \in [m]$ and $j \in [n]$, semantically indicate that the $i$-th pigeon is assigned to the $j$-th hole. It has two kinds of clauses:
\begin{description}
    \item[(Pigeon clauses)] For each $i \in [m]$, $\lnot \PHP_n^m$ contains the clause
    \begin{equation*}
        \bigvee_{j \in [n]} P_{ij}.
    \end{equation*}
    \item[(Hole clauses)] For each $j \in [n]$ and distinct indices $i_1, i_2 \in [m]$ with $i_1 \neq i_2$, $\lnot \PHP_n^m$ contains the clause
    \begin{equation*}
        \xbar{P_{i_1j}} \lor \xbar{P_{i_2j}}.
    \end{equation*}
\end{description}

Intuitively, $\lnot \PHP_n^m$ requires counting, making it difficult to prove in weak proof systems that lack the ability to express counting arguments. Next week, we will formalize this idea and show that $\lnot \PHP_n^{n+1}$ requires a resolution proof of size $2^{\Omega(n)}$.

\newpage

\printbibliography

\end{document}

