
%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{14 January 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{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{Introduction to Propositional Logic}

\subsection{Symbols and Definitions}

The language of propositional logic consists of connectives,
propositional variables, parentheses and formulas, shown in the
table below.
\begin{table}[h]
\begin{center}
\begin{tabular}{|l|l|}
\hline connectives & $\vee,\wedge,\neg,\rightarrow$ \\
variables & $x_1,x_2,\ldots$ \\
parentheses & $(,)$ \\
formulas & $(\phi\wedge \psi)$, $(\phi \vee \psi)$,
$(\phi\rightarrow\psi)$, $(\neg\phi)$, etc.\\\hline
\end{tabular}
\end{center}\caption{Components of Statements of Propositional
Logic}
\end{table}
The meanings of the symbols are given by their corresponding truth
tables.  The $\vee$ (``logical or''), $\wedge$ (``logical and'')
and $\rightarrow$ (``logical implication'') operators are binary,
while the $\neg$ (``logical negation'') operator is unary.  The
truth tables for these operators are constructed by exhaustively
assigning all possible truth values to the variables and listing
the result defined by the operator.
\begin{table}[h]
\begin{center}
\begin{tabular}{c|c||c}
$x_1$ & $x_2$ & $x_1 \vee x_2$ \\ \hline T & T & T \\
T & F & T \\
F & T & T \\
F & F & F
\end{tabular}\hskip .2in
\begin{tabular}{c|c||c}
$x_1$ & $x_2$ & $x_1 \wedge x_2$ \\ \hline T & T & T \\
T & F & F \\
F & T & F \\
F & F & F
\end{tabular}\hskip .2in
\begin{tabular}{c|c||c}
$x_1$ & $x_2$ & $x_1 \rightarrow x_2$ \\ \hline T & T & T \\
T & F & F \\
F & T & T \\
F & F & T
\end{tabular}\hskip .2in
\begin{tabular}{c||c}
$x_1$ & $\neg x_1$ \\ \hline T & F \\
F & T
\end{tabular}
\end{center}
\end{table}

A {\em truth assignment} $$
\tau:\{x_1,x_2,\ldots\}\rightarrow\{\mbox{T},\mbox{F}\}$$ assigns
logical truth values to the variables.  A truth assignment $\tau$
extends to a truth assignment
$\overline{\tau}:\{\phi\}\rightarrow\{\mbox{T},\mbox{F}\}$ on the
set of formulas $\{\phi\}$ by assigning truth values to variables
in the formula and determining the truth of the formula by
invoking the definitions of the connectives.  The truth of a
compound formula depends on the truth of its constituents.  For
example,
$$\overline{\tau}(\phi\rightarrow\psi) =
\left\{
\begin{array}{cl} \mbox{T} & \mbox{if
$\overline\tau(\phi)=$F or $\overline\tau(\psi)=$T} \\
\mbox{F} & \mbox{otherwise.}\end{array}\right.
$$

Two other common symbols, $\oplus$ and $|$, are the ``exclusive
or'' and ``nand'' binary operators expressible in terms of the
first four symbols. Specifically, $x_1|x_2:=\neg(x_1\wedge x_2)$
and $x_1\oplus x_2:=\neg((x_1\wedge x_2)\vee (x_1|x_2))$.

\subsection{SAT, TAUT, $\mathcal{P}$ and $\mathcal{NP}$}

Statements in propositional logic, or {\em predicates}, which are
of special interest are those for which there exists a truth
assignment for which the predicate is true, and those for which
the predicate is true for all truth assignments.

\begin{definition}
The predicate $\phi$ is a {\em
tautology} if for all truth assignments $\tau$,
$\overline{\tau}(\phi)=\mbox{T}$.
\end{definition}

\begin{definition}
The predicate $\phi$ is {\em
satisfiable} if there exists a truth assignment $\tau$ such that
$\overline{\tau}(\phi)=\mbox{T}$.
\end{definition}

Based on their definitions, tautologies and satisfiable predicates
are related as follows.

\begin{fact}
If $\phi$ is a tautology then $(\neg\phi)$
is not satisfiable.
\end{fact}

\begin{definition}
{\em TAUT} is the set of all
tautologies.
\end{definition}

\begin{definition}
{\em SAT} is the set of all
satisfiable formulas.
\end{definition}

The problem of recognizing a member of SAT is fundamental in
computational complexity. $\mathcal{P}$ is defined to be the set
of all predicates that are polynomial time recognizable.  In this
context, a predicate is a decision procedure yielding either `T'
or `F'.  {\em Polynomial time recognizable} means there exists an
algorithm implementing the decision procedure which is bounded in
the number of steps by a polynomial in the size of the input.

\begin{example}
Let WFF, the set of well-formed formulas,
be defined as the set of strings which are validly formed formulas
build on connectives, parentheses and variables.  Then the
predicate WFF is a member of $\mathcal{P}$.
\end{example}

\begin{definition}
$\mathcal{NP}$ is the set of
predicates $Q$ which can be expressed as
$$ Q(x) = (\exists y, |y|<p(|x|))R(x,y),  $$
where $p$ is a polynomial, $|x|$ is the length of $x$ viewed as a
string, $y$ is the ``witness'' to $x$, and $R$ is a polynomial
time algorithm which verifies that $y$ is a witness to $x$.  Thus
$Q(x)=\mbox{T}$ if and only if a witness $y$ exists such that the
time property $R(x,y)$ holds.
\end{definition}

To show that SAT is in $\mathcal{NP}$, simply express it in the
above form; e.g.,
$$ SAT(X)\equiv (\exists y,(|y|\leq |x|)) TRU(x,y),$$
where $TRU(x,y)$ is the algorithm which verifies that $y$ encodes
a truth assignment which satisfies $x$.  We may take $y$ to be
weakly less than $x$ in length, because it can simply encode truth
values of the variables in the formula $x$ as binary digits.

\begin{homework}
Turn in a proof of
$\mathcal{P}=\mathcal{NP}$ or $\mathcal{P}\neq \mathcal{NP}$ for
\$1,000,000 (from the Clay Mathematics Institute) and an A+.
\end{homework}

\section{Propositional Proof Systems}

One purpose of propositional proof systems is to provide evidence
of the membership of a formula $\phi$ in the set of tautologies
TAUT.  Of particular interest is the size of the proof of a
tautology.

\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}


