Statistiques
| Révision :

root / CSL16 / bc-convergence.tex @ 230

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

1 33 adas
2 71 adas
\section{Convergence of Bellantoni-Cook programs in $\arith$}
3 88 adas
\label{sect:bc-convergence}
4 73 adas
%\anupam{In this section, use whatever form of the deduction theorem is necessary and reverse engineer precise statement later.}
5 34 adas
6 110 adas
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 110 adas
%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 110 adas
%
9 110 adas
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 34 adas
11 73 adas
We will assume the formulation of BC programs with regular PRN, not simultaneous PRN.
12 59 adas
13 59 adas
14 73 adas
%\subsection{Convergence in arithmetic}
15 60 adas
16 56 pbaillot
%\begin{theorem}
17 56 pbaillot
%	[Convergence]
18 56 pbaillot
%	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 56 pbaillot
%\end{theorem}
20 56 pbaillot
21 73 adas
%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 33 adas
\begin{theorem}
23 73 adas
%	[Convergence]
24 90 adas
\label{thm:arith-proves-bc-conv}
25 89 adas
	If $\eqspec$ is a BC program defining a function $f$, then $I\sigzer$ proves $\conv(f, \eqspec)$.
26 33 adas
\end{theorem}
27 75 adas
28 105 adas
%\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 75 adas
30 105 adas
\begin{proof}[Proof sketch]
31 40 adas
%	We write function symbols in $\arith$ with arguments delimited by $;$, as for BC-programs.
32 109 adas
	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 109 adas
%	\begin{equation}
34 109 adas
%	\label{eqn:prv-cvg-ih}
35 109 adas
%\forall \vec{u}^{!\word} . \forall \vec{x}^\word . \word(f(\vec u ; \vec x))
36 109 adas
%	\end{equation}
37 105 adas
	We proceed by induction on the structure of a BC program for $f$, and sketch only the key cases here.
38 73 adas
%	We give some key cases in what follows.
39 33 adas
40 109 adas
	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 109 adas
%	\[
42 109 adas
%	\begin{array}{rcl}
43 109 adas
%	f(\epsilon,\vec v ; \vec x) & = & g(\vec v ; \vec x) \\
44 109 adas
%	f(\succ_i u , \vec v; \vec x) & = & h_i (u, \vec v ; \vec x , f(u , \vec v ; \vec x))
45 109 adas
%	\end{array}
46 109 adas
%	\]
47 109 adas
%	By the inductive hypothesis we have \eqref{eqn:prv-cvg-ih} for $g,h_0,h_1$ in place of $f$.
48 109 adas
	From the inductive hypothesis for $g$, we construct the following proof,
49 33 adas
	\begin{equation}
50 75 adas
	\label{eqn:prn-cvg-base}
51 107 adas
	\small
52 75 adas
	\vlderivation{
53 75 adas
			\vliq{\beta}{}{!\word(\vec v) , \word (\vec x) \seqar \word(f (\epsilon , \vec v ; \vec x)) }{
54 75 adas
				\vliq{\alpha}{}{!\word (\vec v) , \word (\vec x) \seqar \word (g (\vec v ; \vec x) ) }{
55 109 adas
%					\vltr{\IH}{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x)) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
56 109 adas
%				\vliq{}{}{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x))}{\vlhy{}}
57 109 adas
\vlhy{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x))}
58 75 adas
					}
59 75 adas
				}
60 75 adas
			}
61 33 adas
	\end{equation}
62 109 adas
 where $\alpha $ is purely logical and $\beta$ is obtained from $\closure{\eqspec}$ and equality.
63 75 adas
%	We first prove,
64 75 adas
%	\begin{equation}
65 75 adas
%	!\word (a) , !\word (\vec v) , \word (\vec x) \land \word (f( a , \vec v ; \vec x ) )
66 75 adas
%	\seqar
67 75 adas
%	\word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) )
68 75 adas
%	\end{equation}
69 75 adas
%	for $i=0,1$, whence we will apply $\ind$. We construct the following proofs:
70 109 adas
We also construct the proofs,
71 75 adas
	\begin{equation}
72 75 adas
	\label{eqn:prn-cvg-ind}
73 75 adas
	%\vlderivation{
74 93 adas
	%	\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 93 adas
	%	\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 93 adas
	%		\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 93 adas
	%			\vlin{\id}{}{\word(\vec x) \seqar \word (\vec x) }{\vlhy{}}
78 75 adas
	%			}{
79 93 adas
	%			\vliq{\beta}{}{  \word (\vec x) , \word (f(u , \vec v ; \vec x) ) \seqar \word ( f(\succ_i u , \vec v ; \vec x) ) }{
80 93 adas
	%				\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 93 adas
	%					\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 75 adas
	%					}
83 75 adas
	%				}
