%Proof Complexity Scribe Notes template

% SEE THE "FOR THE SCRIBE SECTION BELOW"

\ifx\CompleteCourse\relax
\ClassScribeSetupA
\else
\documentclass[11pt]{article}
\usepackage{latexsym}

\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}}
\newenvironment{claim}{\begin{trivlist}\item[]{\bf Claim}\ }%
{\end{trivlist}}
\newenvironment{proof-complexity}{\begin{trivlist}\item[]{\bf Proof Complexity}\ }%
{\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{Sashka Davis}    % Who is the scribe?
\def\classdate{16 January 2002} % Date of the class
\def\classnumber{2}     % 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 Frege Proof Systems}

Last time we stated the Completeness and the Soundness theorems for the Frege 
Proof Systems, today we focus on the Completeness Theorem. The main
point of the  Completeness Theorem is that there exists a  Frege Proof
System which is complete. 

We begin with an example of $\mathcal{F}_0$-proof.
The axioms of the Frege system we will use, are the Schematic Tautologies, 
defined in the previous lecture ({\bf Ax1} denoting the first 
axiom, {\bf  Ax2} the second, etc.).

\begin{example}
       $(A \rightarrow A)$ has an $\mathcal{F}_0$-proof.
\end{example}
\begin{proof}
\\
The following five lines form an $\mathcal{F}_0$-proof of $(A \rightarrow A)$.
\\ \indent $A \rightarrow ( A \! \rightarrow \! A ) \rightarrow A$, 
      an instance of axiom {\bf  Ax1}
\\ \indent $A \rightarrow A \rightarrow A$,
      an instance of axiom {\bf  Ax1}
\\ \indent $(A \! \rightarrow \! (A \! \rightarrow \! A) \! )\rightarrow
           (A \! \rightarrow \! (A \! \rightarrow \! A) \! \rightarrow \! A) \!)
           \rightarrow (A  \!\rightarrow \! A) $,
       an instance of axiom {\bf  Ax2}
\\ \indent $ (A \rightarrow (A \! \rightarrow \!A) \rightarrow A)
            \rightarrow (A \! \rightarrow \! A) $,
       by  {\bf MP}
\\ \indent $ A \! \rightarrow \! A$. $\Box$
\begin{proof-complexity}
    The $\mathbf{\mathcal{F}_0}$-proof has $O(1)$ lines and $O(|A|)$ symbols.
\end{proof-complexity}

\end{proof}


\begin{theorem}[Deduction Theorem] 
      $\Gamma \vdashsupsub{}{\mathcal{F}_0} A \rightarrow B$ 
      iff
      $\Gamma, A \vdashsupsub{}{\mathcal{F}} B$.
\end{theorem}

\begin{proof}
\begin{enumerate}
\item {

      $\Gamma \vdashsupsub{}{\mathcal{F}_0} A \rightarrow B \Longrightarrow
      \Gamma, A \vdashsupsub{}{\mathcal{F}} B$.
      \\
Suppose an ${\mathcal{F}_0}$-proof of 
   $\Gamma \vdashsupsub{}{\mathcal{F}_0} A \rightarrow B$ is given by lines
(1)-(3). We can form an  ${\mathcal{F}_0}$ proof of 
$\Gamma, A \vdashsupsub{}{\mathcal{F}} B$ by adding two lines as shown:
\begin{eqnarray}
\mathcal{F}_0: &\Gamma \\
	      & \vdots \\
	      & A \rightarrow B \\
	      & A \\
	      & B
\end{eqnarray} 
\\
      Line $(4)$ is the added new hypothesis. Line (5) is derived by MP. 
      Thus we obtain $\mathcal{F}_0$-proof for 
      $\Gamma, A \vdashsupsub{}{\mathcal{F}} B$.
  \begin{proof-complexity}
      $O(n)$ lines and $O(nm)$ symbols.
  \end{proof-complexity}
}

