root / CSL16 / bc-convergence.tex @ 227
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 |
|