
%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{Robert Ellis}    % Who is the scribe?
\def\classdate{12 September 2002} % Date of the class
\def\classnumber{1}     % Is this the first, second, ...?

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

\def\classinstructor{Toniann Pitassi}
\def\classtitle{Propositional Proof Complexity}
\def\doctitle{\textup{CS 2429 - 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{Introduction to Propositional Logic}

What is a proof system? In this course we will define a proof
system in a very general way, as folows.

\begin{definition} A proof system for a language $L$ is a polynomial
time algorithm $V$ such that for all $x$
$x \in L$ if and only if there exists a string $p$ such that
$V(x,p)$ accepts.
\end{definition}

In the above definition, we think of $V$ as a verifier, and
the string $p$ as encoding a proof that $x$ is in $L$.

\begin{definition}
The complexity of $V$ is a function $f_V$ from natural numbers to
natural numbers, defined as follows.
$f_V(n)$ is $max_{x \in L, |x|=n} min_{p s.t. V(x,p) accepts} |p|.$

$V$ is {\it polynomially bounded} if $f_V$ is a polynomial function
of $n$.
\end{definition}

We will now give several examples of proof systems, each
for different languages $L$.

\subsection{Example 0}
The canonical language with a polynomially bounded proof system
is $SAT$. $SAT$ consists of the set of all satisfiable formulas.
For example, the following conjunctive normal form formula is in $SAT$:
$$f = (x_1 \lor x_2 \lor \neg x_3)\land(x_2 \lor \neg x_4)
\land(x_1 \lor x_3 \lor \neg x_4)\land(x_3 \lor x_4).$$
The verifier $V$ for $SAT$ takes two strings as input
$f$ an encoding of a boolean formula, and $p$ a truth assignment
to the underlying variables of $f$.
$V(f,p)$ accepts if and only if $p$ is a satisfying assignment to $f$.
Clearly $V$ is polynomial-time computable for all inputs,
and $f$ is in $SAT$ if and only if there exists a string $p$ such that
$V(f,p)$ accepts.

\subsection{Example 1}
The most prominent and well studied proof systems are all for
the languages $TAUT$ and $UNSAT$.
$TAUT$ is the set of all boolean formulas that are tautologies,
and $UNSAT$ is the complement of $SAT$, consisting of the set of all
boolean formulas that are unsatisfiable.
For example, the CNF formula
$f = (x_1 \lor x_2) \land (\neg x_1 \lor x_2) \land (x_2)$
is in $UNSAT$ because it is unsatisfiable.



\subsection{Truth Tables}

Truth tables provide straightforward but lengthy verifications of
tautologies.  The proof of a tautology proceeds by exhaustively
writing down all $2^n$ truth assignments for a predicate in $n$
variables, and resolving the truth in each case by the logical
rules.  The written-out truth table is the actual proof.  A proof
of the tautology $A\rightarrow(B\rightarrow A)$ is given by the
following table.

\begin{table}[h]
\begin{center}
\begin{tabular}{c|c|c||c}
$A$ & $B$ & $B\rightarrow A$ & $A\rightarrow(B\rightarrow A)$ \\
\hline T
& T & T & T \\
T & F & T & T \\
F & T & F & T \\
F & F & T & T \end{tabular}
\end{center}
\end{table}

We can easily obtain an estimate for the size of a truth table
proof for a tautology $\phi$.  Let $p$ be the number of distinct
variables, and let $m$ be the total number of unary or binary
logical operators.  The the truth table has approximately $m 2^p =
2^{O(p)}$ entries.  The size of such a table for $p=100$ would be
at least 1000 times the age of the universe in nanoseconds.

The exponential growth rate of the size of the truth table makes
this kind of proof infeasible for even relatively small numbers of
variables. Growth rates like $2^n$, $2^{\epsilon n}$ and
$2^{n^\epsilon}$ are all ``too big'' in this sense.  We prefer
growth rates like $n$, $n\log n$, $n^2$ and $n^3$, which are
feasible for large values of $n$.

\subsection{Frege Proof Systems}

A {\em Frege Proof System} consists of axioms, substitution rules
and a rule of inference from which all tautologies can be proved
in a much more tractable form that that of truth tables.
Informally, a proof of a formula $\phi$ consists of a sequence of
formulas in which each step is either an axiom, a substitution of
a previous step, or derived by inference, and the last step is
$\phi$.

\subsubsection{Proof System Components}

We formalize these notions in the following definitions.

\begin{definition}
The {\em schematic axiom} of a Frege proof system are a list of
tautologies called {\em schematic tautologies} which may be used
as the starting point of a Frege proof.
\end{definition}

The list of schematic tautologies in a common Frege proof system,
which allows any tautology to be proved, appears in Table
\ref{tab:listSchemeTaut}.
\begin{table}[h]
\begin{center}
\begin{tabular}{|l|l|}\hline
$A\rightarrow(B\rightarrow A)$ & $A\wedge B \rightarrow B$ \\
$(A\rightarrow B)\rightarrow (A\rightarrow B\rightarrow C)
\rightarrow (A\rightarrow C)$ & $A\wedge B \rightarrow A$ \\
$A\rightarrow A \vee B$ & $A\rightarrow B\rightarrow A\wedge B$
\\
$B\rightarrow A \vee B$ & $(A\rightarrow B)\rightarrow
(A\rightarrow \neg B)\rightarrow \neg A$ \\
$(A\rightarrow C) \rightarrow (B\rightarrow C) \rightarrow (A\lor B\rightarrow
C)$ &
$\neg\neg A \rightarrow A$ \\\hline
\end{tabular}
\end{center}\caption{Schematic Tautologies for a Frege proof
system}\label{tab:listSchemeTaut}
\end{table}
Here, $A$, $B$ and $C$ are variables, and for well-definedness of
associativity we adopt the shorthand $\phi \rightarrow \psi
\rightarrow \chi := \phi \rightarrow (\psi \rightarrow \chi)$.

\begin{definition}
A {\em schematic substitution}
$\sigma$ is a mapping $\sigma:V\rightarrow WFF$ from a set
$V\subseteq \{x_1,x_2,\ldots\}$ of variables to the set of
well-formed formulas, written by
$$ \sigma = (x_1/\phi_1,\ldots,x_k/\phi_k),$$
where $\phi_i=\sigma(x_i)=x_i\sigma$.
\end{definition}

Informally, a schematic substitution $\sigma$ replaces a variable
$x_i$ with some formula $\phi_i$.

\begin{definition}
$A\sigma$ is defined to be the result
of replacing (simultaneously) each occurrence of $x_i$ in the
formula $A$ by $x_i\sigma = \sigma(x_i)$.
\end{definition}

\begin{example}
Let $A=x_1\rightarrow x_2$ and let
$\sigma=(x_1/(x_1\wedge x_2), x_2/x_1)$.  Then
$$ A\sigma = (x_1\wedge x_2) \rightarrow x_1.$$
\end{example}

\begin{fact}
If $\phi\in TAUT$, then for all $\sigma$,
$\phi\sigma\in TAUT$.
\end{fact}

\begin{definition}
The {\em schematic rule of inference}
called {\em modus ponens}, or MP, is represented by
$$\begin{array}{cc}
    x_1 & x_1\rightarrow x_2 \\ \hline
    \multicolumn{2}{c}{x_2}
\end{array},$$
and is invoked by confirming that $x_2$ is true whenever $x_1$ is
true and $x_1$ implies $x_2$.
\end{definition}

\begin{definition}
A {\em schematic inference}, denoted
$$\begin{array}{ccc}
    A_1, & \ldots, & A_k \\ \hline
    \multicolumn{3}{c}{B}
\end{array},$$
means that for all $\sigma$, if $A_1\sigma,\ldots,A_k\sigma$ have
been proved, then $B\sigma$ can be inferred.  Taking $k=0$ yields
a schematic axiom.
\end{definition}

The above definitions are used to develop a schematic proof that
some formula $\phi$ is a tautology.  We formalize this type of
Frege proof as follows.

\begin{definition}
An $\mathcal{F}_0$-proof is a sequence
of formulas $\phi_1,\phi_2,\ldots,\phi_k$ such that each $\phi_i$
is either an axiom or is inferred by {\em modus ponens} from some
$\phi_j$ and $\phi_l$, for $j,l<i$.  It is called a {\em proof} of
$\phi_k$.
\end{definition}

\subsubsection{Proof System Characteristics}

In the Frege proof system just described, the properties of
soundness and completeness are highly desirable.  {\em Soundness}
means that no proof exists for a formula that is not a tautology.
{\em Completeness} means that every tautology has a corresponding
proof.  We introduce the symbolism $\vdashsub{\mathcal{F}_0}\phi$
to denote that $\mathcal{F}_0$ is a proof of $\phi$, and use
$\models \phi$ to denote $\phi \in TAUT$.

\begin{theorem}[Soundness] If $\vdashsub{\mathcal{F}_0}\phi$ then
$\phi\in TAUT$.
\end{theorem}
\begin{proof}
The proof is by induction on the number of
steps in the $\mathcal{F}_0$ proof.  The proof starts with a
schematic axiom which is a tautology, every step in the proof by
substitution is a tautology, and MP preserves tautologies, and so
$\phi$ is a tautology.
\end{proof}

\begin{theorem}[Completeness] If $\phi \in TAUT$, then
$\vdashsub{\mathcal{F}_0}\phi$ for some proof $\mathcal{F}_0$.
\end{theorem}

\begin{proof} The proof of completeness for this Frege proof system is
deferred until Lecture \#2.\end{proof}

Generally, we require an expanded notion of soundness and
completeness than what is outlined above.  In particular, we may
wish to prove a tautology in a proof system starting from an extra
set of axiomatically tautological formulas.

\begin{definition} Let $\Gamma$ be a set of formulas.  Then
$\Gamma\models\phi$ provided that for all truth assignments
$\tau$, if for all $\gamma\in\Gamma$ we have
$\overline{\tau}(\gamma)=\mbox{T}$, then
$\overline{\tau}(\phi)=\mbox{T}$. We call $\Gamma\models\phi$ a
{\em tautological implication}.
\end{definition}

The corresponding version of a $\mathcal{F}_0$-proof is as
follows.

\begin{definition}  Let $\Gamma$ be a set of formulas.  Then
$\Gamma\vdashsub{\mathcal{F}_0}\phi$ provided there exists a
sequence $\phi_1,\ldots,\phi_k=\phi$ such that each $\phi_i$ is in
$\Gamma$ or is an (instance of an) axiom or is inferred by MP.  We
call the sequence an {\em $\mathcal{F}_0$-proof with hypotheses}.
\end{definition}

We would certainly like to know how to deal with implicational
tautologies when $\Gamma$ is an infinite set.  Fortunately, a
compactness result simplifies things.

\begin{theorem}[Compactness of tautological implication] If
$\Gamma\models\phi$, then there exists a finite subset
$\Gamma_0\subseteq \Gamma$ such that $\Gamma_0\models \phi$.
\end{theorem}
\begin{proof} The proof 
is left as an exercise.
\end{proof}

\begin{proposition}[Derived substitution rule]
\
\begin{enumerate}
\item If $\vdashsub{\mathcal{F}_0} A$ and $\sigma$ is a
substitution, then $\vdashsub{\mathcal{F}_0} A\sigma$.
\item If $\Gamma \vdashsub{\mathcal{F}_0} \phi$, then
$\Gamma\sigma\vdashsub{\mathcal{F}_0} \phi\sigma$.
\end{enumerate}
\end{proposition}

\begin{proof} Part 1 proceeds by applying $\sigma$ to the whole
$\mathcal{F}_0$-proof.  Start with the sequence
$\phi_1,\phi_2,\ldots,\phi_k=A$ and replace $\phi_i$ with
$\phi_i\sigma$ to obtain
$\phi_1\sigma,\phi_2\sigma,\ldots,\phi_k\sigma = A\sigma$.  Part 2
proceeds similarly.
\end{proof}

Note that a double substitution into a schematic axiom, such as
$\phi_i$ replaced with $\phi_i\sigma$ can be simplified to a
single substitution.  Define
\begin{eqnarray*}
\sigma: x_i  \mapsto  x_i\sigma & = & \phi_i, \qquad\mbox{and}\\
\tau: x_i  \mapsto  x_i\tau & = & \psi_i.
\end{eqnarray*}
Then the double substitution $(A\sigma)\tau)$ can be written as
$A(\sigma\tau)$ since
$$ (\sigma\tau):x_i\mapsto \phi_i\tau = x_i \sigma\tau.  $$

The implicational soundness and completeness theorems are as
follows.

\begin{theorem}[Implicational soundness of $\mathcal{F}_0$]
If $\Gamma\vdashsub{\mathcal{F}_0}\phi$, then $\Gamma\models\phi$.
\end{theorem}

\begin{proof}
The proof proceeds by induction on the number of steps in the
$\mathcal{F}_0$-proof.
\end{proof}

\begin{theorem}[Implicational completeness of $\mathcal{F}_0$]
If $\Gamma\models\phi$, then $\Gamma\vdashsub{\mathcal{F}_0}\phi$.
\end{theorem}
\begin{proof}
The proof is deferred until Lecture \#2.
\end{proof}


\end{document}


