%Proof Complexity Scribe Notes template

\ifx\CompleteCourse\relax
\ClassScribeSetupA
\else
\documentclass[11pt]{article}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{homework}{Homework}
\newenvironment{definition}{\begin{trivlist}\item[]{\bf Definition}\ }%
{\end{trivlist}}
\newenvironment{fact}{\begin{trivlist}\item[]{\bf Fact}\ }%
{\end{trivlist}}
\newenvironment{example}{\begin{trivlist}\item[]{\bf Example}\ }%
{\end{trivlist}}
\newenvironment{proof}{\begin{trivlist}\item[]{\bf Proof}\ }%
{\end{trivlist}}
% Make the page large
\addtolength{\textwidth}{1.50in}
\addtolength{\textheight}{1.00in}
\addtolength{\evensidemargin}{-0.75in}
\addtolength{\oddsidemargin}{-0.75in}
\addtolength{\topmargin}{-.50in}

% \vdashsub{X}  makes a turnstyle with subscript "X"
% \vdashsup{X}  makes a turnstyle with superscript "X"

\newdimen\srbdimenA
\newcommand{\vdashsupsub}[2]{ \mathop{
  \setbox251 = \hbox{$\scriptstyle #1$}
  \setbox252 = \hbox{$\scriptstyle #2$}
  \ifdim \wd251<\wd252 \srbdimenA = \wd252 \else \srbdimenA = \wd251 \fi
  \setbox255 = \hbox {${\srbAvdash \vphantom( \kern -\srbdimenA \kern +.05em}
                  ^{\hbox to\srbdimenA{\hfill \box251\hfill}}
                  _{\hbox to\srbdimenA{\hfill \box252\hfill}}$}
  \box255 \kern .05em}}
\newcommand{\srbAvdash}{\hbox{ \vrule height1.4ex width0.02em
                                \dimen255 = \srbdimenA
                                \advance\dimen255 by 0.1em
                              \vbox{\hrule width\srbdimenA height0.02em
                                    \kern .65ex  }}}
\newcommand{\vdashsup}[1]{\vdashsupsub{{#1}}{\mbox{~}}}
\newcommand{\vdashsub}[1]{\vdashsupsub{\mbox{~}}{#1}}
\fi

%   FOR THE SCRIBE: CUSTOMIZE THE ENTRIES BELOW:
%   Fill in the following information particular to these scribe notes:

\def\scribeone{Dan Curtis}    % Who is the scribe?
\def\classdate{6 February 2002} % Date of the class
\def\classnumber{7}     % Is this the first, second, ...?

% Here are some commands that stay the same for the whole class.

\def\classinstructor{Sam Buss}
\def\classtitle{Propositional Proof Complexity}
\def\doctitle{\textup{Math 267a - Propositional Proof Complexity}}
\def\classid{\textup{Lecture \#\classnumber: \classdate}}

%   Put your macros for these scribe notes HERE
%  It is best to use as few as possible.
%  environments for "theorem", "corollary", "lemma", "fact" "definition"
%   "homework", "proof", "example", "proposition"
%   are already defined above.

% Start the document

\ifx\CompleteCourse\relax
\ClassScribeSetupB
\else
\def\makeatletter{\catcode`\@=11\relax}
\def\makeatother{\catcode`\@=12\relax}
\makeatletter
\def\ps@scribeheadings{\let\@mkboth\@gobbletwo
\def\@oddhead{\sl\doctitle \hfill \classid
}\def\@oddfoot{\hfil \rm \thepage \hfil}\def\@evenhead{\@oddhead}%
\def\@evenfoot{\@oddfoot}\def\sectionmark##1{}\def\subsectionmark##1{}}
\makeatother
\pagestyle{scribeheadings}
\begin{document}
\bibliographystyle{siam}
\fi

\begin{center}
\Large\bf\doctitle\\[1em]
\Large\bf\classid\\[1em]
{\large\bf Lecturer: \classinstructor}\\[.5em]
{\large\bf Scribe Notes by: \scribeone}
\end{center}

\vspace*{.4in}

% HERE IS WHERE YOUR SCRIBE NOTES SHOULD START
%  DELETE ALL OF ROB'S TEXT AND ENTER YOUR OWN.

\section{Completeness and Soundness of Resolution Proofs}

\subsection{Definition of a Resolution Proof}

Recall the resolution rule: $$\frac{C\cup\{x\}\,\,D\cup\{\bar{x}\}}{C\cup D}.$$

\begin{definition}
A set of literals $\{x_1,\ldots,x_n\}$, with $x_i$ in $P_k$ or $\bar{P}_k$, is called a clause.
\end{definition}

\begin{definition}
Resolution refutes a set of clauses if and only all the clauses
cannot be simultaneously satisfied.
\end{definition}

A clause is a disjunction of literals and a set of clauses is a conjuction of clauses, which can be
thought of as a conjuctive normal form formula. We can view resolution as \underline{proving}
disjunctive normal form formulas. For right now, resolution can prove tautologies that are in
Disjunctive Normal Form.

\begin{example}
The Pigeon hole principle ($PHP^m_n$) can be written as
$${\bigwedge \!\!\!\! \bigwedge}_{i=1}^m {\bigvee \!\!\!\!
\bigvee}_{j=1}^n p_{ij}\to {\bigvee \!\!\!\! \bigvee}_{i=1}^{m-1}
{\bigvee \!\!\!\! \bigvee}_{j=i+1}^m {\bigvee \!\!\!\!
\bigvee}_{k=1}^n (p_{ik}\wedge p_{jk}).$$

The negation of this ($\neg PHP^m_n$) is $${\bigwedge \!\!\!\! \bigwedge}_{i=1}^m {\bigvee \!\!\!\!
\bigvee}_{j=1}^n p_{ij}\wedge {\bigwedge \!\!\!\! \bigwedge}_{i=1}^{m-1} {\bigwedge \!\!\!\!
\bigwedge}_{j=i+1}^n {\bigwedge \!\!\!\! \bigwedge}_{k=1}^n (\bar{p}_{ik}\wedge \bar{p}_{jk}).$$
which is in conjunctive normal form.

Written as a set of clauses:
\begin{eqnarray*}
\{p_{i,1},\ldots,p_{i,n}\},& \,i=1,\ldots, m\,\,\,\,\,&\leftarrow m \textrm{ clauses}\\
\{\bar{p}_{ik},\bar{p}_{jk}\},&\,i=1,\ldots, m-1;\,j=i+1,\ldots,n;\,k=1,\ldots
n\,\,\,\,\,&\leftarrow \approx m^2 \textrm{ clauses}
\end{eqnarray*}
A resolution ``proof'' of $PHP$ means a refutation of this set of
clauses.
\end{example}

\subsection{Completeness Theorem}

\begin{theorem}
(Completeness Theorem) If $\mathcal{C}$ is an unsatisfiable set of clauses, then $\mathcal{C}$ has
a resolution refutation.
\end{theorem}

\begin{proof}
Using induction on the number of variables in $\mathcal{C}$, assume $\mathcal{C}$ has zero
variables. Then either $\mathcal{C}=\{\emptyset\}$, in which case it contains the refutation
$\emptyset$, or $\mathcal{C}=\emptyset$ which is satisfiable. Thus the hypothesis holds for any
clause with zero variables.

Now, let $\mathcal{C}$ be an unsatisfiable set of clauses and let $x$ be a variable in some clause
in $\mathcal{C}$. Define
\begin{eqnarray*}
    \mathcal{C}_x&=&\{\textrm{the set of clauses in } \mathcal{C} \textrm{ that contain } x\}\\
    \mathcal{C}_{\bar{x}}&=&\{\textrm{the set of clauses in } \mathcal{C} \textrm{ that contain } \bar{x}\}\\
    \mathcal{C}^\prime&=&\mathcal{C}-(\mathcal{C}_x\cup\mathcal{C}_{\bar{x}}).
\end{eqnarray*}
Then resolve all $\mathcal{C}_{x}$ clauses with all $\mathcal{C}_{\bar{x}}$ clauses by
$$\frac{D\cup\{x\}\,\,E\cup\{\bar{x}\}}{D\cup E}$$ Let $\mathcal{D}=\mathcal{C}^\prime\cup\{$all
resolvents of the form $D\cup E$, where $D\cup\{x\}\in\mathcal{C}_x$ and
$E\cup\{\bar{x}\}\in\mathcal{C}_{\bar{x}}\}$

Since $\mathcal{D}$ has fewer variables than $\mathcal{C}$, then by the induction hypothesis, if
$\mathcal{D}$ is unsatisfiable, then $\mathcal{D}$ has a refutation. Also, from the construction of
$\mathcal{D}$, if $\mathcal{D}$ has a refutation, then $\mathcal{C}$ has a refutation. Thus, if we
can show that $\mathcal{D}$ is unsatisfiable, then $\mathcal{C}$ has a refutation.

Suppose $\mathcal{D}$ is satisfiable and $\tau$ is a truth assignment that satisfies $\mathcal{D}$.
Define $\tau^+$ to be the same as $\tau$ with the addition that $\tau(x)=T$, and define $\tau^-$ to
be the same as $\tau$ with the addition that $\tau(x)=F$.

Suppose $\tau^+$ does not satisfy $\mathcal{C}$. Then there is a $E\cup\{\bar{x}\}\in\mathcal{C}$
such that $\tau^+$ does not satisfy $E\cup\{\bar{x}\}$. But then $\tau$ does not satisfy $E$.
Similarly, if $\tau^-$ does not satisfy $\mathcal{C}$, then there is a $D\cup\{x\}$ such that
$\tau$ does not satisfy $D$. However, since $\tau$ satisfies $\mathcal{D}$, $\tau$ satisfies $D\cup
E$. So, either $\tau^+$ or $\tau^-$ satisfies $\mathcal{C}$.
\end{proof}


\subsection{Size of a Resolution Proof}

The size of a resolution proof can be measured in two ways:
\begin{itemize}
    \item[a)] Total number of literals in all clauses.
    \item[b)] Number of clauses.
\end{itemize}

Clearly, (b) $\leq$ (a) $\leq$ (b)$\cdot$(number of distinct
variables), so a polynomial size bound on b) implies a polynomial
size bound on a).


\subsection{Subsumption Rule}

\begin{definition} The subsumption rule (weakening rule), for any two clauses $C$ and $D$ with
$C\subseteq D$, is given by $$\frac{C}{D}.$$
\end{definition}

\begin{theorem}
A resolution and subsumption refutation of a set $\mathcal{C}$ of clauses can be converted into a
smaller resolution refutation of $\mathcal{C}$.
\end{theorem}

In practice, a theorem prover has $C_1,\ldots,C_k$ as input clauses and generates clauses with
resolution. At some point, if it has clauses $D$ and $E$ with $E\subseteq D$, then it is alright to
discard $D$ without any negative consequences.

\begin{proof}
Let $\phi_1,\ldots,\phi_k=\emptyset$ be a refutation using resolution and subsumption. A new
refutation $\psi_1,\ldots,\psi_k=\emptyset$, built recursively in the following way using only
resolution, will have the property that $\psi_i\subseteq \phi_i$ for each $i\leq k$.

For each $i\leq k$, define $\psi_i$ as follows:

\begin{itemize}
    \item[1)] If $\phi_i\in \mathcal{C}$, then set $\psi_i=\phi_i$. In this
    case, clearly $\psi_i\subseteq\phi_i$.
    \item[2)] If $\phi_i$ is inferred by subsumption
    $\frac{\phi_l}{\phi_i}$ for some $l\leq i$, with $\phi_l\subseteq\phi_i$,
    then set $\psi_i=\psi_l$. Here, we have
    $\psi_i=\psi_l\subseteq\phi_l\subseteq\phi_i$.
    \item[3)] If $\phi_i$ is inferred by resolution, for some
    $j,l\leq i$,
    $$\frac{\phi_j\,\,\phi_l}{\phi_i}$$
    resolving on $x\in\phi_j$ and $\bar{x}\in\phi_l$, do the
    following:
    \begin{itemize}
        \item[a)] If $x\not\in\psi_j$, set $\psi_i=\psi_j\subseteq\phi_i$.
        \item[b)] If $\bar{x}\not\in\psi_l$, set
        $\psi_i=\psi_l\subseteq\phi_i$.
        \item[c)] Otherwise, set
        $\psi_i=\textrm{res}_x(\psi_j,\psi_l)$, where
        $\textrm{res}_x$ is defined to be the resolvent obtained
        by the resolution using the literal $x$. Since
        $\psi_j\subseteq\phi_j$ and $\psi_l\subseteq\phi_l$, then
        $\psi_i\subseteq\phi_i$.
    \end{itemize}
\end{itemize}

Clearly, $\psi_k=\emptyset$, since $\psi_k\subseteq\phi_k =\emptyset$. Finally, erase any duplicate
$\psi_i$'s.
\end{proof}


\subsection{Refutation Proof of the Pigeon Hole Principle}

As a point of notation, throughout this proof, we will use $[k]$
to denote the set $\{1,\ldots,k\}$.

Recall that the negation of the Pigeon Hole Principle can be
written as:
$${\bigwedge \!\!\!\! \bigwedge}_{i=1}^m {\bigvee \!\!\!\!
\bigvee}_{j=1}^n p_{ij}\wedge {\bigwedge \!\!\!\!
\bigwedge}_{i=1}^{m-1} {\bigwedge \!\!\!\! \bigwedge}_{j=i+1}^n
{\bigwedge \!\!\!\! \bigwedge}_{k=1}^n (p_{ik}\wedge p_{jk}).$$

For this proof, we will prove the special case $PHP_n^{n+1}$ (i.e. $m=n+1$). Writing this as a set
of clauses, we get $$\mathcal{C}=\{\{P_{i,1},\ldots,P_{i,n}\},1\leq i \leq
n\}\cup\{\{\bar{P}_{i,k},\bar{P}_j,k\}, 1\leq i \leq j \leq m; 1\leq k\leq n\}$$

\begin{proof}
The refutation will proceed in a series of stages, $s=n, n-1,\ldots, 0$. At stage $s$, we have the
following clauses: For each injective map $\pi:\{1,\ldots, s\}\to\{1,\ldots,n\}$ we have the clause
$\{\bar{P}_{1,\pi(1)}, \bar{P}_{2,\pi(2)}, \ldots,\bar{P}_{s,\pi(s)}\}$.

At stage $s=0$, the only map is $\pi:\emptyset\to [n]$ and the clause is $\emptyset$.

At stage $s=n$, for any injective map $\pi:[n]\to[n]$, start with the initial clause
$\{P_{n+1,1},\ldots,P_{n+1,n}\}$ and resolve with the initial clauses
$\{\bar{P}_{i,\pi(i)},\bar{P}_{n+1,\pi(i)}\}$ for each $1\leq i\leq n$.

For the induction step, assume we have the stage $s+1$ clauses. Given any injective map
$\pi:[s]\to[n]$ we need to derive $\{\bar{P}_{1,\pi(1)}, \bar{P}_{2,\pi(2)},
\ldots,\bar{P}_{s,\pi(s)}\}$. For $j\not\in \textrm{Range}(\pi)$, define $\pi_j$ to be
$\pi\cup\{(s+1)\mapsto j\}$. Since $\pi_j:[s+1]\to[n]$, then from stage $s+1$ we already have
\begin{eqnarray*}\label{$*_j$}
  (*_j)\hspace{2cm}\{\bar{P}_{1,\pi(1)}, \bar{P}_{2,\pi(2)},
\ldots,\bar{P}_{s,\pi(s)},\bar{P}_{s+1,j}\}.\hspace{2cm}
\end{eqnarray*}

To derive the stage $s$ clauses, start with the initial clause $\{P_{s+1,1},\ldots,P_{s+1,n}\}$ and
resolve with the initial clauses $\{\bar{P}_{i,\pi(i)},\bar{P}_{s+1,\pi(i)}\}$ for each $1\leq
i\leq s$. After resolving with each of the $s$ clauses, we get $$\{\bar{P}_{1,\pi(1)},
\bar{P}_{2,\pi(2)}, \ldots,\bar{P}_{s,\pi(s)}, P_{s+1,j_1},\ldots,P_{s+1,j_{n-s}}\}$$ where
$[n]-\textrm{Range}(\pi)=\{j_1,\ldots,j_{n-s}\}$. Finally, resolve with the $(*_j)$ clauses for
$j=j_1,\ldots,j_{n-s}$ and we get $\{\bar{P}_{1,\pi(1)}, \bar{P}_{2,\pi(2)},
\ldots,\bar{P}_{s,\pi(s)}\}$ as desired.
\end{proof}

\subsection{Size of Proof of Pigeon Hole Principle}

There are $n$ stages for this proof of $PHP_n^{n+1}$. At each
stage, there are on the order of $O(n^s)$ injective maps
$\pi:[s]\to[n]$. Also, there are $n$ steps required to derive each
clause. Thus, the size of this proof is on the order of $O(n\cdot
n\cdot n^n)=2^{O(n\log n)}$ total number of clauses.

However, a more honest measure of the size of the proof is in terms of the number of variables
$v=\Omega(n^2)$. In terms of $v$, the size of the proof is on the order $2^{O(\sqrt{v}\log
\sqrt{V})}=2^{O(\sqrt{v}\log V)}$.

\subsection{Soundness Theorem}

\begin{theorem} (Soundness Theorem) If $\mathcal{C}$ is a set of clauses
with a refutation, then $\mathcal{C}$ is unsatisfiable.
\end{theorem}

\begin{proof}
Proof of the soundness theorem is deferred until the next lecture.
\end{proof}
\end{document}

--=====================_432021156==_--
