Révision 126

CSL16/conclusions.tex (revision 126)
21 21
From the point of view of constructing theories for complexity classes, the choice of linear logic and witness function method satisfies two particular desiderata:
22 22

  
23 23
\begin{enumerate}
24
\item\label{item:crit-implicit-complexity} Complexity controlled by `implicit' means, not explicit bounds.
24
\item\label{item:crit-implicit-complexity} Complexity is controlled by `implicit' means, not explicit bounds.
25 25
%, e.g.\ modalities or ramification, as in \cite{Leivant94:found-delin-ptime}. 
26 26
\item\label{item:crit-ground-type} Extraction of programs relies on functions of only ground type.
27 27
\end{enumerate}
......
34 34

  
35 35

  
36 36

  
37
Most works on the relationships between linear logic and complexity fit in the approach of the proofs-as-programs correspondence and study variants of linear logic with weak exponential modalities \cite{GirardSS92:bounded-ll} \cite{Girard94:lll} \cite{Lafont04}. However, Terui considers a na\"ive set theory \cite{Terui04} that also characterises $\FP$ and is based on light linear logic.\footnote{He also presents a cut-elimination result but, interestingly, it is entirely complementary to that which we present here: he obtains full cut-elimination since he works in a system without full exponentials and with Comprehension as the only nonlogical rule. Since the latter admits a cut-reduction step, the former ensures that cut-elimination eventually terminates by a \emph{height-based} argument, contrary to our argument that analyses the \emph{degrees} of cut-formulae.} His approach relies on functionals at higher type, using light linear logic to type the extracted functionals. Another work using linear logic to characterize  complexity classes by using convergence proofs is \cite{Lasson11} but it is tailored for second-order logic.
37
Most works on the relationships between linear logic and complexity fit in the approach of the proofs-as-programs correspondence and study variants of linear logic with weak exponential modalities \cite{GirardSS92:bounded-ll} \cite{Girard94:lll} \cite{Lafont04}. However, Terui considers a na\"ive set theory \cite{Terui04} that also characterises $\FP$ and is based on \emph{light linear logic}.\footnote{He also presents a cut-elimination result but, interestingly, it is entirely complementary to that which we present here: he obtains full cut-elimination since he works in a system without full exponentials and with Comprehension as the only nonlogical rule. Since the latter admits a cut-reduction step, the former ensures that cut-elimination eventually terminates by a \emph{height-based} argument, contrary to our argument that analyses the \emph{degrees} of cut-formulae.} His approach relies on functionals at higher type, using the propositional fragment of the logic to type the extracted functionals. Another work using linear logic to characterize  complexity classes by using convergence proofs is \cite{Lasson11} but it is tailored for second-order logic.
38 38
 The status of first-order theories is more developed for other substructural logics, for instance \emph{relevant logic} \cite{FriedmanM92}, although we do not know of any works connecting such logics to computational complexity.
39 39

  
40 40
%Most works on the relationships between linear logic and complexity concern the construction of \emph{type systems}, e.g.\ bounded linear logic \cite{GirardSS92:bounded-ll}, light linear logic and elementary linear logic \cite{Girard94:lll}, soft linear logic \cite{Lafont04}. However, Terui considers a na\"ive set theory \cite{Terui04} that is also sound and complete for polynomial time and is based on light linear logic. His approach relies on functionals at higher type, using light linear logic to type the extracted functionals.\footnote{He also presents a cut-elimination result but, interestingly, it is entirely complementary to that which we present here: he obtains full cut-elimination since he works in a system without full exponentials and with Comprehension as the only nonlogical axiom. Since the latter admits a cut-reduction step, the former ensures that cut-elimination eventually terminates by a \emph{height-based} argument, contrary to our argument that analyses the \emph{degrees} of cut-formulae.} The status of first-order theories is more developed for other substructural logics, for instance \emph{relevant logic} [cite?], although we do not know of any works connecting such logics to computational complexity.
41 41

  
42
Concerning the relationship between linear logic and safe recursion, note that an embedding of a variant of safe recursion into light linear logic has been carried studied in \cite{Murawski04}, but this is in the setting of functional computation and is quite different from the present approach. Observe however that a difficulty in this setting  was the non-linear treatment of safe arguments which here we manage by including in our theory a duplication axiom for $W$. 
42
Concerning the relationship between linear logic and safe recursion, we note that an embedding of a variant of safe recursion into light linear logic has been carried studied in \cite{Murawski04}, but this is in the setting of functional computation and is quite different from the present approach. Observe, however, that a difficulty in this setting  was the nonlinear treatment of safe arguments which here we manage by including in our theory an explicit contraction axiom for $W$. 
43 43

  
44 44
We have already mentioned the work of Bellantoni and Hofmann \cite{BelHof:02}, which was somewhat the inspiration behind this work. Our logical setting is very similar to theirs, under a certain identification of symbols, but there is a curious disconnect in our use of the additive disjunction for the $\surj$ axiom. They rely on just one variant of disjunction. As we said, they rely on a double-negation translation and thus functionals at higher-type.
45 45

  
......
68 68
%\todo{finish!}
69 69

  
70 70
%
71
In further work we would like to apply the free-cut elimination theorem to theories based on other models of computation, namely the formula model employed in bounded arithmetic \cite{Buss86book}. We believe that the WFM could be used at a much finer level in this setting,\footnote{One reason for this is that atomic formulae are decidable, and so we can have more freedom with the modalities in induction steps.} and extensions of the theory for other complexity classes, for instance the polynomial hierarchy, might be easier to obtain.
71
In further work we would like to apply the free-cut elimination theorem to theories based on other models of computation, namely the formula model employed in bounded arithmetic \cite{Buss86book}. We believe that the witness function method could be used at a much finer level in this setting,\footnote{One reason for this is that atomic formulae are decidable, and so we can have more freedom with the modalities in induction steps.} and extensions of the theory for other complexity classes, e.g.\ the polynomial hierarchy, might be easier to obtain.
72 72
%
73 73
%Say something about minimisation and the polynomial hierarchy. Could be achieved by controlling contraction/additives, since this requires a notion of tests.
74 74
%
CSL16/final-version/preliminaries.tex (revision 126)
1
\section{Preliminaries}
2
\label{sect:preliminaries}
3
%
4
%\todo{consider removing and just have a section on linear logic, including free-cut elimination.}
5

  
6

  
7
%
8
%
9
%\paragraph*{Notation}
10
%Fix conventions here for use throughout:
11
%\begin{itemize}
12
%\item Eigenvariables: $a, b , c$.
13
%\item (Normal) variables: $u,v,w$. (only when distinction is important, e.g.\ $u^{!\nat}$).
14
%\item (Safe) variables: $x,y,z$. (as above, e.g.\ $x^\nat$.)
15
%\item Terms: $r,s,t$.
16
%\item Formulae: $A,B,C$.
17
%\item Atomic formulae: $p,q$.
18
%\item Free variables in a term, formula, sequent: $FV(u)$, $FV(A)$, $FV(\Gamma)$
19
%\item Sequents: $\Gamma, \Delta, \Sigma, \Pi$.
20
%\item lists of formulas $A(\vec{x})$, $!A(\vec{x})$ (in particular for $A=N$).
21
%\item Proofs: $\pi, \rho, \sigma$.
22
%\item Theories: $\mathcal T$. Sequent systems: $\mathcal S$.
23
%\end{itemize}
24
%
25
%\subsection{Linear logic}
26

  
27
%\anupam{use a system that is already in De Morgan form, for simplicity.}
28
%\anupam{Have skipped units, can reconsider this when in arithmetic. Also in affine setting can be recovered by any contradiction/tautology.}
29

  
30
We formulate linear logic without units with usual notation for the multiplicatives, additives and exponentials from \cite{Girard87}. We restrict negation to the atoms, so that formulae are always in De Morgan normal form, 
31
%and this is reflected in the sequent system below. We have included 
32
and we also consider
33
rules for arbitrary weakening when working in affine settings.
34

  
35
%\anupam{positive and negative.}
36

  
37

  
38

  
39

  
40

  
41
\begin{definition}
42
%[Sequent calculus for linear logic]
43
%[Sequent calculus for affine linear logic]
44
\label{def:LLsequentcalculus}
45
The sequent calculus for (affine) linear logic is as follows:\footnote{We consider a two-sided system since it is more intuitive for certain nonlogical rules, e.g.\ induction, and also convenient for the witness function method we use in Sect.~\ref{sect:wfm}.}
46
\[
47
\small
48
\begin{array}{l}
49
\begin{array}{cccc}
50
\vlinf{\lefrul{\bot}}{}{p, \lnot{p} \seqar }{}
51
& \vlinf{\id}{}{p \seqar p}{}
52
& \vlinf{\rigrul{\bot}}{}{\seqar p, \lnot{p}}{}
53
& \vliinf{\cut}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi}
54
\\
55
\noalign{\bigskip}
56
%\text{Multiplicatives:} & & & \\
57
%\noalign{\bigskip}
58
\vliinf{\lefrul{\lor}}{}{\Gamma,\Sigma, A \lor B \seqar \Delta, \Pi}{\Gamma, A \seqar \Delta}{\Sigma , B \seqar \Pi}
59
&
60
\vlinf{\lefrul{\land}}{}{\Gamma, A\land B \seqar \Delta}{\Gamma, A , B \seqar \Delta}
61
&
62
\vlinf{\rigrul{\lor}}{}{\Gamma \seqar \Delta, A \lor B}{\Gamma \seqar \Delta, A, B}
63
&
64
\vliinf{\rigrul{\land}}{}{\Gamma, \Sigma \seqar \Delta , \Pi , A \land B}{\Gamma \seqar \Delta , A}{\Sigma \seqar \Pi , B}
65
\\
66
\noalign{\bigskip}
67
%\text{Additives:} & & & \\
68
%\noalign{\bigskip}
69
\vliinf{\lefrul{\laor}}{}{\Gamma, A \laor B \seqar \Delta}{\Gamma , A \seqar \Delta}{\Gamma, B \seqar \Delta}
70
&
71
\vlinf{\lefrul{\laand}}{}{\Gamma, A_1\laand A_2 \seqar \Delta}{\Gamma, A_i \seqar \Delta}
72
&
73
%\vlinf{\lefrul{\laand}}{}{\Gamma, A\laand B \seqar \Delta}{\Gamma, B \seqar \Delta}
74
%\quad
75
\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A_1\laor A_2}{\Gamma \seqar \Delta, A_i}
76
&
77
%\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A\laor B}{\Gamma \seqar \Delta, B}
78
%\quad
79
\vliinf{\rigrul{\laand}}{}{\Gamma \seqar \Delta, A \laand B }{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, B}
80
\\
81
\noalign{\bigskip}
82
%\text{Exponentials:} & & & \\
83
%\noalign{\bigskip}
84
\vlinf{\lefrul{?}}{}{!\Gamma, ?A \seqar ?\Delta}{!\Gamma , A \seqar ?\Delta}
85
&
86
\vlinf{\lefrul{!}}{}{\Gamma, !A \seqar \Delta}{\Gamma, A \seqar \Delta}
87
&
88
\vlinf{\rigrul{?}}{}{\Gamma \seqar \Delta, ?A}{\Gamma \seqar \Delta, A}
89
&
90
\vlinf{\rigrul{!}}{}{!\Gamma \seqar ?\Delta, !A}{!\Gamma \seqar ?\Delta, A}
91
\\
92
\noalign{\bigskip}
93
%\text{Structural:} & & & \\
94
%\noalign{\bigskip}
95

  
96
%\vlinf{\lefrul{\wk}}{}{\Gamma, !A \seqar \Delta}{\Gamma \seqar \Delta}  %% linear logic weakening
97
\vlinf{\lefrul{\wk}}{}{\Gamma, A \seqar \Delta}{\Gamma \seqar \Delta}
98
&
99
\vlinf{\lefrul{\cntr}}{}{\Gamma, !A \seqar \Delta}{\Gamma, !A, !A \seqar \Delta}
100
&
101
%\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, ?A }{\Gamma \seqar \Delta}   %% linear logic weakening
102

  
103
\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, A }{\Gamma \seqar \Delta}
104
&
105
\vlinf{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, ?A}{\Gamma \seqar \Delta, ?A, ?A}
106
\\
107
\noalign{\bigskip}
108
\vlinf{\lefrul{\exists}}{}{\Gamma, \exists x . A(x) \seqar \Delta}{\Gamma, A(a) \seqar \Delta}
109
&
110
\vlinf{\lefrul{\forall}}{}{\Gamma, \forall x. A(x) \seqar \Delta}{\Gamma, A(t) \seqar \Delta}
111
&
112
\vlinf{\rigrul{\exists}}{}{\Gamma \seqar \Delta, \exists x . A(x)}{ \Gamma \seqar \Delta, A(t)}
113
&
114
\vlinf{\rigrul{\forall}}{}{\Gamma \seqar \Delta, \forall x . A(x)}{ \Gamma \seqar \Delta, A(a) } \\
115
%\noalign{\bigskip}
116
% \vliinf{mix}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta}{\Sigma \seqar \Pi} &&&
117
\end{array}
118
\end{array}
119
\]
120
where $p$ is atomic, $i \in \{ 1,2 \}$, $t$ is a term and the eigenvariable $a$ does not occur free in $\Gamma$ or $\Delta$.
121
\end{definition}
122
%\todo{$\limp$ abbreviation for ...}
123
%\todo{bracketing}
124

  
125
We do not formally include a symbol for implication but we sometimes write $A \limp B$ as shorthand for $\lnot{A} \lor B$, where $\lnot A$ is the De Morgan dual of $A$. We often omit brackets under associativity, and when writing long implications we assume the right-most bracketing.
126

  
127
We will use standard terminology to track formulae in proofs, as presented in e.g.\ \cite{Buss98:intro-proof-theory}.
128
In particular, each rule has a distinguished \textit{principal formula}, e.g.\
129
  $A \lor B$ in the rule $\lefrul{\lor}$ (and similarly for all rules for the binary connectives) and $?A$ in the rule $\rigrul{\cntr}$, and \emph{active formulae}, e.g.\ $A$ and $B$ in $\lefrul{\lor}$ and so on. These induce the notions of (direct) descendants and ancestors in proofs, as in \cite{Buss98:intro-proof-theory}.
