Statistiques
| Révision :

root / CSL16 / bc-convergence.tex @ 225

Historique | Voir | Annoter | Télécharger (12,52 ko)

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