84 75 adas
	%			}
85 75 adas
	%		}
86 75 adas
	%	}
87 75 adas
	%	}
88 107 adas
	\small
89 75 adas
	\vlderivation{
90 75 adas
	\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 75 adas
	\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 75 adas
	\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 75 adas
	\vlin{\id}{}{\word (\vec x) \seqar \word (\vec x)}{\vlhy{}}
94 75 adas
	}{
95 75 adas
		\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 93 adas
				\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 109 adas
%					\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 109 adas
%\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 109 adas
\vlhy{\seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word , y^\word  .  \word ( h_i ( u, \vec v ; \vec x, y ) )}
100 75 adas
				}
101 75 adas
			}
102 75 adas
			}
103 75 adas
	}
104 75 adas
	}
105 75 adas
	}
106 75 adas
\end{equation}
107 109 adas
	from the inductive hypotheses for $h_i$, where $\alpha$ and $\beta$ are similar to before.
108 93 adas
%%	so let us suppose that $\word(\vec v)$ and prove,
109 75 adas
%	\begin{equation}
110 93 adas
%% \forall u^{!\word} .  (\word(\vec x) \limp \word(f(u , \vec v ; \vec x)  )
111 93 adas
%!\word (u) , !\word (\vec v) , \word (\vec x) \seqar \word ( f(u, \vec v ; \vec x) )
112 75 adas
%	\end{equation}
113 75 adas
%	by $\cax{\Sigma^N_1}{\pind}$ on $u$. After this the result will follow by $\forall$-introduction for $u, \vec v , \vec x$.
114 75 adas
115 75 adas
%	In the base case we have the following proof,
116 75 adas
%	\[
117 48 adas
%	\vlderivation{
118 93 adas
%	\vlin{\rigrul{\limp}}{}{ \seqar \word (\vec x) \limp \word (f(\epsilon , \vec v ; \vec x )) }{
119 93 adas
%		\vliq{\beta}{}{ \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x) ) }{
120 93 adas
%			\vliq{\alpha}{}{ \word (\vec x) \seqar \word ( g (\vec v ; \vec x) ) }{
121 93 adas
%				\vltr{IH}{\seqar \forall v^{!\word} . \forall x^\word . \word( g(\vec v ; \vec x) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
122 48 adas
%				}
123 48 adas
%			}
124 48 adas
%		}
125 48 adas
%		}
126 77 adas
Finally we compose these proofs as follows:
127 77 adas
\[
128 107 adas
\small
129 77 adas
\vlderivation{
130 77 adas
\vliq{\rigrul{\forall}}{}{ \seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word . \word ( f(u , \vec v ;\vec x)  ) }{
131 77 adas
\vliq{\lefrul{\cntr}}{}{ !\word (u), !\word (\vec v) , \word (\vec x) \seqar  \word ( f(u , \vec v ;\vec x)  )  }
132 77 adas
{
133 77 adas
\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 109 adas
%\vltr{\pi_\epsilon}{ !\word (\vec v) , \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x ) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
135 109 adas
\vlhy{ !\word (\vec v) , \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x ) ) }
136 77 adas
}
137 77 adas
{
138 77 adas
\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 77 adas
\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 77 adas
\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 77 adas
{
142 77 adas
\vlhy{
143 77 adas
\left\{
144 109 adas
%\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 109 adas
   !\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 107 adas
\right\}_i
147 77 adas
}
148 77 adas
}
149 77 adas
}
150 77 adas
}
151 77 adas
}
152 77 adas
}
153 77 adas
}
154 77 adas
}
155 77 adas
\]
156 107 adas
for $i=0,1$, where the steps $\inv{\land}$ are obtained from invertibility of $\lefrul{\land}$.
157 40 adas
158 93 adas
%For the inductive step, we suppose that $\word (u)$ and the proof is as follows,
159 40 adas
%
160 77 adas
%where the steps indicated $\alpha$ and $\beta$ are analogous to those for the base case.
161 77 adas
%%, and $\gamma$ is an instance of the general scheme:
162 77 adas
%%\begin{equation}
163 77 adas
%%\label{eqn:nat-cntr-left-derivation}
164 77 adas
%%\vlderivation{
165 93 adas
%%	\vliin{\cut}{}{ \word (t) , \Gamma \seqar \Delta }{
166 93 adas
%%		\vlin{\wordcntr}{}{ \word (t) \seqar \word (t) \land \word (t) }{\vlhy{}}
167 77 adas
%%		}{
168 93 adas
%%		\vlin{\lefrul{\land}}{}{\word (t)  \land \word (t) , \Gamma \seqar \Delta}{ \vlhy{\word (t)  ,\word (t) , \Gamma \seqar \Delta} }
169 77 adas
%%		}
170 77 adas
%%	}
171 77 adas
%%\end{equation}
172 77 adas
%
173 77 adas
%%
174 77 adas
%%For the inductive step, we need to show that,
175 77 adas
%%\[
176 77 adas
%%\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 77 adas
%%\]
178 77 adas
%%so let us suppose that $N(x)$ and we give the following proof:
179 77 adas
%%\[
180 77 adas
%%\vlderivation{
181 77 adas
%%	\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 77 adas
%%		\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 77 adas
%%			\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 77 adas
%%				\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 77 adas
%%			}{
186 77 adas
%%			\vlhy{2}
187 77 adas
%%		}
188 77 adas
%%	}{
189 77 adas
%%	\vlhy{3}
190 77 adas
%%}
191 77 adas
%%}
192 77 adas
%%}
193 77 adas
%%\]
194 77 adas
%%TOFINISH
195 50 adas
196 109 adas
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 50 adas
198 50 adas
199 109 adas
%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 109 adas
%%The conditional is defined equationally as:
201 109 adas
%%\[
202 109 adas
%%\begin{array}{rcl}
203 109 adas
%%C (; \epsilon, y_\epsilon , y_0, y_1  ) & = & y_\epsilon \\
204 109 adas
%%C(; \succ_0 x , y_\epsilon , y_0, y_1) & = & y_0 \\
205 109 adas
%%C(; \succ_1 x , y_\epsilon , y_0, y_1) & = & y_1
206 109 adas
%%\end{array}
207 109 adas
%%\]
208 109 adas
%Let $\vec y = ( y_\epsilon , y_0, y_1 )$ and construct the required proof as follows:
209 109 adas
%\[
210 109 adas
%\small
211 109 adas
%\vlderivation{
212 109 adas
%\vliq{}{}{ \word (x) , \word (\vec y) \seqar \word ( C(; x ,\vec y) )}{
213 109 adas
%\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 109 adas
%\vliq{}{}{ x = \epsilon , \word (\vec y) \seqar \word ( C(; x , \vec y) ) }{
215 109 adas
%\vliq{}{}{ \word (\vec y) \seqar \word ( C( ; \epsilon , \vec y ) ) }{
216 109 adas
%\vlin{\wk}{}{ \word (\vec y) \seqar \word (y_\epsilon) }{
217 109 adas
%\vlin{\id}{}{\word (y_\epsilon) \seqar \word ( y_\epsilon )}{\vlhy{}}
218 109 adas
%}
219 109 adas
%}
220 109 adas
%}
221 109 adas
%}{
222 109 adas
%\vlhy{
223 109 adas
%\left\{
224 109 adas
%\vlderivation{
225 109 adas
%\vlin{\lefrul{\exists}}{}{ \exists z^\word . x = \succ_i z , \word (\vec y) \seqar \word ( C(;x , \vec y) ) }{
226 109 adas
%\vliq{}{}{ x = \succ_i a , \word (\vec y ) \seqar \word (C(; x ,\vec y)) }{
227 109 adas
%\vliq{}{}{ \word (\vec y) \seqar \word ( C(; \succ_i a , \vec y ) ) }{
228 109 adas
%\vlin{\wk}{}{ \word (\vec y) \seqar \word (y_i) }{
229 109 adas
%\vlin{\id}{}{\word (y_i) \seqar \word (y_i)}{\vlhy{}}
230 109 adas
%}
231 109 adas
%}
232 109 adas
%}
233 109 adas
%}
234 109 adas
%}
235 109 adas
%\right\}_{i = 0,1}
236 109 adas
%}
237 109 adas
%}
238 109 adas
%}
239 109 adas
%}
240 109 adas
%\]
241 109 adas
%whence the result follows by $\forall$-introduction.
242 109 adas
%%The other initial functions are routine.
243 33 adas
\end{proof}
244 40 adas
245 40 adas
246 53 adas
247 53 adas
248 53 adas
249 53 adas
250 53 adas
251 53 adas
252 53 adas
253 53 adas
254 53 adas
255 53 adas
256 53 adas
257 53 adas
258 53 adas
259 53 adas
260 53 adas
261 53 adas
262 53 adas
263 53 adas
264 53 adas
265 53 adas
266 53 adas
267 53 adas
268 53 adas
269 53 adas
270 53 adas
271 53 adas
272 53 adas
273 53 adas
274 53 adas
275 53 adas
276 53 adas
277 53 adas
278 53 adas
279 53 adas
280 53 adas
281 53 adas
282 53 adas
283 53 adas
284 53 adas