130
%The  \textit{direct ancestor} relation on occurrences of formulas in a proof is defined to keep track of identity of formulas from line to line, in the usual way.
131
  
132
       
133
  % Observe that we do not consider here any exchange rules, the sequence are made of multisets of formulas and exchanges are implicit. Note that this system is \textit{affine} in the sense that it includes general weakening rules $\rigrul{\wk}$ and  $\lefrul{\wk}$, while in linear logic   $\rigrul{\wk}$ (resp. $\lefrul{\wk}$) is restricted to formulas of the form $?A$ (resp. $!A$).   In the following though, by linear logic we will mean affine linear logic.
134
  \subsection{Theories and systems}
135
  
136
%  \anupam{need to add a note on semantics}
137
%  \anupam{mention equality rules}
138
%  \anupam{mention equality axioms and first-order theories and models at some point.}
139
  
140
 A \emph{language} is a set of nonlogical symbols (i.e.\ constants, functions, predicates) and a \emph{theory} is a set of closed formulae over some language. We assume that all theories contain the axioms of equality:
141
% \[
142
% \begin{array}{rl}
143
%\refl & \forall x . x = x \\
144
%\symm & \forall x, y. (x = y \limp y = x )\\
145
%\trans & \forall x , y , z . ( x = y \limp y = z \limp x = z ) \\
146
%\subst_f & \forall \vec x , \vec y . (\vec x = \vec y \limp f(\vec x) = f(\vec y) ) \\
147
%\subst_P & \forall \vec x , \vec y. (\vec x = \vec y \limp P(\vec x) \limp P(\vec y)  )
148
% \end{array}
149
%\left\{
150
\begin{equation}
151
\label{eqn:equality-theory}
152
\begin{array}{l}
153
\forall x . x = x \quad, \quad \forall x, y. (x = y \limp y = x )\quad, \quad \forall x , y , z . ( x = y \limp y = z \limp x = z ) \\ \forall \vec x , \vec y . (\vec x = \vec y \limp f(\vec x) = f(\vec y) )  \quad , \quad \forall \vec x , \vec y. (\vec x = \vec y \limp P(\vec x) \limp P(\vec y)  )
154
\end{array}
155
\end{equation}
156
%\right\}
157
% \]
158
  where $\vec x = \vec y$ is shorthand for $x_1 = y_1 \land \vldots \land x_n = y_n$.
159
    
160
\newcommand{\init}{\mathit{init}}    
161
We consider \emph{systems} of `nonlogical' rules extending Dfn.~\ref{def:LLsequentcalculus}, which we write as follows,
162
 \[
163
 \begin{array}{cc}
164
  \vlinf{\init}{}{ \seqar A}{}  &  \vlinf{(R)}{}{ !\Gamma , \Sigma' \seqar \Delta' , ? \Pi  }{ \{!\Gamma , \Sigma_i \seqar \Delta_i , ? \Pi \}_{i \in I} }
165
\end{array}
166
\]
167
 where, in each rule $(R)$, $I$ is a finite possibly empty set (indicating the number of premises) and we assume the following conditions and terminology:
168
 \begin{enumerate}
169
 \item In $(R)$ the formulas of $\Sigma', \Delta'$  are called \textit{principal}, those of $\Sigma_i, \Delta_i$ are called \textit{active}, and those of   
170
$ !\Gamma,  ? \Pi$ are called \textit{context formulas}. In $\init$ $A$ is called a principal formula.
171
\item Each rule $(R)$ comes with a list $a_1$, \dots, $a_k$ of eigenvariables such that each $a_j$ appears in exactly one $\Sigma_i, \Delta_i$ (so in some active formulas of exactly one premise)  and does not appear in  $\Sigma', \Delta'$ or $ !\Gamma,  ? \Pi$.
172
    \item A system $\system$ of rules must be closed under substitutions of free variables by terms (where these substitutions do not contain the eigenvariables $a_j$ in their domain or codomain).  
173
   \item  In $(R)$  the sequent $ \Sigma'$ (resp. $\Delta'$) does not contain any formula of the shape $?B$ (resp. $!B$), and  in $\init$ the formula $A$ is not of the form  $!B$.
174
 \end{enumerate}
175
 
176
%The distinction between modal and nonmodal formulae in $(R)$ induces condition 1
177
 Conditions 2 and 3 are standard requirements for nonlogical rules, independently of the logical setting, cf.\ \cite{Beckmann11}. Condition 2 reflects the intuitive idea that, in our nonlogical rules, we often need a notion of \textit{bound} variables in the active formulas (typically for induction rules), for which we rely on eigenvariables. Condition 3 is needed for our proof system to admit elimination of cuts on quantified formulas. Condition 4 
178
% and the conventions of 1 
179
 is peculiar to our linear logic setting in order to carry out certain proof-theoretic manipulations for the free-cut elimination argument in Sect.~\ref{sect:free-cut-elim}.
180
%  
181

  
182

  
183
 Observe that $\init$ rules can actually be seen as particular cases of $(R)$ rules, with no premise, so in the following we will only consider $(R)$ rules.
184
 
185
  
186
%  \patrick{Anupam: note that I had to strengthen the conditions for the rules (R). Condition (1) is needed 
187
%  to be able to commute a cut with (R), in the case where this cut is with a principal formula of a   ($\rigrul{!}$) rule. 
188
%  
189
%  Condition (2) is a sufficient condition to avoid the following situation: cut between a principal formula in say $\Delta'$ in the conclusion of an (R) rule (left premise), and a context formula in $!\Gamma$ in the conclusion of another (R) rule (right premise). Indeed this is not an anchored cut in our sense, but we cannot eliminate it in general (because we cannot commute the cut with (R) up the right premise).
190
%  }
191
  
192

  
193
  
194
    
195
    To each theory $\theory$ we formally associate the system of $\init$ rules $\seqar A$ for each $A \in \theory$.\footnote{Notice that this naively satisfies condition 3 since theories consist of only closed formulae.}  A proof in such a system will be called a \textit{ $\mathcal T$-proof}, or just {proof} when there is no risk of confusion.
196

  
197

  
198

  
199

  
200
%    
201
%  
202
%  In what follows we will be interested in an example of theory  $\mathcal T$ which is a form of arithmetic.
203
   
204
%   Let us give an example of a possible nonlogical rule that appears later in Sect.~\ref{sect:arithmetic}:
205
%   
206
%   \[
207
%	\vliinf{\ind}{}{ !\word(t), !\Gamma , A(\epsilon) \seqar A(t) , ?\Delta }{!\Gamma , !\word(a), A(a) \seqar A(s_0 a ), ?\Delta }{ !\Gamma , !\word(a), A(a) \seqar A(s_1 a ), ?\Delta }
208
%\]
209
%
210
%So here we have $I=\{0,1\}$ (two premises), $\Sigma_i=!\word(a), A(a)$ and $\Delta_i= A(s_i a )$ for $i=0,1$, $\Sigma'= !\word(t), A(\epsilon)$, $\Delta'= A(t)$. So condition 2 is satisfied provided $a\notin FV(!\Gamma, ?\Delta)$ and $a \notin FV(t)$. 
211

  
212

  
213
%\[
214
%	\vliinf{}{(x \notin \FV(\Gamma, \Delta))}{ !\Gamma , A(\epsilon) \seqar A(t) , ?\Delta }{ !\Gamma , A(x) \seqar A(s_0 x ), ?\Delta }{ !\Gamma, A(x) \seqar A( s_1 x ) , ?\Delta}
215
%	\]
216

  
217
  
218
%  A proof in such a system will be called a \textit{ $\mathcal T$-proof}, or just \textit{proof} when there is no risk of confusion.
219
%   The rules of Def. \ref{def:LLsequentcalculus} are called \textit{logical rules} while the rules (ax) and (R) of $\mathcal T$  are called \textit{non-logical}.
220
%  
221
%  As usual rules come with a notion of \textit{principal formulas}, which are a subset of the rules in the conclusion, e.g.:
222
%  $A \lor B$ in rule $\lefrul{\lor}$ (and similarly for all rules for connectives); $?A$ in rule $\rigrul{\cntr}$; all conclusion formulas in axiom rules;
223
%   $\Sigma', \Delta'$ in rule (R).
224
  
225
 
226
% \anupam{15/04: add definitions of theories and systems, unions, rules vs axioms etc. and abuses of notation:
227
% 	sometimes use same symbol for theory and system if fixed in advance;
228
% 	sometimes coincide axiom with initial rule;
229
% 	}
230

  
231

  
232
\begin{remark}
233
	[Semantics]
234
	The models we consider are usual Henkin models, with linear connectives interpreted by their classical counterparts. Consequently, we do not have any completeness theorem for our theories, but we do have soundness.
235
\end{remark}
236

  
237
 
238
\subsection{Some basic proof-theoretic results}
239
We briefly survey some well-known results for theories of linear logic.
240

  
241
A rule is \emph{invertible} if each of its upper sequents is derivable from its lower sequent.
242
\begin{proposition}
243
[Invertible rules, folklore]
244
\label{prop:invertible-rules}
245
The rules $\lefrul{\land}, \rigrul{\lor}, \lefrul{\laor}, \rigrul{\laand}, \lefrul{\exists}, \rigrul{\forall}$ are invertible.
246
\end{proposition}
247
We will typically write $\inv{c}$ to denote the inverse derivation for a logical symbol $c$.
248

  
249
%[cite Avron:`semantics and proof theory of linear logic']
250
%
251
%We will make much use of the deduction theorem, allowing us to argue informally within a theory for hypotheses that have been promoted.
252
%
253
%%$$
254
%%	\vliiinf{}{}{ \seqar A}{ \seqar C}
255
%%	$$
256
%
257
%%\[
258
%%	\vliiinf{R}{}{ !\Gamma , \Sigma' \seqar \Delta' , ? \Pi  }{ \{!\Gamma , \Sigma_i \seqar \Delta_i , ? \Pi \}_{i \in I} }
259
%%	\]
260

  
261
We also rely on the following result, which is also folklore but appeared before in \cite{Avron88}.
262

  
263
\begin{theorem}
264
	[Deduction, folklore]
265
	\label{thm:deduction}
266
	For any theory $\theory$ and closed formula $A $, $\mathcal T \cup\{A\}$ proves $B$ if and only if $\mathcal{T}$ proves $!A \limp B$.
267
\end{theorem}
268

  
269
%The occurrence of $!$ in the deduction theorem above is crucial; this restriction is one of the reasons it can be difficult to reason informally in theories over linear logic.
270

  
271

  
272
Due to these results notice that, in place of the equality axioms, we can work in a quantifier-free system of rules:
273
\begin{proposition}
274
	[Equality rules]
275
	\eqref{eqn:equality-theory} is equivalent to the following system of rules,
276
	\[
277
	\vlinf{}{}{\seqar t = t}{}
278
	\qquad
279
	\vlinf{}{}{s = t \seqar t = s}{}
280
	\qquad 
281
	\vlinf{}{}{r = s, s= t \seqar r = t}{}
282
	\qquad 
283
	\vlinf{}{}{\vec s = \vec t \seqar f(\vec s) = f(\vec t)}{}
284
	\qquad
285
	\vlinf{}{}{\vec s = \vec t, P(\vec s) \seqar P(\vec t)}{}
286
	\]