\item{

      $\Gamma , A \vdashsupsub{}{\mathcal{F}_0} B 
      \Longrightarrow
      \Gamma \vdashsupsub{}{\mathcal{F}} A \rightarrow B$.

Proof Idea: Let the $\mathcal{F}_0$-proof of 
           $\Gamma , A \vdashsupsub{}{\mathcal{F}_0} B $ be a sequence
           $B={\varphi}_1,\, \ldots \, , {\varphi}_n$. We shall use the 
           substitution rule and replace each $\varphi_i$ by 
           $ A \! \rightarrow \! \varphi_i$.  
           The sequence of formulas $ A \! \rightarrow \! \varphi_i$ is not
           a valid proof, but it can be converted into a valid proof as follows.
           Each $\varphi_i$ either is $A$, or is inferred from $A$ 
           by MP, or is an axiom, or is a member of $\Gamma$. Thus
           to patch the proof we need to exhaust the following four cases.
\begin{itemize}
\item{
       Case 1: $\varphi_i$ is A
      \\Then we re-use the 5-line proof of $A \! \rightarrow A $.
}

\item{
       Case 2: $\varphi_i$ is inferred by MP:
$\begin{array}{rr}
    \varphi_j & \varphi_k = \varphi_j \rightarrow \varphi_i \\ \hline
    \multicolumn{2}{c}{\varphi_i}
\end{array}$, $j,k < i$
\\  $A \rightarrow \varphi_j $ 
\\  $ A \rightarrow \varphi_j \rightarrow \varphi_i$ 
\\  $ ( A \! \rightarrow \! \varphi_j ) \rightarrow  
             ( A \! \rightarrow \! (\varphi_i \rightarrow \varphi_j )) 
             \rightarrow (A \rightarrow \varphi_i)$, by { \bf Ax2 }
\\ \indent $  A \rightarrow \varphi_i $, by {\bf MP}.

}
\item{
       Case 3: $\varphi_i$ is an axiom 
\\  $\varphi_i \rightarrow ( A \rightarrow \varphi_i )$ , by  { \bf Ax1 }.
\\ So $\varphi_i$ can be replaced by the three line proof of 
                $A \! \rightarrow \!  \varphi_i $.
}

\item{
       Case 4: $\varphi_i \in \Gamma$
\\  $\varphi_i \rightarrow ( A \rightarrow \varphi_i )$ , by  { \bf Ax1 }.
}
\end{itemize}
$\Box$
  \begin{proof-complexity}
\\
        Each line in the original $\mathcal{F}_0$-proof becomes either 
        three or five lines in the $\mathcal{F}_0$-proof of 
         $\Gamma \vdashsupsub{}{\mathcal{F}_0} A \rightarrow B$. 
        The proof complexity remains $O(n)$ lines and $O(nm)$ symbols.
  \end{proof-complexity}
}
\end{enumerate}
\end{proof}

\subsection {Usage of the Deduction Theorem}

Let ${\bigwedge \!\!\!\! \bigwedge}^{k}_{i=1} A_i$, denotes any 
parenthesization of the conjunction of $A_1, \, \ldots, \, A_n$.
\\
\begin{example}
      Given 
           $\vdashsub{\mathcal{F}_0} {\bigwedge \!\!\!\! \bigwedge}^{k}_{i=1} 
                     A_i \rightarrow A_{i0}$, 
      with proof complexity $O(k)$ lines and $O(k |B|)$ symbols, where 
      $B= {\bigwedge \!\!\!\! \bigwedge}^{k}_{i=1} A_i$, prove that
      ${\bigwedge \!\!\!\! \bigwedge}^{k}_{i=1} A_i 
        \vdashsub{\mathcal{F}_0} A_{i0}$.
\end{example}
\begin{proof}
       We follow the $\mathcal{F}_0$-proof. 
       Begin with ${\bigwedge \!\!\!\! \bigwedge}^{k}_{i=1} A_i$.
       Repeatedly use the axioms ($A \wedge B \rightarrow B$) and 
                  ($A \wedge B \rightarrow A $) with MP.
       All the lines are well behaved. $\Box$
\end{proof}

\section {The Completeness and Implicational Completeness Theorems}

Recall that the Completeness theorem states:
$\phi \in TAUT \Longrightarrow \vdashsub{\mathcal{F}_0}\phi$,
for some proof $\mathcal{F}_0$.
Now we state and prove the Implicational Completeness Theorem.

\begin{theorem}[Implicational Completeness Theorem]
      If $\Gamma \models A$ then $\Gamma \vdashsup{\mathcal{F}_0} A.$
\end{theorem}
\begin{proof}
      If $\Gamma \models A$, then there exists a finite $\Sigma$,
         $\Sigma \subset \Gamma$,
      s.t. $\Sigma \models A$. So w.l.o.g. $\Gamma$ is finite. Let
      $\Gamma = \{ B_1, \, \ldots \, B_k\}$, then 
      $\models B_1 \rightarrow ( B_2 \rightarrow ( \ldots 
               \rightarrow(B_k \rightarrow A) \, \ldots \, ))$.
\\
      By the Completeness Theorem there exists an $\mathcal{F}_0$-proof of
      the tautology. 
      By applying the Deduction Theorem $k$ times we obtain
      $\Gamma \vdashsup{\mathcal{F}_0} A$. $\Box$
\end{proof}

\begin{theorem}[Completeness Theorem]
	$ A \in TAUT$, then $\vdashsub{\mathcal{F}_0} A $.
\end{theorem}
\begin{proof}
      We mimic the method of the Truth Table proofs. We consider all possible 
      truth assignments. Let $A = A(x_1, \ldots, x_k)$ and $A \in TAUT$.
      Let $\tau$ is a truth assignment, and 
      \[ x_i^{\tau} = \left\{ \begin{array}{ll}
                       x_i         & \mbox{if $\tau(x_i)$ = T}\\
                       \neg{x_i}  & \mbox{if $\tau(x_i)$ = F}
                      \end{array}
                     \right. \]
              
      \[ A^{\tau} = \left\{ \begin{array}{ll}
                       A         & \mbox{if $\tau(A)$ = T}\\
                       \neg {A}  & \mbox{if $\tau(A)$ = F}
                      \end{array}
                     \right. \]
\\
The proof follows from the following three claims:
\begin{claim}
If $\vdashsub{\mathcal{F}_0} {\bigwedge \!\!\!\! \bigwedge}^{k}_{i=1} 
           x_i^{\tau} \rightarrow A^{(\tau)} $
         then
            ${\bigwedge \!\!\!\! \bigwedge}^{k}_{i=1} x_i^{\tau} 
              \vdashsub{\mathcal{F}_0} A^{(\tau)} $
\end{claim}
\begin{proof}
    The proof of the  claim is based on the complexity of $A$.
\\ \indent Base case: If $A$ is atomic then $A$ is one of the $x_i$.
\\ \indent Suppose $A = B \bullet C$, where $\bullet$ is one of 
           $\{ \vee, \wedge, \rightarrow, \neg \} $, then 
           $ B^{\tau}, C^{\tau} \vdashsup{\mathcal{F}_0}  A^{\tau}$.
\\ \indent For each connective there are four cases for  $B$ and $C$. 
           For example let ''$\bullet$`` = ''$\rightarrow$`` then:
\\ \indent \indent $ B,  C \vdashsub{\mathcal{F}} (B \rightarrow C)$
\\ \indent \indent $ B, \neg C \vdashsub{\mathcal{F}} \neg (B \rightarrow C)$
\\ \indent \indent $ \neg B,  C \vdashsub{\mathcal{F}}( B \rightarrow C)$
\\ \indent \indent $ \neg B, \neg C \vdashsub{\mathcal{F}}( B \rightarrow C)$
\end{proof}
\begin{proof-complexity}
      The base case contributes $O(k)$ line, and
      for each connective the proof grows by finitely many lines, thus
      the total number of lines is $O(k+ |A|) = O(|A|)$. Each line has
      $O(|A|)$ symbols, thus in total the proof has $O(|A|^2)$  symbols.
      However, we have to repeat this for all $2^k$ truth assignments to
      $x_1, x_2, \cdots, x_k$.
\end{proof-complexity}
The following two claims would be used without a proof:
\begin{claim}
      $\vdashsub{\mathcal{F}_0}  ((Z \wedge C) \rightarrow D) \rightarrow
                                 (( \neg Z \wedge C) \rightarrow D )
                                 \rightarrow (C \rightarrow D)$
\end{claim}

\begin{claim}
      $\vdashsub{\mathcal{F}_0}  ((Z \rightarrow A) \rightarrow
                                 ( \neg Z \rightarrow A ) \rightarrow A$
\end{claim}
Now associating the conjunctions, 
${\bigwedge \!\!\!\! \bigwedge}^{k}_{i=1} x_i^{\tau}$, 
from right to left w.l.o.g. we obtain:
\\$\pm x_1 \wedge ( \pm x_2 \wedge ( \ldots (\pm x_{k-1} \wedge \pm x_k) \ldots ) \rightarrow A$.
We peel off all the variables one by one to obtain $A$.
\\
E.g. the last steps (using the second claim) are: 
\[ \left.
              \begin{array}{l}
                 x_{k-1} \wedge x_{k} \rightarrow A \\
                 \neg x_{k-1} \wedge x_{k} \rightarrow A
              \end{array}
\right\}   x_{k} \rightarrow A
\]

\[ \left.
              \begin{array}{l}
                 x_{k-1} \wedge \neg x_{k} \rightarrow A \\
                 \neg x_{k-1} \wedge \neg  x_{k} \rightarrow A
              \end{array}
\right\}   \neg x_{k} \rightarrow A
\]
thus
           $\vdashsub{\mathcal{F}_0} x_k \rightarrow A$
and         $\vdashsub{\mathcal{F}_0} \neg x_k \rightarrow A$.
From this and the third claim,  $\vdashsub{\mathcal{F}_0} A$.
\\
$\Box$

\begin{proof-complexity}
       The last part of the proof contributes
       $O(2^k)$ new lines, with $O(|A|)$ symbols per line. Thus $A$ has 
       $\mathcal{F}_0$-proof of $O(|A| 2^k)$ lines. The total number of 
       symbols is $O(|A|^2 2^k)$, where  $k$ is the number of 
       distinct variables in $A$.
\end{proof-complexity}
\end{proof}

\section{Observations}
The Completeness Theorem states that all valid tautologies can be proved.
We observe that the size bounds of the $\mathcal{F}_0$-proofs are the 
same as the size bounds of the Truth Table Proofs (TTP). 
However, the $\mathcal{F}_0$ can be separated from the TTP.
We demonstrate the separation by the following example.
\begin{example}
  $\phi = (A_1 \wedge \neg A_1) \vee (A_2 \wedge A_3 \wedge \cdots \wedge  A_k)$.
\end{example}
$\phi$ has a short  $\mathcal{F}_0$-proof and exponentially large 
TTP. Thus in the best case  $\mathcal{F}_0$-proofs are better than TTP, but
it is an open question whether they are better than TTP in the worst case.

A Proof System must be {\it sound} and the proofs ought to be
{\it checkable efficiently}  (in polynomial time).  
{\it Completeness} is another property which is nice and desirable, 
but not required.

\section {P-simulate}
The next theorem states that Truth Table Proofs (TTP) can be converted into 
$\mathcal{F}_0$ proofs by a polynomial time algorithm.
\begin{theorem}[Simulation]
      Frege Proof Systems p-simulate Truth Table Proofs. 
\end{theorem}
The converse does not hold as it can be seen from the example above.
Thus TTP do not simulate  Frege Proof System.
\begin{definition}
      An abstract propositional proof system over the propositional 
      language \\ $L= \{ \vee, \wedge, \rightarrow, \neg \}$
      is a polynomial time computable function $f$ with domain strings
      of symbols and $range(f) \subset TAUT$.
\end{definition}

\begin{definition}
      The function $f$ is complete if the  $range(f) = TAUT$.
\end{definition}

\begin{definition}
      An $f$-proof of a formula $\varphi$ is any $x$ s.t. $f(x)=\varphi$.
\end{definition}

\begin{definition}
$\mathcal{F}_0$ as an abstract proof system is defined as:
\[ f_{\mathcal{F}_0}(x) = \left\{ 
     \begin{array}{ll}
       \varphi & 
              \mbox{if $x$ codes a valid  $\mathcal{F}_0$-proof of $\varphi$ } \\
       (x_1 \vee \neg x_1) & \mbox{ otherwise}
     \end{array}
    \right. \]
\end{definition}
\vspace{0.3cm}
This idea for constructing an abstract proof systems works for many other
proof systems too. For example, let $ZF$ be the usual theory of set theory,
then

\[ 
  f_{{ZF}}(x) = \left\{ 
     \begin{array}{ll}
       \varphi & 
              \mbox{if $x$ codes a valid  ${ZF}$ proof of 
                       ''$\varphi$ is a tautology`` } \\
       (x_1 \vee \neg x_1) & \mbox{ otherwise}
     \end{array}
    \right. 
\]
is an abstract proof system.

\end{document}