287
	where $r,s,t $ range over terms.
288
\end{proposition}
289

  
290

  
291

  
292

  
293

  
294
%\subsection{Converting axioms to rules in $\MELLW$}
295
%
296
%\begin{proposition}
297
%	An axiom $\Ax$ of the form,
298
%	\[
299
%	A_1 \limp \vldots \limp A_m \limp !B_1 \limp \vldots \limp !B_n \limp C
300
%	\]
301
%	is equivalent (over propositional $\LL$) to the rule $\Rl$:
302
%	\[
303
%	\vliiinf{\Rl}{}{ !\Gamma , A_1 , \dots , A_m \seqar C , ? \Delta  }{ !\Gamma \seqar B_1 , ?\Delta }{\vldots }{ !\Gamma \seqar B_n , ?\Delta}
304
%	\]
305
%\end{proposition}
306
%\begin{proof}
307
%	Let us first assume $\Ax$ and derive $\Rl$. From the axiom and Currying, we have a proof of:
308
%	\begin{equation}\label{eqn:curried-axiom}
309
%	A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C
310
%	\end{equation}
311
%	
312
%	This can simply be cut against each of the premisses of $\Rl$, applying appropriate contractions and necessitations, to derive it:
313
%	\[
314
%	\vlderivation{
315
%		\vliq{c}{}{!\Gamma , A_1 , \dots , A_m \seqar C , ?\Delta }{
316
%			\vliin{\cut}{}{!\Gamma, \dots , !\Gamma , A_1 , \dots , A_m \seqar C , ?\Delta, \dots , ?\Delta }{
317
%				\vlin{!}{}{!\Gamma \seqar !B_n, ?\Delta }{\vlhy{!\Gamma \seqar B_n , ?\Delta }}
318
%			}{
319
%			\vliin{\cut}{}{\qquad \qquad \qquad \qquad  \vlvdots \qquad \qquad \qquad \qquad }{
320
%				\vlin{!}{}{!\Gamma \seqar !B_1 , ?\Delta}{\vlhy{!\Gamma \seqar B_1, ?\Delta }}
321
%			}{\vlhy{ A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C } }
322
%		}
323
%	}
324
%}
325
%\]
326
%
327
%Now let us prove $\Ax$ (again in the form of \eqref{eqn:curried-axiom}) by using $\Rl$ as follows:
328
%\[
329
%\vliiinf{\Rl}{}{ A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C }{  \vlderivation{
330
%		\vlin{w}{}{ !B_1 , \dots , !B_n \seqar B_1 }{
331
%			\vlin{!}{}{!B_1 \seqar B_1 }{
332
%				\vlin{\id}{}{B_1 \seqar B_1 }{\vlhy{}}
333
%			}
334
%		}
335
%	}  }{\vldots}{
336
%	\vlderivation{
337
%		\vlin{w}{}{ !B_1 , \dots , !B_n \seqar B_n }{
338
%			\vlin{!}{}{!B_n \seqar B_n }{
339
%				\vlin{\id}{}{B_n \seqar B_n }{\vlhy{}}
340
%			}
341
%		}
342
%	}
343
%}
344
%\]
345
%\end{proof}
346
%
347
%
348
%\textbf{NB:} The proof does not strictly require side formulae $? \Delta$ on the right of the sequent arrow $\seqar$, it would work without them, e.g.\ for the intuitionistic case. In a one-sided setting there is no difference.
349
%
350
%
351
%
352
%\begin{corollary}
353
%	The induction axiom of $A^1_2$ is equivalent to the rule:
354
%	\[
355
%	\vliinf{}{(x \notin \FV(\Gamma, \Delta))}{ !\Gamma , !N(t), A(\epsilon) \seqar A(t) , ?\Delta }{ !\Gamma , !N(x), A(x) \seqar A(s_0 x ), ?\Delta }{ !\Gamma, !N(x),  A(x) \seqar A( s_1 x ) , ?\Delta}
356
%	\]
357
%\end{corollary}
358
%\begin{proof}
359
%	By proposition above, generalisation and Currying.
360
%\end{proof}
361
%
362
%\begin{proposition}
363
% The following induction rule is derivable from the one of the previous corollary:
364
%\[
365
%	\vliinf{}{(a, \vec{v}, \vec{x} \notin \FV(\Gamma, \Delta))}{ !\Gamma , !N(\vec{w}), N(\vec{y}), !N(t)  \seqar A(t,\vec{w},\vec{y}) , ?\Delta }{ !\Gamma ,  !N(\vec{v}), N(\vec{x}) \seqar A(\epsilon,\vec{v},\vec{x}), ?\Delta }{ !\Gamma ,  !N(\vec{v}), N(\vec{x}),    A(a,\vec{v},\vec{x}) \seqar  A(s_ia,\vec{v},\vec{x}) , ?\Delta}
366
%	\]
367
%where the second premise corresponds actually to two premises, one for $i=0$ and one for $i=1$.
368
%\end{proposition}
369
%\subsection{Prenexing}
370
%%In the presence of weakening we have a prenex normal form due to the following:
371
%%
372
%%\[
373
%%\vlderivation{
374
%%	\vlin{}{}{\exists x . A \lor B \seqar \exists x . (A(x) \lor B) }{
375
%%		
376
%%		}
377
%%	}
378
%%\]
379
%
380
%Cannot derive prenexing operations, e.g.\ a problem with $\exists x . A \lor B \seqar \exists x . (A(x) \lor B)$. Can safely add prenexing rules? Or not a problem due to Witness predicate?
CSL16/final-version/bc-convergence.tex (revision 126)
1

  
2
\section{Convergence of Bellantoni-Cook programs in $\arith$}
3
\label{sect:bc-convergence}
4
%\anupam{In this section, use whatever form of the deduction theorem is necessary and reverse engineer precise statement later.}
5

  
6
In this section we show that $I\sigzer$, and so also $\arith$, proves the convergence of any equational specification induced by a BC program, hence any function in $\FP$. 
7
%Since BC programs can compute any polynomial-time function, we obtain a completeness result. In the next section we will show the converse, that any provably convergent function of $\arith$ is polynomial-time computable.
8
%
9
The underlying construction of the proof here is similar in spirit to those occurring in \cite{Cantini02} and \cite{Leivant94:found-delin-ptime}. In fact, like in those works, only quantifier-free positive induction is required, but here we moreover must take care to respect additive and multiplicative behaviour of linear connectives.
10

  
11
We will assume the formulation of BC programs with regular PRN, not simultaneous PRN.
12

  
13

  
14
%\subsection{Convergence in arithmetic}
15

  
16
%\begin{theorem}
17
%	[Convergence]
18
%	If $\Phi(f)$ is an equational specification corresponding to a BC-program defining $f$, then $\cax{\Sigma^N_1}{\pind} \proves  \ !\Phi(f) \limp \forall \vec{x}^{!N} . N(f(\vec x))$.
19
%\end{theorem}
20

  
21
%We first want to show that the system ${\Sigma^{\word}_1}-{\pind}$ is expressive enough, that is to say that all polynomial-time functions can be represented by some equational specifications that are provably total. To do so   we consider equational specifications of BC-programs.
22
\begin{theorem}
23
%	[Convergence]
24
\label{thm:arith-proves-bc-conv}
25
	If $\eqspec$ is a BC program defining a function $f$, then $I\sigzer$ proves $\conv(f, \eqspec)$.
26
\end{theorem}
27

  
28
%\anupam{Consider informalising some of these arguments under (some version of) the deduction theorem. Formal stuff can be put in an appendix. Maybe add a remark somewhere about arguing informally under deduction, taking care for non-modalised formulae.}
29

  
30
\begin{proof}[Proof sketch]
31
%	We write function symbols in $\arith$ with arguments delimited by $;$, as for BC-programs. 
32
	We appeal to Lemma~\ref{lemma:spec-norm-form} and show that $\closure{\eqspec} \cup I\sigzer$ proves $\forall \vec{u}^{!\word} . \forall \vec{x}^\word . \word(f(\vec u ; \vec x))$.
33
%	\begin{equation}
34
%	\label{eqn:prv-cvg-ih}
35
%\forall \vec{u}^{!\word} . \forall \vec{x}^\word . \word(f(\vec u ; \vec x))
36
%	\end{equation}
37
	We proceed by induction on the structure of a BC program for $f$, and sketch only the key cases here.
38
%	We give some key cases in what follows.
39
	
40
	Suppose $f(u, \vec v ; \vec x)$ is defined by PRN from functions $g(\vec v ; \vec x), h_i ( u , \vec v ; \vec x , y )$.
41
%	\[
42
%	\begin{array}{rcl}
43
%	f(\epsilon,\vec v ; \vec x) & = & g(\vec v ; \vec x) \\
44
%	f(\succ_i u , \vec v; \vec x) & = & h_i (u, \vec v ; \vec x , f(u , \vec v ; \vec x))
45
%	\end{array}
46
%	\]
47
%	By the inductive hypothesis we have \eqref{eqn:prv-cvg-ih} for $g,h_0,h_1$ in place of $f$. 
48
	From the inductive hypothesis for $g$, we construct the following proof,
49
	\begin{equation}
50
	\label{eqn:prn-cvg-base}
51
	\small
52
	\vlderivation{
53
			\vliq{\beta}{}{!\word(\vec v) , \word (\vec x) \seqar \word(f (\epsilon , \vec v ; \vec x)) }{
54
				\vliq{\alpha}{}{!\word (\vec v) , \word (\vec x) \seqar \word (g (\vec v ; \vec x) ) }{
55
%					\vltr{\IH}{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x)) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
56
%				\vliq{}{}{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x))}{\vlhy{}}
57
\vlhy{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x))}
58
					}
59
				}
60
			}
61
	\end{equation}
62
 where $\alpha $ is purely logical and $\beta$ is obtained from $\closure{\eqspec}$ and equality.	
63
%	We first prove,
64
%	\begin{equation}
65
%	!\word (a) , !\word (\vec v) , \word (\vec x) \land \word (f( a , \vec v ; \vec x ) )
66
%	\seqar
67
%	\word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) )
68
%	\end{equation}
69
%	for $i=0,1$, whence we will apply $\ind$. We construct the following proofs:
70
We also construct the proofs,
71
	\begin{equation}
72
	\label{eqn:prn-cvg-ind}
73
	%\vlderivation{
74
	%	\vlin{\rigrul{\limp}}{}{ \word(\vec x) \limp \word ( f(u, \vec v ; \vec x) )  \seqar \word (\vec x) \limp \word( f(\succ_i u , \vec v ; \vec x) ) }{
75
	%	\vliq{\gamma}{}{\word(\vec x), \word(\vec x) \limp \word ( f(u, \vec v ; \vec x) )  \seqar \word( f(\succ_i u , \vec v ; \vec x) )   }{
76
	%		\vliin{\lefrul{\limp}}{}{\word(\vec x), \word(\vec x), \word(\vec x) \limp \word ( f(u, \vec v ; \vec x) )  \seqar \word( f(\succ_i u , \vec v ; \vec x) )    }{
77
	%			\vlin{\id}{}{\word(\vec x) \seqar \word (\vec x) }{\vlhy{}}
78
	%			}{
79
	%			\vliq{\beta}{}{  \word (\vec x) , \word (f(u , \vec v ; \vec x) ) \seqar \word ( f(\succ_i u , \vec v ; \vec x) ) }{
80
	%				\vliq{\alpha}{}{ \word (\vec x) , \word (f(u , \vec v ; \vec x) ) \seqar \word ( h_i( u , \vec v ; \vec x , f( u, \vec v ; \vec x )) ) }{
81
	%					\vltr{IH}{ \seqar \forall  u^{!\word}, \vec v^{!\word} . \forall \vec x^\word , y^\word . \word( h_i (u, \vec v ; \vec x, y) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
82
	%					}
83
	%				}
84
	%			}
85
	%		}
86
	%	}
87
	%	}
88
	\small
89
	\vlderivation{
90
	\vlin{\lefrul{\land}}{}{ !\word (a) , !\word (\vec v) , \word (\vec x) \land \word (f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) ) }{
91
	\vlin{\lefrul{\cntr}}{}{  !\word (a) , !\word (\vec v) , \word (\vec x) , \word (f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) )}{
92
	\vliin{\rigrul{\land}}{}{   !\word (a) , !\word (\vec v) , \word(\vec x),  \word (\vec x) , \word (f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) )}{
93
	\vlin{\id}{}{\word (\vec x) \seqar \word (\vec x)}{\vlhy{}}
94
	}{
95
		\vliq{\beta}{}{ !\word (u) , !\word(\vec v)  , \word (\vec x) , \word (f ( u , \vec v ; \vec x ) ) \seqar \word (f (\succ_i u , \vec{v} ; \vec x ) )  }{
96
				\vliq{\alpha}{}{  !\word (u) , !\word (\vec v)  , \word (\vec x) , \word (f ( u , \vec v ; \vec x ) ) \seqar \word ( h_i ( u , \vec v ; \vec x , f( u , \vec v ; \vec x ) ) )   }{
97
%					\vltr{\IH}{ \seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word , y^\word  .  \word ( h_i ( u, \vec v ; \vec x, y ) ) }{ \vlhy{\quad} }{\vlhy{}}{\vlhy{\quad}}
98
%\vliq{}{}{ \seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word , y^\word  .  \word ( h_i ( u, \vec v ; \vec x, y ) ) }{\vlhy{}}
99
\vlhy{\seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word , y^\word  .  \word ( h_i ( u, \vec v ; \vec x, y ) )}
100
				}
101
			}
102
			}
103
	}
104
	}
105
	}
106
\end{equation}
107
	from the inductive hypotheses for $h_i$, where $\alpha$ and $\beta$ are similar to before.
108
%%	so let us suppose that $\word(\vec v)$ and prove,
109
%	\begin{equation}
110
%% \forall u^{!\word} .  (\word(\vec x) \limp \word(f(u , \vec v ; \vec x)  )
111
%!\word (u) , !\word (\vec v) , \word (\vec x) \seqar \word ( f(u, \vec v ; \vec x) )
112
%	\end{equation}
113
%	by $\cax{\Sigma^N_1}{\pind}$ on $u$. After this the result will follow by $\forall$-introduction for $u, \vec v , \vec x$.
114
	
115
%	In the base case we have the following proof,
116
%	\[
117
%	\vlderivation{
118
%	\vlin{\rigrul{\limp}}{}{ \seqar \word (\vec x) \limp \word (f(\epsilon , \vec v ; \vec x )) }{
119
%		\vliq{\beta}{}{ \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x) ) }{
120
%			\vliq{\alpha}{}{ \word (\vec x) \seqar \word ( g (\vec v ; \vec x) ) }{
121
%				\vltr{IH}{\seqar \forall v^{!\word} . \forall x^\word . \word( g(\vec v ; \vec x) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
122
%				}
123
%			}
124
%		}		
125
%		}
126
Finally we compose these proofs as follows:
127
\[
128
\small
129
\vlderivation{
130
\vliq{\rigrul{\forall}}{}{ \seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word . \word ( f(u , \vec v ;\vec x)  ) }{
131
\vliq{\lefrul{\cntr}}{}{ !\word (u), !\word (\vec v) , \word (\vec x) \seqar  \word ( f(u , \vec v ;\vec x)  )  }
132
{
133
\vliin{\cut}{}{  !\word (u), !\word(\vec v), !\word (\vec v) , \word (\vec x) , \word (\vec x) \seqar  \word ( f(u , \vec v ;\vec x)  )   }{
134
%\vltr{\pi_\epsilon}{ !\word (\vec v) , \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x ) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
135
\vlhy{ !\word (\vec v) , \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x ) ) }
136
}
137
{
138
\vliq{\wk}{}{ !\word (u), !\word (\vec v) , \word (\vec x), \word ( f( \epsilon , \vec v ; \vec x ) ) \seqar \word ( f( u , \vec v ; \vec x ) ) }{
139
\vliq{\land\text{-}\mathit{inv}}{}{  !\word (u), !\word (\vec v) , \word (\vec x) ,\word ( f( \epsilon , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word ( f( u , \vec v ; \vec x ) )  }{
140
\vlin{\ind}{}{   !\word (u), !\word (\vec v) , \word (\vec x) \land \word ( f( \epsilon , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word ( f( u , \vec v ; \vec x ) )  }
141
{
142
\vlhy{
143
\left\{
144
%\vltreeder{\pi_i}{   !\word (a), !\word (\vec v) , \word (\vec x) \word ( f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word ( f( \succ_i u , \vec v ; \vec x ) )  }{\quad}{}{}
145
   !\word (a), !\word (\vec v) , \word (\vec x) \word ( f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word ( f( \succ_i u , \vec v ; \vec x ) )  
146
\right\}_i
147
}
148
}
149
}
150
}
151
}
152
}
153
}
154
}
155
\]
156
for $i=0,1$, where the steps $\inv{\land}$ are obtained from invertibility of $\lefrul{\land}$.
157

  
158
%For the inductive step, we suppose that $\word (u)$ and the proof is as follows,
159
%
160
%where the steps indicated $\alpha$ and $\beta$ are analogous to those for the base case.
161
%%, and $\gamma$ is an instance of the general scheme:
162
%%\begin{equation}
163
%%\label{eqn:nat-cntr-left-derivation}
164
%%\vlderivation{
165
%%	\vliin{\cut}{}{ \word (t) , \Gamma \seqar \Delta }{
166
%%		\vlin{\wordcntr}{}{ \word (t) \seqar \word (t) \land \word (t) }{\vlhy{}}
167
%%		}{
168
%%		\vlin{\lefrul{\land}}{}{\word (t)  \land \word (t) , \Gamma \seqar \Delta}{ \vlhy{\word (t)  ,\word (t) , \Gamma \seqar \Delta} }
169
%%		}
170
%%	}
171
%%\end{equation}
172
%
173
%%
174
%%For the inductive step, we need to show that,
175
%%\[
176
%%\forall x^{!N} . (( N(\vec y) \limp N( f(x, \vec x ; \vec y) ) ) \limp N(\vec y) \limp N(f(\succ_i x , \vec x ; \vec y) )   )
177
%%\]
178
%%so let us suppose that $N(x)$ and we give the following proof:
179
%%\[
180
%%\vlderivation{
181
%%	\vlin{N\cntr}{}{N(y) \limp ( N(y ) \limp N(f( x , \vec x ; \vec y ) ) ) \limp N(f (\succ_i x , \vec x ; \vec y)  ) }{
182
%%		\vliin{}{}{N(y) \limp N(y) \limp ( N(y ) \limp N(f( x , \vec x ; \vec y ) ) ) \limp N(f (\succ_i x , \vec x ; \vec y)  ) }{
183
%%			\vliin{}{}{ N(y) \limp N(y) \limp ( N(y) \limp N( f(x, \vec x ; \vec y) ) ) \limp N( h_i (x , \vec x ; \vec y , f(x , \vec x ; \vec y) ) ) }{
184
%%				\vltr{MLL}{( N(\vec y) \limp (N (\vec y) \limp N(f(x, \vec x ; \vec y) )) \limp N(f(x, \vec x ; \vec y)) }{\vlhy{\quad }}{\vlhy{\ }}{\vlhy{\quad }}
185
%%			}{
186
%%			\vlhy{2}
187
%%		}
188
%%	}{
189
%%	\vlhy{3}
190
%%}
191
%%}
192
%%}
193
%%\]
194
%%TOFINISH
195

  
196
Safe compositions are essentially handled by many cut steps, using $\alpha$ and $\beta$ like derivations again and, crucially, left-contractions on both $!\word$ and $\word $ formulae.\footnote{In the latter case, strictly speaking, we mean cuts against $\wordcntr$.} The initial functions are routine.
197

  
198

  
199
%We also give the case of the conditional initial function $C (; x, y_\epsilon , y_0, y_1)$, to exemplify the use of additives. 
200
%%The conditional is defined equationally as:
201
%%\[
202
%%\begin{array}{rcl}
203
%%C (; \epsilon, y_\epsilon , y_0, y_1  ) & = & y_\epsilon \\
204
%%C(; \succ_0 x , y_\epsilon , y_0, y_1) & = & y_0 \\
205
%%C(; \succ_1 x , y_\epsilon , y_0, y_1) & = & y_1 
206
%%\end{array}
207
%%\]
208
%Let $\vec y = ( y_\epsilon , y_0, y_1 )$ and construct the required proof as follows:
209
%\[
210
%\small
211
%\vlderivation{
212
%\vliq{}{}{ \word (x) , \word (\vec y) \seqar \word ( C(; x ,\vec y) )}{
213
%\vliin{2\cdot \laor}{}{ x = \epsilon \laor \exists z^\word . x = \succ_0 z \laor \exists z^\word x = \succ_1 z , \word (\vec y) \seqar \word ( C(;x \vec y) ) }{
214
%\vliq{}{}{ x = \epsilon , \word (\vec y) \seqar \word ( C(; x , \vec y) ) }{
215
%\vliq{}{}{ \word (\vec y) \seqar \word ( C( ; \epsilon , \vec y ) ) }{
216
%\vlin{\wk}{}{ \word (\vec y) \seqar \word (y_\epsilon) }{ 
217
%\vlin{\id}{}{\word (y_\epsilon) \seqar \word ( y_\epsilon )}{\vlhy{}}
218
%}
219
%}
220
%}
221
%}{
222
%\vlhy{
223
%\left\{ 
224
%\vlderivation{
225
%\vlin{\lefrul{\exists}}{}{ \exists z^\word . x = \succ_i z , \word (\vec y) \seqar \word ( C(;x , \vec y) ) }{
226
%\vliq{}{}{ x = \succ_i a , \word (\vec y ) \seqar \word (C(; x ,\vec y)) }{
227
%\vliq{}{}{ \word (\vec y) \seqar \word ( C(; \succ_i a , \vec y ) ) }{
228
%\vlin{\wk}{}{ \word (\vec y) \seqar \word (y_i) }{
229
%\vlin{\id}{}{\word (y_i) \seqar \word (y_i)}{\vlhy{}}
230
%}
231
%}
232
%}
233
%}
234
%}
235
%\right\}_{i = 0,1}
236
%}
237
%}
238
%}
239
%}
240
%\]
241
%whence the result follows by $\forall$-introduction.
242
%%The other initial functions are routine.
243
\end{proof}
244

  
245

  
246

  
247

  
248

  
249

  
250

  
251

  
252

  
253

  
254

  
255

  
256

  
257

  
258

  
259

  
260

  
261

  
262

  
263

  
264

  
265

  
266

  
267

  
268

  
269

  
270

  
271

  
272

  
273

  
274

  
275

  
276

  
277

  
278

  
279

  
280

  
281

  
282

  
283

  
284

  
285

  
CSL16/final-version/introduction.tex (revision 126)
1
\section{Introduction}
2
%\anupam{i put all the notes/suggestions at the end, before references.}
3
 
4
  \emph{Free-cut elimination}\footnote{Also known as \emph{anchored} or \emph{directed} completeness, \emph{partial} cut-elimination or \emph{weak} cut-elimination in other works.} is a normalisation procedure on formal proofs in systems including nonlogical rules, e.g.\ the axioms and induction rules in arithmetic, introduced in \cite{Takeuti87}. It yields proofs in a form where, essentially, each cut step has at least one of its cut formulas principal for a nonlogical step. It is an important tool for proving witnessing theorems in first-order theories, and in particular it has been extensively used in \emph{bounded arithmetic} for proving complexity bounds on representable functions, by way of the \textit{witness function method} \cite{Buss86book}. 
5
  
6
   Linear logic \cite{Girard87} can be seen as a decomposition of both intuitionistic and classical logic, based on a careful analysis of duplication and erasure of formulas in proofs (i.e.\ the structural rules), and has been particularly useful in proofs-as-programs correspondences, proof search \cite{Andreoli92} and logic programming \cite{Miller04}. By controlling  structural rules with designated modalities, the \textit{exponentials}, linear logic has allowed for a fine study of complexity bounds in the Curry-Howard interpretation, leading to variants with polynomial-time complexity \cite{GirardSS92:bounded-ll} \cite{Girard98} \cite{Lafont04}. 
7
%   However most of this work has been done for 'purely logical' linear logic, or at least for variants with full cut elimination procedure. 
8
   
9
    In this work we explore how the finer granularity of linear logic can be used to control complexity in \emph{first-order theories}, restricting the provably convergent functions rather than the typable terms as in the propositional setting.
10
%     aim at exploring in which way the complementary techniques of free-cut elimination and linear logic can be combined to analyze properties of first-order theories in which structural rules play a critical r\^ole. 
11
    We believe this to be of general interest, and in particular to understand the effect of substructural restrictions on nonlogical rules, e.g.\ induction, in mathematical theories. Some related works exist, in particular the na\"ive set theories of Girard and Terui \cite{Girard94:lll} \cite{Terui04}, but overall it seems that the first-order proof theory of linear logic is still rather undeveloped; in particular, to our knowledge, there seems to be no general form of free-cut elimination available in the literature (although special cases occur in \cite{LincolnMSS92} and \cite{Baelde12}). Thus our first contribution, in Sect.~\ref{sect:free-cut-elim}, will be to provide general sufficient conditions on nonlogical axioms and rules for a first-order linear logic system to admit free-cut elimination.
12
    
13
    \newcommand{\FP}{\mathbf{FP}}
14
    
15
    We illustrate the usefulness of such a result by proving a witnessing theorem for a fragment of arithmetic in linear logic, showing that the provably convergent functions are precisely the polynomial-time computable functions (Sects.~\ref{sect:bc-convergence} and \ref{sect:wfm}), henceforth denoted $\FP$. Our starting point is an axiomatisation based on a modal logic due to Bellantoni and Hofmann \cite{BelHof:02}, called $\mathcal{A}_2^1$, already known to characterise $\FP$.
16
%    In this system ,following Leivant \cite{Leivant94:intrinsic-theories} functions are defined by first-order equational specifications. 
17
%    The main result of $\mathcal{A}_2^1$ is then that the provably total functions are exactly the polynomial time class. 
18
    This approach, and that of \cite{Leivant94:found-delin-ptime} before, differs from the bounded arithmetic approach in that it does not employ bounds on quantifiers, but rather restricts nonlogical rules by substructural features of the modality \cite{BelHof:02} or by a \emph{ramification} of formulas  \cite{Leivant94:intrinsic-theories}. The proof technique employed in both cases is a realisability argument, for which \cite{Leivant94:found-delin-ptime} operates directly in intuitionistic logic, whereas \cite{BelHof:02} obtains a result for a classical logic via a double-negation translation, relying on a higher-type generalisation of \emph{safe recursion}
19
%     which is applied to an intuitionistic version of the theory. In  \cite{BelHof:02} the target language of the realizability argument is a higher-order language \cite{Hofmann00}, SLR, based on safe recursion 
20
     \cite{BellantoniCook92}. 
21
%     In a second step the result is extended to the classical variant $\mathcal{A}_2^1$ by using the Friedman A translation.
22
    
23
    We show that Buss' witness function method can be employed to extract functions directly for classical systems similar to $\mathcal{A}_2^1$ based in linear logic, by taking advantage of free-cut elimination. The De Morgan normal form available in classical (linear) logic means that the functions we extract remain at ground type, based on the usual safe recursive programs of \cite{BellantoniCook92}. A similar proof method was used by Cantini in \cite{Cantini02}, who uses combinatory terms as the model of computation as opposed to the equational specifications in this work.\footnote{This turns out to be important due to the handling of right-contraction steps in the witnessing argument.}
24
   
25
     Our result holds for an apparently weaker theory than $\mathcal{A}_2^1$, with induction restricted to positive existential formulas in a way similar to Leivant's $\mathit{RT}_0$ system in \cite{Leivant94:intrinsic-theories} (see also \cite{Marion01}), but the precise relationship between the two logical settings is unclear.
26
%
27
%   Our result holds for an apparently weaker theory than $\mathcal{A}_2^1$, with induction restricted to positive existential formulas in a way similar to Leivant's $\mathit{RT}_0$ system in \cite{Leivant94:intrinsic-theories}, but the precise relationship between the two logical settings is unclear.
28
%    We illustrate in the same time the relationship between  $\mathcal{A}_2^1$ and linear logic, which was hinted but not investigated in the original paper  \cite{BelHof:02}.  
29
We conclude in Sect.~\ref{sect:conclusions} with a survey of related work and some avenues for further applications of the free-cut elimination result. 
30

  
31
%More detailed proofs of the various results herein can be found in the appendices, Sects.~\ref{sect:app-preliminaries}-\ref{sect:app-wfm}.
32
   
33
There is an extended version \cite{BaiDas} of this paper with appendices containing further proof details.
34
%Everything else remains the same, with the exception of this paragraph.
CSL16/final-version/bc.tex (revision 126)
1

  
2
\section{Bellantoni-Cook characterisation of polynomial-time functions}
3

  
4
We recall the Bellantoni-Cook  algebra BC of functions defined by \emph{safe} (or \emph{predicative}) recursion on notation \cite{BellantoniCook92}. These will be employed for proving both the completeness   (all polynomial time functions are provably convergent) and the soundness result (all provably total functions are polynomial time) of $\arith$. We consider function symbols $f$ over the domain  $\Word$ with sorted arguments $(\vec u ; \vec x)$, where the inputs $\vec u$ are called \textit{normal} and $\vec x$ are called \textit{safe}. 
5
%Each symbol is given with an arity $m$ and a number $n\leq m$ of normal arguments, and will be denoted as $f(\vec{u};\vec{x})$ where $\vec{u}$ (resp. $\vec{x}$) are the normal (resp. safe) arguments.
6
%We say that an expression is well-sorted if the arities of function symbols in it is respected.
7

  
8
%\patrick{Note that below I used the terminology 'BC programs', to distinguish them from 'functions' in the extensional sense, which I find clearer. But if you prefer to keep 'BC functions' it is all right for me.}
9
\begin{definition}
10
	[BC programs]
11
	BC is the set of functions generated as follows:
12
	%	\paragraph{Initial functions}
13
%	The initial functions are:
14
	\begin{enumerate}
15
		\item The constant functions $\epsilon^k$ which takes $k$ arguments and outputs $\epsilon \in \Word$.
16
		\item The projection functions $\pi^{m,n}_k ( x_1 , \dots , x_m ; x_{m+1} , \dots, x_{m+n} )  := x_k$ for $n,m \in \Word$ and $1 \leq k \leq m+n$.
17
		\item The successor functions $\succ_i ( ; x) := xi$ for $i = 0,1$.
18
		\item The predecessor function $\pred (; x) := \begin{cases}
19
		\epsilon &  \mbox{ if }  x = \epsilon \\
20
		x' &  \mbox{ if }  x = x'i
21
		\end{cases}$.
22
		\item The conditional function 
23
		\[
24
%\begin{array}{rcl}
25
%C (; \epsilon, y_\epsilon , y_0, y_1  ) & = & y_\epsilon \\
26
%C(; x0 , y_\epsilon , y_0, y_1) & = & y_0 \\
27
%C(; x1 , y_\epsilon , y_0, y_1) & = & y_1 
28
%\end{array}
29
C (; \epsilon, y_\epsilon , y_0, y_1  ) := y_\epsilon 
30
\quad
31
C(; x0 , y_\epsilon , y_0, y_1) := y_0 
32
\quad
33
C(; x1 , y_\epsilon , y_0, y_1) := y_1 
34
\]
35
%		$\cond (;x,y,z) := \begin{cases}
36
%		y & \mbox{ if } x=x' 0 \\
37
%		z & \text{otherwise}
38
%		\end{cases}$.
39
	\end{enumerate}
40
	
41
%	One considers the following closure schemes:
42
	\begin{enumerate}
43
	\setcounter{enumi}{5}
44
	\item Predicative recursion on notation (PRN). If $g, h_0, h_1 $ are in BC then so is $f$ defined by,
45
	\[
46
	\begin{array}{rcl}
47
	f(0, \vec v ; \vec x) & := & g(\vec v ; \vec x) \\
48
	f (\succ_i u , \vec v ; \vec x ) & := & h_i ( u , \vec v ; \vec x , f (u , \vec v ; \vec x) )
49
	\end{array}
50
	\]
51
	for $i = 0,1$,  so long as the expressions are well-formed. % (i.e.\ in number/sort of arguments).
52
	\item Safe composition. If $g, \vec h, \vec h'$ are in BC then so is $f$ defined by,
53
	\[
54
	f (\vec u ; \vec x) \quad := \quad g ( \vec h(\vec u ; ) ; \vec h' (\vec u ; \vec x) )
55
	\]
56
	so long as the expression is well-formed.
57
	\end{enumerate}
58
	\end{definition}
59
%Note that the  programs of this class can be defined by equational specifications in a natural way, and in the following we will thus silently identify a BC program with the corresponding equational specification.
60

  
61
We will implicitly identify a BC function with the equational specification it induces.
62
The main property of BC programs is:
63
\begin{theorem}[\cite{BellantoniCook92}]
64
The class of functions representable by BC programs is $\FP$.
65
\end{theorem}	
66
Actually this property remains true if one replaces the PRN scheme by the following more general simultaneous PRN scheme \cite{BellantoniThesis}:
67

  
68
$(f^j)_{1\leq j\leq n}$ are defined by simultaneous PRN scheme  from $(g^j)_{1\leq j\leq n}$, $(h^j_0, h^j_1)_{1\leq j\leq n}$ if for $1\leq j\leq n$ we have:
69
	\[
70
	\begin{array}{rcl}
71
	f^j(0, \vec v ; \vec x) & := & g^j(\vec v ; \vec x) \\
72
	f^j(\succ_i u , \vec v ; \vec x ) & := & h^j_i ( u , \vec v ; \vec x , \vec{f} (u , \vec v ; \vec x) )
73
	\end{array}
74
	\]
75
	for $i = 0,1$,  so long as the expressions are well-formed.
76

  
77
%\anupam{simultaneous recursion?}
78

  
79
%\anupam{also identity, hereditarily safe, expressions, etc.}
80

  
81
%\anupam{we implicitly associate a BC program with its equational specification} 
82

  
83
Consider a well-formed expression $t$ built from function symbols and variables. We say that a variable $y$ occurs \textit{hereditarily safe} in $t$ if, for every subexpression $f(\vec{r}; \vec{s})$ of $t$, the terms in $\vec{r}$ do not contain $y$.
84
For instance $y$ occurs hereditarily safe in $f(u;y,g(v;y))$, but not in $f(g(v;y);x)$.
85
\begin{proposition}
86
[Properties of BC programs]
87
\label{prop:bc-properties}
88
We have the following properties:
89
\begin{enumerate}
90
\item The identity function is in BC.
91
\item Let $t$ be a well-formed expression built from BC functions and variables, denote its free variables as $\{u_1,\dots, u_n,x_1,\dots, x_k\}$, and assume for each $1\leq i\leq k$, $x_i$ is hereditarily safe in $t$. Then the function $f(u_1,\dots, u_n; x_1,\dots, x_k):=t$ is in BC.
92
\item If $f$ is a BC function, then the function $g(\vec{u},v;\vec{x})$ defined as $f(\vec{u};v,\vec{x})$
93
is also a BC program.
94
\end{enumerate}
95

  
96
%\begin{proposition}
97
%[Properties of BC programs]
98
%\label{prop:bc-properties}
99
%We have the following properties:
100
%\begin{enumerate}
101
%\item Hereditarily safe expressions over BC programs are BC definable.
102
%\item Can pass safe input to normal input.
103
%\end{enumerate}
104
\end{proposition}
CSL16/final-version/macros.tex (revision 126)
1

  
2

  
3
%\newtheorem{theorem}{Theorem}    %% Patrick: added for 'article' class version
4
%\newtheorem{maintheorem}[theorem]{Main Theorem}
5
%\newtheorem{observation}[theorem]{Observation}
6
%\newtheorem{corollary}[theorem]{Corollary}
7
%\newtheorem{lemma}[theorem]{Lemma}
8
\newtheorem{proposition}[theorem]{Proposition}
9
%\newtheorem{conjecture}[theorem]{Conjecture}
10
%
11
%\theoremstyle{definition}
12
%\newtheorem{definition}[theorem]{Definition}
13
%\newtheorem{example}[theorem]{Example}
14
%\newtheorem{notation}[theorem]{Notation}
15
%\newtheorem{convention}[theorem]{Convention}
16
%\newtheorem{remark}[theorem]{Remark}
17
%\newtheorem{discussion}[theorem]{Discussion}
18

  
19
\newcommand{\todo}[1]{{\color{red}{\textbf{Todo:} #1}}}
20
\newcommand{\anupam}[1]{{\color{orange}{\textbf{Anupam:} #1}}}
21
\newcommand{\patrick}[1]{{\color{blue}{\textbf{Patrick:} #1}}}
22

  
23
\newcommand{\IH}{\mathit{IH}}
24

  
25
\newcommand{\defined}{:=}
26
	
27
	\newcommand{\LL}{\it{LL}}
28
	\vllineartrue
29
	
30
	
31
	\newcommand{\FV}{\mathit{FV}}
32
	
33
	
34
	%specification
35
	
36
	\newcommand{\eqspec}{\mathcal E}
37
	\newcommand{\closure}[1]{\overline{#1}}
38
	
39
	\newcommand{\conv}{\mathit{Conv}}
40
	
41
	% theories
42
	\newcommand{\theory}{\mathcal T}
43
	\newcommand{\system}{\mathcal S}
44

  
45
	
46
	%terms
47
	\newcommand{\pred}{p}
48
	\newcommand{\cond}{C}
49
	\renewcommand{\succ}{\mathsf{s}}
50
	\renewcommand{\epsilon}{\varepsilon}
51
	
52
	% linear connectives
53
	
54
	\newcommand{\limp}{\multimap}
55
	\renewcommand{\land}{\otimes}
56
	\newcommand{\laand}{\&}
57
	\newcommand{\laor}{\oplus}
58
	\renewcommand{\lor}{\vlpa}
59
	\renewcommand{\lnot}[1]{{#1^{\perp}}}
60
	\newcommand{\lnotnot}[1]{#1^{\perp \perp}}
61
	
62
	% classical connectives
63
	
64
	\newcommand{\cimp}{\rightarrow}
65
	\newcommand{\cand}{\wedge}
66
	\newcommand{\cor}{\vee}
67
	\newcommand{\cnot}{\neg}
68
	
69
	
70
	\newcommand{\Ax}{\mathit{(Ax)}}
71
	\newcommand{\Rl}{\mathit{(Rl)}}
72
	
73
	\newcommand{\MELL}{\mathit{MELL}}
74
	\newcommand{\MEAL}{\mathit{MELLW}}
75
	\newcommand{\MELLW}{\mathit{MELL(W)}}
76
	
77
	\newcommand{\Aonetwo}{\mathcal{A}^1_2}
78
	\newcommand{\logic}{\mathit{L}_{\mathcal A} }
79
	
80
	% predicates
81
	\newcommand{\nat}{N}
82
	\newcommand{\word}{W}
83
	
84
	\newcommand{\Nat}{\mathbb{N}}
85
	\newcommand{\Word}{\mathbb{W}}
86
	
87
	%axioms
88
	\newcommand{\wk}{\mathit{wk}}
89
	\newcommand{\impl}{\cimp\text{-}\mathit{l}}
90
	\newcommand{\impcomm}{\mathit{com}}
91
	\newcommand{\conint}{\cand\text{-}\mathit{i}}
92
	\newcommand{\conel}{\cand\text{-}\mathit{e}}
93
	\newcommand{\negclass}{\cnot}
94
	
95
	%equality
96
	\newcommand{\refl}{\mathit{ref}}
97
	\newcommand{\symm}{\mathit{sym}}
98
	\newcommand{\trans}{\mathit{trans}}
99
	\newcommand{\subst}{\mathit{sub}}
100
	
101
	%rules
102
	\newcommand{\inv}[1]{#1\text{-inv}}
103
	
104
	\renewcommand{\mp}{\mathit{mp}}
105
	\newcommand{\gen}{\mathit{gen}}
106
	\newcommand{\inst}{\mathit{ins}}
107
	\newcommand{\id}{\it{id}}
108
	\newcommand{\cut}{\it{cut}}
109
	\newcommand{\multicut}{\it{mcut}}
110
	\newcommand{\indr}{\mathit{PIND}}
111
	\newcommand{\nec}{\mathit{nec}}
112
	\newcommand{\tax}{\mathit{T}}
113
	\newcommand{\four}{\mathit{4}}
114
	\newcommand{\kax}{\mathit{K}}
115
	\newcommand{\cntr}{\mathit{cntr}}
116
	
117
	\newcommand{\lefrul}[1]{#1\text{-}\mathit{l}}
118
	\newcommand{\rigrul}[1]{#1\text{-}\mathit{r}}
119
	
120
	%consequence relations
121
	\newcommand{\admits}{\vDash}
122
	\newcommand{\seqar}{\vdash}
123
	\newcommand{\proves}{\vdash_e}
124
	
125
	%induction
126
	\newcommand{\ind}{\mathit{PIND}}
127
	\newcommand{\pind}{\mathit{PIND}}
128
	\newcommand{\cax}[2]{#1\text{-}#2}
129

  
130
	\newcommand{\sigone}{\Sigma^{\word^+}_1 }
131
	\newcommand{\sigzer}{\Sigma^{\word^+}_0}
132
	\newcommand{\bharith}{\mathcal A^1_2}
133
	\newcommand{\arith}{I\sigone}
134
	
135
	
136

  
137
          % sizes
138
          \newcommand{\height}[1]{\mathit{h}(#1)}
CSL16/final-version/arithmetic.tex (revision 126)
1
\section{A variant of arithmetic in linear logic}
2
\label{sect:arithmetic}
3
For the remainder of this article we will consider an implementation of arithmetic in the sequent calculus based on the theory $\bharith$ of Bellantoni and Hofmann in \cite{BelHof:02}. The axioms that we present are obtained from $\bharith$ by using linear logic connectives in place of their classical analogues, calibrating the use of additives or multiplicatives in order to be compatible with the completeness and witnessing arguments that we present in Sects.~\ref{sect:bc-convergence} and \ref{sect:wfm}. We also make use of free variables and the structural delimiters of the sequent calculus to control the logical complexity of nonlogical rules.
4

  
5

  
6
We will work in the \emph{affine} variant of linear logic, which validates weakening: $(A \land B )\limp A$. There are many reasons for this; essentially it does not have much effect on complexity while also creating a more robust proof theory. For example it induces the equivalence:
7
\(
8
!(A\land B) \equiv (!A \land !B)
9
\).\footnote{Notice that the right-left direction is already valid in usual linear logic, but the left-right direction requires weakening.}
10

  
11

  
12
%We define a variant of arithmetic inspired by Bellantoni and Hofmann's $A^1_2$. We describe later some connections to bounded arithmetic.
13

  
14

  
15
\newcommand{\lang}{\mathcal L}
16

  
17
\subsection{Axiomatisation and an equivalent rule system}
18

  
19
%\begin{definition}
20
%[Language]
21
We consider the language $\lang$ consisting of the constant symbol $\epsilon$, unary function symbols $\succ_0 , \succ_1$ and the predicate symbol  $\word$, together with function symbols $f,g,h$ etc.
22
%\end{definition}
23
$\lang$-structures are typically extensions of $\Word = \{ 0,1 \}^*$, in which $\epsilon, \succ_0, \succ_1$ are intended to have their usual interpretations. The $\word$ predicate is intended to indicate those elements of the model that are binary words (in the same way as Peano's $N$ predicate indicates those elements that are natural numbers).
24

  
25
As an abbreviation, we write $\word (\vec t)$ for $\bigotimes^{|\vec t|}_{i=1} \word(t_i)$.
26

  
27
\begin{remark}
28
[Interpretation of natural numbers]
29
Notice that the set $\Nat^+$ of positive integers is $\lang$-isomorphic to $\Word$ under the interpretation $\{ \epsilon \mapsto 1 , \succ_0 (x) \mapsto 2x , \succ_1 (x) \mapsto 2x+1 \}$, so we could equally consider what follows as theories over $\Nat^+$.
30
\end{remark}
31

  
32

  
33
The `basic' axioms are essentially the axioms of Robinson arithmetic (or Peano Arithmetic without induction) without axioms for addition and multiplication.
34
%\footnote{They are also similar to the `generative' axioms of Leivant's intrinsic theories [cite] for this signature.} 
35
Let us write $\forall x^\word . A$ for $\forall x . ( \word(x) \limp A )$ and $\exists x^\word . A$ for $\exists x . ( \word(x) \land A )$. We use the abbreviations $\forall x^{!\word}$ and $\exists x^{!\word}$ similarly.
36

  
37
\newcommand{\wordcntr}{\word_\cntr}
38
\newcommand{\natcntr}{\nat_\cntr}
39
\newcommand{\geneps}{\word_{\epsilon}}
40
\newcommand{\genzer}{\word_{0}}
41
\newcommand{\genone}{\word_{1}}
42

  
43

  
44
\newcommand{\sepeps}{\epsilon}
45
\newcommand{\sepzer}{\succ_{0}}
46
\newcommand{\sepone}{\succ_{1}}
47

  
48
\newcommand{\inj}{\mathit{inj}}
49
\newcommand{\surj}{\mathit{surj}}
50

  
51
\newcommand{\basic}{\mathit{BASIC}}
52

  
53
\begin{definition}
54
[Basic axioms]
55
The theory $\basic$ consists of the following axioms:
56
\[
57
\small
58
\begin{array}{rl}
59
%\wk & (A \land B )\limp A \\
60
%\geneps 
61
& \word(\epsilon) \\
62
%\genzer 
63
& \forall x^\word . \word(\succ_0 x) \\
64
%\genone 
65
& \forall x^\word . \word(\succ_1 x) \\
66
%\sepeps & \forall x^\word . (\epsilon \neq \succ_0 x \land \epsilon \neq \succ_1 x) \\
67
%\sepzer & \forall x^\word , y^\word. ( \succ_0 x = \succ_0 y \limp x=y ) \\
68
%\sepone & \forall x^\word , y^\word. ( \succ_1 x = \succ_1 y \limp x=y ) \\
69
%\inj & \forall x^\word . \succ_0 x \neq \succ_1 x \\
70
%\surj & \forall x^\word . (x = \epsilon \laor \exists y^\word . x = \succ_0 y \laor \exists y^\word . x = \succ_1 y ) \\
71
%\noalign{\smallskip}
72
%\wordcntr & \forall x^\word . (\word(x) \land \word(x)) 
73
\end{array}
74
%\quad
75
\begin{array}{rl}
76
%\wk & (A \land B )\limp A \\
77
%\geneps & \word(\epsilon) \\
78
%\genzer & \forall x^\word . \word(\succ_0 x) \\
79
%\genone & \forall x^\word . \word(\succ_1 x) \\
80
%\sepeps 
81
& \forall x^\word . (\epsilon \neq \succ_0 x \land \epsilon \neq \succ_1 x) \\
82
%\sepzer 
83
& \forall x^\word , y^\word. ( \succ_0 x = \succ_0 y \limp x=y ) \\
84
%\sepone 
85
& \forall x^\word , y^\word. ( \succ_1 x = \succ_1 y \limp x=y ) \\
86
%\inj & \forall x^\word . \succ_0 x \neq \succ_1 x \\
87
%\surj & \forall x^\word . (x = \epsilon \laor \exists y^\word . x = \succ_0 y \laor \exists y^\word . x = \succ_1 y ) \\
88
%\noalign{\smallskip}
89
%\wordcntr & \forall x^\word . (\word(x) \land \word(x)) 
90
\end{array}
91
%\quad
92
\begin{array}{rl}
93
%\wk & (A \land B )\limp A \\
94
%\geneps & \word(\epsilon) \\
95
%\genzer & \forall x^\word . \word(\succ_0 x) \\
96
%\genone & \forall x^\word . \word(\succ_1 x) \\
97
%\sepeps & \forall x^\word . (\epsilon \neq \succ_0 x \land \epsilon \neq \succ_1 x) \\
98
%\sepzer & \forall x^\word , y^\word. ( \succ_0 x = \succ_0 y \limp x=y ) \\
99
%\sepone & \forall x^\word , y^\word. ( \succ_1 x = \succ_1 y \limp x=y ) \\
100
%\inj 
101
& \forall x^\word . \succ_0 x \neq \succ_1 x \\
102
%\surj 
103
& \forall x^\word . (x = \epsilon \laor \exists y^\word . x = \succ_0 y \laor \exists y^\word . x = \succ_1 y ) \\
104
%\noalign{\smallskip}
105
%\wordcntr 
106
& \forall x^\word . (\word(x) \land \word(x)) 
107
\end{array}
108
\]
109
\end{definition}
110

  
111
These axioms insist that, in any model, the set induced by $\word (x)$ has the free algebra $\Word$ as an initial segment. 
112
Importantly, there is also a form of contraction for the $\word$ predicate.
113
We will consider theories over $\basic$ extended by induction schemata:
114

  
115
\begin{definition}
116
[Induction]
117
The \emph{(polynomial) induction} axiom schema, $\ind$, consists of the following axioms,
118
\[
119
%\begin{array}{rl}
120
%& A(\epsilon) \\
121
%\limp & !(\forall x^{!\word} . ( A(x) \limp A(\succ_0 x) ) ) \\
122
%\limp & !(\forall x^{!\word} . ( A(x) \limp A(\succ_1 x) ) ) \\
123
%\limp & \forall x^{!\word} . A(x)
124
%\end{array}
125
A(\epsilon) 
126
\limp !(\forall x^{!\word} . ( A(x) \limp A(\succ_0 x) ) ) 
127
\limp  !(\forall x^{!\word} . ( A(x) \limp A(\succ_1 x) ) ) 
128
\limp  \forall x^{!\word} . A(x)
129
\]
130
for each formula $A(x)$.
131

  
132
For a class $\Xi$ of formulae, $\cax{\Xi}{\ind}$ denotes the set of induction axioms when $A(x) \in \Xi$. 
133

  
134
We write $I\Xi$ to denote the theory consisting of $\basic$ and $\cax{\Xi}{\ind}$.
135
\end{definition}
136

  
137
We use the terminology `polynomial induction' to maintain consistency with the bounded arithmetic literature, e.g.\ in \cite{Buss86book}, where it is distinguished from induction on the \emph{value} of a string (construed as a natural number). The two forms have different computational behaviour, specifically with regards to complexity, but we will restrict attention to $\ind$ throughout this work, and thus may simply refer to it as `induction'.
138

  
139

  
140
%\anupam{in fact just give general case for a universal closed formula. Then remark about invertibility of negation giving purely positive initial steps. These occur in section 6 so no need to write them out here.}
141
\begin{proposition}
142
[Equivalent rules]
143
\label{prop:equiv-rules}
144
$\basic$ is equivalent to the following set of rules,
145
\[
146
\small
147
\begin{array}{l}
148
\begin{array}{cccc}
149
\vlinf{\geneps}{}{\seqar \word (\epsilon)}{}&
150
\vlinf{\genzer}{}{\word(t) \seqar \word(\succ_0 t)}{}&
151
\vlinf{\sepeps_0}{}{ \word (t)   \seqar \epsilon \neq \succ_0 t}{} &
152
\vlinf{\sepzer}{}{\word (s) , \word (t)  , \succ_0 s = \succ_0 t\seqar s = t }{}\\
153
\vlinf{\inj}{}{\word(t) \seqar\succ_0 t \neq \succ_1 t}{}&
154
\vlinf{\genone}{}{\word(t) \seqar \word(\succ_1 t)}{}&
155
\vlinf{\sepeps_1}{}{ \word (t)   \seqar \epsilon \neq \succ_1 t }{}&
156
\vlinf{\sepone}{}{\word (s) , \word (t)  , \succ_1 s = \succ_1 t\seqar s = t }{}
157
\end{array}
158
\\
159
\vlinf{\surj}{}{\word (t) \seqar t = \epsilon \laor \exists y^\word . t = \succ_0 y \laor \exists y^\word . t = \succ_1 y }{}
160
\qquad
161
\vlinf{\wordcntr}{}{\word(t) \seqar \word(t) \land \word(t) }{}
162
\end{array}
163
\]
164
%\[
165
%\vlinf{}{}{\seqar \word (\epsilon)}{}
166
%\quad
167
%\vlinf{}{}{\word(t) \seqar \word(\succ_0 t)}{}
168
%\quad
169
%\vlinf{}{}{\word(t) \seqar \word(\succ_1 t)}{}
170
%\qquad \qquad 
171
%\vlinf{}{}{\word(t) \seqar \word(t) \land \word(t) }{}
172
%\]
173
%\[
174
%\vlinf{}{}{ \word (t)  , \epsilon = \succ_0 t \seqar }{} 
175
%\quad
176
%\vlinf{}{}{ \word (t)  , \epsilon = \succ_1 t \seqar }{}
177
%\quad
178
%\vlinf{}{}{\word (s) , \word (t)  , \succ_0 s = \succ_0 t\seqar s = t }{}
179
%\quad
180
%\vlinf{}{}{\word (s) , \word (t)  , \succ_1 s = \succ_1 t\seqar s = t }{}
181
%\]
182
%\[
183
%\vlinf{}{}{\word(t), \succ_0 t = \succ_1 t \seqar}{}
184
%\quad
185
%\vlinf{}{}{\word (t) \seqar t = \epsilon \laor \exists y^\word . t = \succ_0 y \laor \exists y^\word . t = \succ_1 y }{}
186
%\]
187
%\vspace{1em}
188
and $\ind$ is equivalent to,
189
\begin{equation}
190
\label{eqn:ind-rule}
191
\small
192
\vliinf{\ind}{}{ !\word(t) , !\Gamma , A(\epsilon) \seqar A(t), ?\Delta }{ !\word(a) , !\Gamma, A(a) \seqar A(\succ_0 a) , ?\Delta }{ !\word(a) , !\Gamma, A(a) \seqar A(\succ_1 a) , ?\Delta  }
193
\end{equation}
194
where, in all cases, $t$ varies over arbitrary terms and the eigenvariable $a$ does not occur in the lower sequent of the $\ind$ rule.
195
\end{proposition}
196

  
197
Note, in particular, that since this system of rules is closed under substitution of terms for free variables, free-cut elimination, Thm.~\ref{thm:free-cut-elim}, applies.
198

  
199

  
200
When converting from a $\ind$ axiom instance to a rule instance (or vice-versa) the induction formula remains the same. For this reason when we consider theories that impose logical restrictions on induction we can use either interchangeably.
201

  
202
\begin{remark}
203
%\anupam{Mention that two induction rules are not the same. This is crucial in, e.g.\ the completeness section for the case of PRN.}
204
Usually the induction axiom is also equivalent to a formulation with a designated premise for the base case:
205
\begin{equation}
206
\label{eqn:ind-rul-base-prem}
207
\vliiinf{}{}{ !\word(t) , !\Gamma  \seqar A(t), ?\Delta }{!\Gamma \seqar A(\epsilon)}{ !\word(a) , !\Gamma, A(a) \seqar A(\succ_0 a) , ?\Delta }{ !\word(a) , !\Gamma, A(a) \seqar A(\succ_1 a) , ?\Delta  }
208
\end{equation}
209
However, 
210
%but 
211
this is not true in the linear logic setting since the proof that \eqref{eqn:ind-rul-base-prem} simulates \eqref{eqn:ind-rule} above relies on contraction on the formula $A(\epsilon)$, which is not in general available. Therefore \eqref{eqn:ind-rul-base-prem} is somewhat weaker than \eqref{eqn:ind-rule}, and is in fact equivalent to a version of the induction axiom with $!A(\epsilon)$ in place of $A(\epsilon)$. This distinction turns out to be crucial in Sect.~\ref{sect:bc-convergence}, namely when proving the convergence of functions defined by predicative recursion on notation.
212
\end{remark}
213

  
214
%
215
%\subsection{Equivalent rule systems}
216
%Instead of weakening and induction axioms, we consider the following rules, which are provably equivalent:
217
%
218
%\[
219
%\vlinf{\lefrul{\wk}}{}{\Gamma, A \seqar \Delta}{\Gamma \seqar \Delta}
220
%\quad
221
%\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta}
222
%\quad
223
%\vliinf{\pind}{}{ !N(t) , !\Gamma , A(\epsilon) \seqar A(t), ?\Delta }{ !N(a) , !\Gamma, A(a) \seqar A(\succ_0 a) , ?\Delta }{ !N(a) , !\Gamma, A(a) \seqar A(\succ_0 a) , ?\Delta  }
224
%\]
225
%
226
%\todo{provable equivalence, if necessary.}
227
%
228
%The inclusion of the first two rules places us in an \emph{affine} setting, whereas the induction rule allows better proof theoretic manipulation.
229
%
230
%Finally, for each universally quantified axiom, we consider instead the schema of initial rules with unbound terms in place of universally quantified variables, again for proof theoretic reasons:
231
%\[
232
%\vlinf{\natcntr}{}{\nat(t) \seqar \nat(t) \land \nat(t) }{}
233
%\quad
234
%\vlinf{\nat_\epsilon}{}{\seqar \nat (\epsilon)}{}
235
%\quad
236
%\vlinf{\nat_0}{}{\nat(t) \seqar \nat(\succ_0 t)}{}
237
%\quad
238
%\vlinf{\nat_1}{}{\nat(t) \seqar \nat(\succ_1 t)}{}
239
%\]
240
%\[
241
%\vlinf{\epsilon^0}{}{ \nat (t)  , \epsilon = \succ_0 t \seqar }{} 
242
%\quad
243
%\vlinf{\epsilon^1}{}{ \nat (t)  , \epsilon = \succ_1 t \seqar }{}
244
%\quad
245
%\vlinf{\succ_0}{}{\nat (s) , \nat (t)  , \succ_0 s = \succ_0 t\seqar s = t }{}
246
%\quad
247
%\vlinf{\succ_1}{}{\nat (s) , \nat (t)  , \succ_1 s = \succ_1 t\seqar s = t }{}
248
%\]
249
%\[
250
%\vlinf{\inj}{}{\nat(t), \succ_0 t = \succ_1 t \seqar}{}
251
%\quad
252
%\vlinf{\surj}{}{\nat (t) \seqar t = \epsilon , \exists y^\nat . t = \succ_0 y , \exists y^\nat . t = \succ_1 y }{}
253
%\]
254
%%in place of their corresponding axioms.
255
%
256
%%\todo{in existential above, is there a prenexing problem?}
257
%
258
%
259
%\anupam{
260
%NEW INDUCTION STEP:
261
%\[
262
%\vliiinf{\pind}{}{!\Gamma, !\nat(t) , \nat (\vec x) \seqar A(t, \vec x) }{!\Gamma , \nat (\vec x) \seqar A(\epsilon, \vec x) }{ !\Gamma, !\nat (a) , \nat (\vec x) , A(a, \vec x) \seqar A(\succ_i a, \vec x) }{!\Gamma, !\nat (a) , \nat (\vec x) , A(a, \vec x) \seqar A(\succ_i a, \vec x)}
263
%\]
264
%
265
%Need to examine strength of this: somewhat weaker since needs actual premiss for base case (only significant because of linear logic), but somewhat stronger because of use of $\nat(\vec x)$ on the left in context.
266
%}
267

  
268

  
269
\subsection{Provably convergent functions}
270
%
271
%\anupam{Herbrand-G\"odel equational programs from Kle52, cited in Lei94b.}
272
%
273
%\anupam{`coherent' programs, defined by Leivant. = consistent so has a model.}
274

  
275
As in the work of Bellantoni and Hofmann \cite{BelHof:02} and Leivant before \cite{Leivant94:found-delin-ptime}, our model of computation is that of Herbrand-G\"odel style \emph{equational specifications}. These are expressive enough to define every partial recursive function, which is the reason why we also need the $\word$ predicate to have a meaningful notion of `provably convergent function'.
276

  
277
\begin{definition}
278
	[Equational specifications and convergence]
279
	An \emph{equational specification} (ES) is a set of equations between terms. We say that an ES is \emph{coherent} if the equality between any two distinct ground terms cannot be proved by equational logic.
280
%	\footnote{This is the quantifier-free fragment of first-order logic with equality and no other predicate symbols.}
281
	
282
	The \emph{convergence statement} $\conv (f , \eqspec)$ for an equational specification $\eqspec$ and a function symbol $f$ (that occurs in $\eqspec$) is the following formula:
283
	\[
284
	\bigotimes_{A \in \eqspec} ! \forall \vec x . A
285
	\ \limp \ 
286
	\forall \vec x^{! \word} .  \word (f (\vec x) )
287
	\]
288
	\end{definition}
289
	
290
	
291
The notion of coherence appeared in \cite{Leivant94:found-delin-ptime} and it is important to prevent a convergence statement from being a vacuous implication. In this work we will typically consider only coherent ESs, relying on the following result which is also essentially in \cite{Leivant94:found-delin-ptime}:
292
\begin{proposition}
293
	\label{prop:eq-spec-model}
294
%	For every equational specification $\eqspec$, its universal closure has a model.
295
The universal closure of a coherent ES $\eqspec$ has a model satisfying $\basic + \ind$.
296
\end{proposition}
297

  
298
%\begin{proof}
299
%%\todo{ take $\Word \cup \{\bot\}$ or use completeness? Omit if no time. }
300
%Consider the standard model $\Word $ extended by an element $\infty$ with $\succ_0 \infty = \succ_1 \infty = \infty$. Setting $\word = \Word$ means this model satisfies $\basic$. Now, for each function symbol $f$, define $f(\sigma) = \tau$ for every $\sigma, \tau \in \Word$ for which this equation is forced by $\eqspec$. Otherwise define $f(\sigma) = f(\infty) = \infty$.
301
%\todo{replace with argument using completeness.}
302
%\end{proof}
303

  
304
	One issue is that a convergence statement contains universal quantifiers, which is problematic for the extraction of functions by the witness function method later on.
305
%	\footnote{Intuitively universal quantifiers can be interpreted by type 1 functions. From here, in an intuitionistic setting, a $\forall$-right step can be directly realised, but in the classical setting the presence of side-formulae on the right can cause issues for constructivity.}
306
	We avoid this problem by appealing to the deduction theorem and further invertibility arguments:
307
	
308
	
309
	Let us write $\closure{\eqspec}$ for the closure of a specification $\eqspec$ under substitution of terms for free variables.
310
	
311
	\begin{lemma}
312
		\label{lemma:spec-norm-form}
313
	A system $\system$ proves $\conv (f , \eqspec)$ if and only if $\system \cup \closure{\eqspec}$ proves $!\word (\vec a) \seqar \word ( f (\vec a) )$.
314
	\end{lemma}
315
	\begin{proof}[Proof sketch]
316
		By deduction, Thm.~\ref{thm:deduction}, and invertibility arguments.
317
	\end{proof}	
318
	
319
	Notice that the initial rules from $ \closure{\eqspec}$ are also closed under term substitution, and so compatible with free-cut elimination, and that $\closure{\eqspec}$ and $\word (\vec a) \seqar \word ( f (\vec a) )$ are free of negation and universal quantifiers.
320

  
321

  
322
\subsection{$\word$-guarded quantifiers, rules and cut-reduction cases}
323
We consider a quantifier hierarchy here analogous to the arithmetical hierarchy, where each class is closed under positive multiplicative operations. In the scope of this work we are only concerned with the first level:
324

  
325
%We now introduce a quantifier hierarchy of formulae so we can identify the theories that we will be concerned with for the remainder of this article.
326
%
327
%
328
\begin{definition}
329
%[Quantifier hierarchy]
330
	We define $\sigzer $ as the class of multiplicative formulae that are free of quantifiers where $\word$ occurs positively.\footnote{Since our proof system is in De Morgan normal form, this is equivalent to saying that there is no occurrence of $\word^\bot$.}
331
	The class $\sigone$ is the closure of $\sigzer$ by $\exists$, $\lor$ and $\land$.
332
%	For $i> 0$ we define $\Sigma^\word_i$ and $\Pi^\word_i$ as follows:
333
%	\begin{itemize}
334
%		\item If $A \in \Sigma^\word_{i-1} \cup \Pi^\word_{i-1}$ then $A \in \Sigma^\word_i$ and $A \in \Pi^\word_i$.
335
%		\item If $A \in \Sigma^\word_i$ then $\exists x^\word . A \in \Sigma^\word_i$.
336
%		\item If $A \in \Pi^\word_i$ then $\forall x^\word . A \in \Pi^\word_i$.
337
%		\item If $A,B \in \Sigma^\word_i$ then $A \lor B$ and $A\land B \in \Sigma^\word_i$.
338
%		\item If $A,B \in \Pi^\word_i$ then $A \lor B$ and $A\land B \in \Pi^\word_i$.
339
%	\end{itemize}
340
%	We add $+$ in superscript to a class to restrict it to formulae where $\word$ occurs in only positive context.
341
\end{definition}
342

  
343
For the remainder of this article we mainly work with the theory $\arith$, i.e.\ $\basic + \cax{\sigone}{\ind}$.
344

  
345
%\vspace{1em}
346

  
347
It will be useful for us to work with proofs using the `guarded' quantifiers $\forall x^\word$ and $\exists x^\word$ in place of their unguarded counterparts, in particular to carry out the argument in Sect.~\ref{sect:wfm}. 
348
%To this end we introduce rules for these guarded quantifiers and show that they are compatible with free-cut elimination.
349
%
350
%For the quantifiers $\exists x^N $ and $\forall x^N$ we introduce the following rules, which are compatible with free-cut elimination:
351
%For the quantifiers $\exists x^\word $ and $\forall x^\word$ we 
352
Therefore we define the following rules, which are already derivable:
353
\[
354
%\begin{array}{cc}
355
%\vlinf{}{}{\Gamma \seqar \Delta, \forall x^\word . A(x)}{\Gamma, \word(a) \seqar \Delta , A(a)}
356
%\quad & \quad
357
%\vlinf{}{}{\Gamma, \word(t),\forall x^\word A(x) \seqar \Delta}{\Gamma,  A(t) \seqar \Delta}
358
%\\
359
%\noalign{\bigskip}
360
%\vlinf{}{}{\Gamma , \exists x^\word A(x) \seqar \Delta}{\Gamma, \word(a), A(a) \seqar \Delta}
361
%\quad &\quad 
362
%\vlinf{}{}{\Gamma, \word(t) \seqar \Delta , \exists x^\word . A(x)}{\Gamma  \seqar \Delta, A(t)}
363
%\end{array}
364
\vlinf{}{}{\Gamma \seqar \Delta, \forall x^\word . A(x)}{\Gamma, \word(a) \seqar \Delta , A(a)}
365
\quad
366
\vlinf{}{}{\Gamma, \word(t),\forall x^\word A(x) \seqar \Delta}{\Gamma,  A(t) \seqar \Delta}
367
\quad 
368
\vlinf{}{}{\Gamma , \exists x^\word A(x) \seqar \Delta}{\Gamma, \word(a), A(a) \seqar \Delta}
369
\quad
370
\vlinf{}{}{\Gamma, \word(t) \seqar \Delta , \exists x^\word . A(x)}{\Gamma  \seqar \Delta, A(t)}
371
\]
372

  
373
%\begin{proposition}
374
%	Any principal cut between the quantifier rules above and a logical step is reducible.
375
%	\end{proposition}
376

  
377
We now show that these rules are compatible with free-cut elimination.
378

  
379
\begin{proposition}\label{prop:logicalstepguardedquantifer}
380
	Any cut between the principal formula of a quantifier rule above and the principal formula of  a logical step is reducible.
381
	\end{proposition}
382
\begin{proof}
383
 For a cut on $\forall x^\word . A(x)$, the reduction is obtained by performing successively the two reduction steps for the $\forall$ and $\limp$ connectives. The case of $\exists x^\word A(x)$ is similar. 
384
\end{proof}	
385
	
386
		\begin{corollary}
387
		[Free-cut elimination for guarded quantifiers]
388
		\label{cor:free-cut-elim-guarded-quants}
389
		  Given a system  $\system$, any  $\system$-proof $\pi$ using $\exists x^\word $ and $\forall x^\word$  rules can be transformed into free-cut free form.
390
\end{corollary}
391
%\begin{proof}
392
%  First translate the proof $\pi$ into the proof $\pi_0$ where all guarded quantifiers rules have been replaced by their derivation, and say that two rule instances in $\pi_0$ are \textit{siblings} if they come from the same derivation of a guarded quantifier rule. So in $\pi_0$ any two sibling rules are consecutive. Now observe that in the free-cut elimination procedure:
393
%  \begin{itemize}
394
%  \item when we do a commutation step of a cut with a $\forall$ (resp. $\exists$ rule) that has a sibling, we can follow it by another commutation of cut with its sibling,
395
%  \item when we do a logical cut-elimination step on a $\forall$ (resp. $\exists$ rule) that has a sibling, we can follow it by a logical cut-elimination step on its sibling, as illustrated by Prop. \ref{prop:logicalstepguardedquantifer}.
396
%  \end{itemize}
397
%  In this way sibling rules remain consecutive in the proof-tree throughout the reduction, and the procedure transforms the proof into one with only anchored cuts.
398
%\end{proof}
399

  
400
As a consequence of this Corollary observe that any $I\Sigma^{\word^+}_{1}$-proof can be transformed into a proof which is free-cut free and whose formulas contain only $\exists x^\word$ quantifiers.   
CSL16/final-version/wfm.tex (revision 126)
1
\section{Witness function method}
2
\label{sect:wfm}
3
We now prove the converse to the last section: any provably convergent function in $\arith$ is polynomial-time computable,
4
%.
5
%To this end we use the \emph{witness function method} (WFM), a common technique in {bounded arithmetic} \cite{Buss86book}.
6
using the witness function method (WFM) \cite{Buss86book}.
7

  
8
The WFM differs from realisability and Dialectica style witnessing arguments mainly since it does not require functionals at higher type. Instead a translation is conducted directly from a proof in De Morgan normal form, i.e.\ with negation pushed to the atoms, relying on classical logic. 
9
%Free-cut elimination is employed to control the quantifer complexity of formulae occurring in a proof, although here we furthermore use it to control the presence of \emph{contraction} in a proof, to which we have access via the modalities of linear logic. This
10
%Free-cut elimination is employed to control the logical complexity of formulae occurring in a proof, and a formal `witness' predicate plays a similar role to the realisability predicate.
11

  
12
The combination of De Morgan normalisation and free-cut elimination plays a similar role to the double-negation translation, and this is even more evident in our setting where the transformation of a classical proof to free-cut free form can be seen to be a partial `constructivisation' of the proof. As well as eliminating the (nonconstructive) occurrences of the $\forall$-right rule, as usual for the WFM, the linear logic refinement of the logical connectives means that right-contraction steps are also eliminated. This is important due to the fact that we are in a setting where programs are equational specifications, not formulae (as in bounded arithmetic \cite{Buss86book}) or combinatory terms (as in applicative theories \cite{Cantini02}), so we cannot in general decide atomic formulae.
13

  
14
%Some key features of this method are the following:
15
%\begin{itemize}
16
%	\item T
17
%\end{itemize}
18
%
19
%Key features/differences from realisability:
20
%\begin{itemize}
21
%	\item De Morgan normal form: reduces type level to $0$, complementary to double-negation translation that \emph{increases} type level.
22
%	\item Free-cut elimination: allows us to handles formulae of fixed logical complexity throughout the proof. 
23
%	\item Respects logical properties of formulae, e.g.\ quantifier complexity, exponential complexity.
24
%\end{itemize}
25
%
26
%\todo{say some more here}
27
%
28
%\todo{compare with applicative theories}
29
%
30
%\anupam{in particular, need to point out that this argument is actually something in between, since usually the WFM requires programs to be defined by formulae, not equational specifications.}
31

  
32
\newcommand{\type}{\mathtt{t}}
33
\newcommand{\norm}{\nu}
34
\newcommand{\safe}{\sigma}
35

  
36

  
37
		
38
		\subsection{The translation}
39
		
40
We will associate to each (free-cut free) proof of a convergence statement in $\arith$ a function on $\Word$ defined by a BC program. In the next section we will show that this function satisfies the equational specification of the convergence statement.
41
%, hence showing that any provably convergent function of $\arith$ is polynomial-time computable.\footnote{Strictly speaking, we will also require the equational specification at hand to be coherent, cf.\ Prop.~\ref{prop:eq-spec-model}.}
42
		
43
		\begin{definition}
44
			[Typing]
45
			\label{dfn:typing}
46
			To each $(\forall, ?)$-free $\word^+$-formula $A$ we associate a sorted tuple of variables $\type (A)$, intended to range over $\Word$, as follows:
47
			\[
48
%			\begin{array}{rcll}
49
%			\type (\word (t)) & := & (;x^{\word (t)} ) & \\
50
%			\type(s = t) & := & ( ; x^{s = t}) & \\
51
%			\type (s \neq t) & := & ( ;x^{s\neq t} )\\
52
%%			\type (A \lor B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$ and $\type(B) = (\vec v ; \vec y)$.} \\
53
%			\type (A \star B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$, $\type(B) = (\vec v ; \vec y)$ and $\star \in \{ \lor, \land, \laor, \laand \}$.} \\
54
%			\type (! A) & : = & ( \vec u ,\vec x  ; ) & \text{if $\type(A) = (\vec u ; \vec x )$.} \\
55
%			\type (\exists x^\word . A) & := & (\vec u ; \vec x , y) & \text{if $\type (A) = (\vec u ; \vec x)$.}
56
%			%	\type (\forall x^N . A) & := & \Nat \to \type(A)
57
%			\end{array}
58
%
59
			\begin{array}{rcll}
60
			\type (\word (t)) & := & (;x^{\word (t)} ) & \\
61
			\type(s = t) & := & ( ; x^{s = t}) & 
62
%			\\
63
%			\type (s \neq t) & := & ( ;x^{s\neq t} )\\
64
%%			\type (A \lor B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$ and $\type(B) = (\vec v ; \vec y)$.} \\
65
%			\type (A \star B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$, $\type(B) = (\vec v ; \vec y)$ and $\star \in \{ \lor, \land, \laor, \laand \}$.} \\
66
%			\type (! A) & : = & ( \vec u ,\vec x  ; ) & \text{if $\type(A) = (\vec u ; \vec x )$.} \\
67
%			\type (\exists x^\word . A) & := & (\vec u ; \vec x , y) & \text{if $\type (A) = (\vec u ; \vec x)$.}
68
%			%	\type (\forall x^N . A) & := & \Nat \to \type(A)
69
			\end{array}
70
			\quad
71
						\begin{array}{rcll}
72
%						\type (\word (t)) & := & (;x^{\word (t)} ) & \\
73
%						\type(s = t) & := & ( ; x^{s = t}) & \\
74
						\type (s \neq t) & := & ( ;x^{s\neq t} )\\
75
			%			\type (A \lor B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$ and $\type(B) = (\vec v ; \vec y)$.} \\
76
%						\type (A \star B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$, $\type(B) = (\vec v ; \vec y)$ and $\star \in \{ \lor, \land, \laor, \laand \}$.} \\
77
						\type (! A) & : = & ( \vec u ,\vec x  ; ) & 
78
%						\text{if $\type(A) = (\vec u ; \vec x )$.} \\
79
%						\type (\exists x^\word . A) & := & (\vec u ; \vec x , y) & \text{if $\type (A) = (\vec u ; \vec x)$.}
80
%						%	\type (\forall x^N . A) & := & \Nat \to \type(A)
81
						\end{array}
82
						\quad
83
									\begin{array}{rcll}
84
%									\type (\word (t)) & := & (;x^{\word (t)} ) & \\
85
%									\type(s = t) & := & ( ; x^{s = t}) & \\
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff