Statistiques
| Révision :

root / CSL16 / draft / bc-convergence.tex @ 238

Historique | Voir | Annoter | Télécharger (14,24 ko)

1 101 adas
2 101 adas
\section{Convergence of Bellantoni-Cook programs in $\arith$}
3 101 adas
\label{sect:bc-convergence}
4 101 adas
%\anupam{In this section, use whatever form of the deduction theorem is necessary and reverse engineer precise statement later.}
5 101 adas
6 101 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. 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.
7 101 adas
8 101 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, thereby achieving a somewhat stronger result.
9 101 adas
10 101 adas
We will assume the formulation of BC programs with regular PRN, not simultaneous PRN.
11 101 adas
12 101 adas
13 101 adas
%\subsection{Convergence in arithmetic}
14 101 adas
15 101 adas
%\begin{theorem}
16 101 adas
%	[Convergence]
17 101 adas
%	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))$.
18 101 adas
%\end{theorem}
19 101 adas
20 101 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.
21 101 adas
\begin{theorem}
22 101 adas
%	[Convergence]
23 101 adas
\label{thm:arith-proves-bc-conv}
24 101 adas
	If $\eqspec$ is a BC program defining a function $f$, then $I\sigzer$ proves $\conv(f, \eqspec)$.
25 101 adas
\end{theorem}
26 101 adas
27 101 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.}
28 101 adas
29 101 adas
\begin{proof}
30 101 adas
%	We write function symbols in $\arith$ with arguments delimited by $;$, as for BC-programs.
31 101 adas
	We appeal to Lemma~\ref{lemma:spec-norm-form} and show that $\closure{\eqspec} \cup I\sigzer$ proves,
32 101 adas
	\begin{equation}
33 101 adas
	\label{eqn:prv-cvg-ih}
34 101 adas
\forall \vec{u}^{!\word} . \forall \vec{x}^\word . \word(f(\vec u ; \vec x))
35 101 adas
	\end{equation}
36 101 adas
	We proceed by induction on the structure of a BC program for $f$.
37 101 adas
%	We give some key cases in what follows.
38 101 adas
39 101 adas
	Suppose $f$ is defined by PRN as:
40 101 adas
	\[
41 101 adas
	\begin{array}{rcl}
42 101 adas
	f(0,\vec v ; \vec x) & = & g(\vec v ; \vec x) \\
43 101 adas
	f(\succ_i u , \vec v; \vec x) & = & h_i (u, \vec v ; \vec x , f(u , \vec v ; \vec x))
44 101 adas
	\end{array}
45 101 adas
	\]
46 101 adas
	By the inductive hypothesis we already have \eqref{eqn:prv-cvg-ih} for $g,h_0,h_1$ in place of $f$. We construct the following proof:
47 101 adas
	\begin{equation}
48 101 adas
	\label{eqn:prn-cvg-base}
49 101 adas
	\vlderivation{
50 101 adas
			\vliq{\beta}{}{!\word(\vec v) , \word (\vec x) \seqar \word(f (\epsilon , \vec v ; \vec x)) }{
51 101 adas
				\vliq{\alpha}{}{!\word (\vec v) , \word (\vec x) \seqar \word (g (\vec v ; \vec x) ) }{
52 101 adas
					\vltr{\IH}{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x)) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
53 101 adas
					}
54 101 adas
				}
55 101 adas
			}
56 101 adas
	\end{equation}
57 101 adas
	where $\alpha$ is,
58 101 adas
	\[
59 101 adas
	\vlderivation{
60 101 adas
	%	\vliin{\cut}{}{ \word (\vec x) \seqar \word ( g (\vec v ; \vec x)) }{
61 101 adas
	%		\vlin{\rigrul{!}}{}{\seqar !\word (v)}{
62 101 adas
	%			\vlin{assump}{}{\seqar \word (\vec v)}{\vlhy{}}
63 101 adas
	%			}
64 101 adas
	%		}{
65 101 adas
			\vliin{\cut}{}{ !\word (\vec v ) , \word (\vec x) \seqar \word (g (\vec v ; \vec x )) }{
66 101 adas
				\vlhy{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x)) }
67 101 adas
				}{
68 101 adas
				\vliq{\lefrul{\forall}}{  }{ !\word (\vec v) , \word (\vec x) , \forall \vec v^{!\word} . \forall \vec x^\word \word (g(\vec v ; \vec x )) \seqar \word (g(\vec v ; \vec x )) }{
69 101 adas
					\vlin{\id}{}{\word (g(\vec v ; \vec x )) \seqar \word (g(\vec v ; \vec x ))}{\vlhy{}}
70 101 adas
					}
71 101 adas
				}
72 101 adas
	%		}
73 101 adas
		}
74 101 adas
	\]
75 101 adas
	and $\beta$ is:
76 101 adas
	\[
77 101 adas
	\vlderivation{
78 101 adas
		\vliin{\cut}{}{!\word (\vec v) , \word (\vec x) \seqar \word ( f ( \epsilon , \vec v ; \vec x ) ) }{
79 101 adas
			\vlhy{!\word (\vec v) , \word (\vec x) \seqar \word (g (\vec v ; \vec x) ) }
80 101 adas
			}{
81 101 adas
			\vliin{\cut}{}{ \word (g (\vec v ; \vec x) ) \seqar \word (f (\epsilon, \vec v ; \vec x) ) }{
82 101 adas
				\vlin{\closure{\eqspec}}{}{ \seqar f(\epsilon , \vec v ; \vec x) = g(\vec v ; \vec x) }{\vlhy{}}
83 101 adas
				}{
84 101 adas
				\vlin{=}{}{\word ( g(\vec v ; \vec x) ) , f(\epsilon , \vec v ; \vec x) = g(\vec v ; \vec x)  \seqar \word (f (\epsilon, \vec v ; \vec x) ) }{\vlhy{}}
85 101 adas
				}
86 101 adas
			}
87 101 adas
		}
88 101 adas
	\]
89 101 adas
90 101 adas
%	We first prove,
91 101 adas
%	\begin{equation}
92 101 adas
%	!\word (a) , !\word (\vec v) , \word (\vec x) \land \word (f( a , \vec v ; \vec x ) )
93 101 adas
%	\seqar
94 101 adas
%	\word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) )
95 101 adas
%	\end{equation}
96 101 adas
%	for $i=0,1$, whence we will apply $\ind$. We construct the following proofs:
97 101 adas
98 101 adas
We also construct, for $i=0,1$, the proofs,
99 101 adas
	\begin{equation}
100 101 adas
	\label{eqn:prn-cvg-ind}
101 101 adas
	%\vlderivation{
102 101 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) ) }{
103 101 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) )   }{
104 101 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) )    }{
105 101 adas
	%			\vlin{\id}{}{\word(\vec x) \seqar \word (\vec x) }{\vlhy{}}
106 101 adas
	%			}{
107 101 adas
	%			\vliq{\beta}{}{  \word (\vec x) , \word (f(u , \vec v ; \vec x) ) \seqar \word ( f(\succ_i u , \vec v ; \vec x) ) }{
108 101 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 )) ) }{
109 101 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}}
110 101 adas
	%					}
111 101 adas
	%				}
112 101 adas
	%			}
113 101 adas
	%		}
114 101 adas
	%	}
115 101 adas
	%	}
116 101 adas
	\vlderivation{
117 101 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 ) ) }{
118 101 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 ) )}{
119 101 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 ) )}{
120 101 adas
	\vlin{\id}{}{\word (\vec x) \seqar \word (\vec x)}{\vlhy{}}
121 101 adas
	}{
122 101 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 ) )  }{
123 101 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 ) ) )   }{
124 101 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}}
125 101 adas
				}
126 101 adas
			}
127 101 adas
			}
128 101 adas
	}
129 101 adas
	}
130 101 adas
	}
131 101 adas
\end{equation}
132 101 adas
where $\alpha$ and $\beta$ are constructed similarly to before.
133 101 adas
134 101 adas
%%	so let us suppose that $\word(\vec v)$ and prove,
135 101 adas
%	\begin{equation}
136 101 adas
%% \forall u^{!\word} .  (\word(\vec x) \limp \word(f(u , \vec v ; \vec x)  )
137 101 adas
%!\word (u) , !\word (\vec v) , \word (\vec x) \seqar \word ( f(u, \vec v ; \vec x) )
138 101 adas
%	\end{equation}
139 101 adas
%	by $\cax{\Sigma^N_1}{\pind}$ on $u$. After this the result will follow by $\forall$-introduction for $u, \vec v , \vec x$.
140 101 adas
141 101 adas
%	In the base case we have the following proof,
142 101 adas
%	\[
143 101 adas
%	\vlderivation{
144 101 adas
%	\vlin{\rigrul{\limp}}{}{ \seqar \word (\vec x) \limp \word (f(\epsilon , \vec v ; \vec x )) }{
145 101 adas
%		\vliq{\beta}{}{ \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x) ) }{
146 101 adas
%			\vliq{\alpha}{}{ \word (\vec x) \seqar \word ( g (\vec v ; \vec x) ) }{
147 101 adas
%				\vltr{IH}{\seqar \forall v^{!\word} . \forall x^\word . \word( g(\vec v ; \vec x) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
148 101 adas
%				}
149 101 adas
%			}
150 101 adas
%		}
151 101 adas
%		}
152 101 adas
153 101 adas
154 101 adas
Finally we compose these proofs as follows:
155 101 adas
156 101 adas
\[
157 101 adas
\vlderivation{
158 101 adas
\vliq{\rigrul{\forall}}{}{ \seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word . \word ( f(u , \vec v ;\vec x)  ) }{
159 101 adas
\vliq{\lefrul{\cntr}}{}{ !\word (u), !\word (\vec v) , \word (\vec x) \seqar  \word ( f(u , \vec v ;\vec x)  )  }
160 101 adas
{
161 101 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)  )   }{
162 101 adas
\vltr{}{ !\word (\vec v) , \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x ) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
163 101 adas
}
164 101 adas
{
165 101 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 ) ) }{
166 101 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 ) )  }{
167 101 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 ) )  }
168 101 adas
{
169 101 adas
\vlhy{
170 101 adas
\left\{
171 101 adas
\vltreeder{}{   !\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}{}{}
172 101 adas
\right\}_{i=0,1}
173 101 adas
}
174 101 adas
}
175 101 adas
}
176 101 adas
}
177 101 adas
}
178 101 adas
}
179 101 adas
}
180 101 adas
}
181 101 adas
\]
182 101 adas
where the steps \todo{minor steps}
183 101 adas
184 101 adas
%For the inductive step, we suppose that $\word (u)$ and the proof is as follows,
185 101 adas
%
186 101 adas
%where the steps indicated $\alpha$ and $\beta$ are analogous to those for the base case.
187 101 adas
%%, and $\gamma$ is an instance of the general scheme:
188 101 adas
%%\begin{equation}
189 101 adas
%%\label{eqn:nat-cntr-left-derivation}
190 101 adas
%%\vlderivation{
191 101 adas
%%	\vliin{\cut}{}{ \word (t) , \Gamma \seqar \Delta }{
192 101 adas
%%		\vlin{\wordcntr}{}{ \word (t) \seqar \word (t) \land \word (t) }{\vlhy{}}
193 101 adas
%%		}{
194 101 adas
%%		\vlin{\lefrul{\land}}{}{\word (t)  \land \word (t) , \Gamma \seqar \Delta}{ \vlhy{\word (t)  ,\word (t) , \Gamma \seqar \Delta} }
195 101 adas
%%		}
196 101 adas
%%	}
197 101 adas
%%\end{equation}
198 101 adas
%
199 101 adas
%%
200 101 adas
%%For the inductive step, we need to show that,
201 101 adas
%%\[
202 101 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) )   )
203 101 adas
%%\]
204 101 adas
%%so let us suppose that $N(x)$ and we give the following proof:
205 101 adas
%%\[
206 101 adas
%%\vlderivation{
207 101 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)  ) }{
208 101 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)  ) }{
209 101 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) ) ) }{
210 101 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 }}
211 101 adas
%%			}{
212 101 adas
%%			\vlhy{2}
213 101 adas
%%		}
214 101 adas
%%	}{
215 101 adas
%%	\vlhy{3}
216 101 adas
%%}
217 101 adas
%%}
218 101 adas
%%}
219 101 adas
%%\]
220 101 adas
%%TOFINISH
221 101 adas
222 101 adas
Suppose $f$ is defined by safe composition as follows:
223 101 adas
\[
224 101 adas
f( \vec u ; \vec x )
225 101 adas
\quad = \quad
226 101 adas
h( \vec g (\vec u ; )  ; \vec g' ( \vec u ; \vec x ) )
227 101 adas
\]
228 101 adas
229 101 adas
By the inductive hypothesis we already have \eqref{eqn:prv-cvg-ih} for $h$ and each $g_i$ and $g_j'$ in place of $f$. We construct the required proof as follows:
230 101 adas
\[
231 101 adas
\vlderivation{
232 101 adas
	\vliq{\rigrul{\forall}}{}{ \seqar \forall\vec u^{!\word} . \forall \vec x^\word . \word( f(\vec u ; \vec x ) ) }{
233 101 adas
		\vliq{\beta}{}{ !\word (\vec u) , \word (\vec x) \seqar \word ( f( \vec u ; \vec x ) ) }{
234 101 adas
			\vliq{\cntr}{}{  !\word (\vec u) , \word (\vec x) \seqar \word ( h( \vec g(\vec u ;) ; \vec g' ( \vec u ; \vec x )  ) )  }{
235 101 adas
				\vliiiq{\cut}{}{!\word (\vec u) , \dots ,  !\word (\vec u) , \word (\vec x) , \dots , \word (\vec x) \seqar \word ( h( \vec g(\vec u ;) ; \vec g' ( \vec u ; \vec x )  ) )   }{
236 101 adas
					\vlhy{
237 101 adas
						\left\{
238 101 adas
						\vlderivation{
239 101 adas
							\vlin{\rigrul{!}}{}{ !\word (\vec u) \seqar !\word ( g_i (\vec u ;) ) }{
240 101 adas
								\vliq{\alpha}{}{ !\word (\vec u) \seqar \word ( g_i (\vec u ;) }{
241 101 adas
									\vltr{\IH}{ \forall \vec u^{!\word} . \word (g_i (\vec u ;) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
242 101 adas
									}
243 101 adas
								}
244 101 adas
							}
245 101 adas
						\right\}_{i \leq |\vec g| }
246 101 adas
						}
247 101 adas
					}{
248 101 adas
					\vlhy{
249 101 adas
						\left\{
250 101 adas
						\vlderivation{
251 101 adas
							\vliq{\alpha}{}{ !\word ( \vec u )  , \word (\vec x) \seqar \word  ( g_j' ( \vec u ; \vec x ) ) }{
252 101 adas
								\vltr{\IH}{ \seqar \forall \vec u^{!\word}. \forall \vec x^\word . \word ( g_j' (\vec u ; \vec x) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
253 101 adas
								}
254 101 adas
							}
255 101 adas
						\right\}_{j \leq |\vec g'|}
256 101 adas
						}
257 101 adas
					}{
258 101 adas
					\vliq{\alpha}{}{ !\word ( \vec g (\vec u ;) ) , \word ( \vec g ' ( \vec u ; \vec x ) ) \seqar \word ( h( \vec g(\vec u ;) ; \vec g' ( \vec u ; \vec x )  )  ) ) }{
259 101 adas
						\vltr{\IH}{ \seqar \forall \vec v^{!\word} . \forall \vec y^\word . \word ( h( \vec v ; \vec y ) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
260 101 adas
						}
261 101 adas
					}
262 101 adas
				}
263 101 adas
			}
264 101 adas
		}
265 101 adas
	}
266 101 adas
\]
267 101 adas
where $\alpha$ and $\beta$ are similar to before.
268 101 adas
269 101 adas
\todo{reformat a bit}
270 101 adas
271 101 adas
It remains to check the initial functions.
272 101 adas
273 101 adas
Consider the conditional function, defined equationally as:
274 101 adas
\[
275 101 adas
\begin{array}{rcl}
276 101 adas
C (; \epsilon, y_\epsilon , y_0, y_1  ) & = & y_\epsilon \\
277 101 adas
C(; \succ_0 x , y_\epsilon , y_0, y_1) & = & y_0 \\
278 101 adas
C(; \succ_1 x , y_\epsilon , y_0, y_1) & = & y_1
279 101 adas
\end{array}
280 101 adas
\]
281 101 adas
Let $\vec y = ( y_\epsilon , y_0, y_1 )$ and construct the required proof as follows:
282 101 adas
\[
283 101 adas
\vlderivation{
284 101 adas
\vliq{}{}{ \word (x) , \word (\vec y) \seqar \word ( C(; x ,\vec y) )}{
285 101 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) ) }{
286 101 adas
\vliq{}{}{ x = \epsilon , \word (\vec y) \seqar \word ( C(; x , \vec y) ) }{
287 101 adas
\vliq{}{}{ \word (\vec y) \seqar \word ( C( ; \epsilon , \vec y ) ) }{
288 101 adas
\vlin{\wk}{}{ \word (\vec y) \seqar \word (y_\epsilon) }{
289 101 adas
\vlin{\id}{}{\word (y_\epsilon) \seqar \word ( y_\epsilon )}{\vlhy{}}
290 101 adas
}
291 101 adas
}
292 101 adas
}
293 101 adas
}{
294 101 adas
\vlhy{
295 101 adas
\left\{
296 101 adas
\vlderivation{
297 101 adas
\vlin{\lefrul{\exists}}{}{ \exists z^\word . x = \succ_i z , \word (\vec y) \seqar \word ( C(;x , \vec y) ) }{
298 101 adas
\vliq{}{}{ x = \succ_i a , \word (\vec y ) \seqar \word (C(; x ,\vec y)) }{
299 101 adas
\vliq{}{}{ \word (\vec y) \seqar \word ( C(; \succ_i a , \vec y ) ) }{
300 101 adas
\vlin{\wk}{}{ \word (\vec y) \seqar \word (y_i) }{
301 101 adas
\vlin{\id}{}{\word (y_i) \seqar \word (y_i)}{\vlhy{}}
302 101 adas
}
303 101 adas
}
304 101 adas
}
305 101 adas
}
306 101 adas
}
307 101 adas
\right\}_{i = 0,1}
308 101 adas
}
309 101 adas
}
310 101 adas
}
311 101 adas
}
312 101 adas
\]
313 101 adas
whence the result follows by $\forall$-introduction.
314 101 adas
\todo{reformat a bit}
315 101 adas
316 101 adas
Other initial functions are far simpler.
317 101 adas
318 101 adas
\end{proof}
319 101 adas
320 101 adas
321 101 adas
322 101 adas
323 101 adas
324 101 adas
325 101 adas
326 101 adas
327 101 adas
328 101 adas
329 101 adas
330 101 adas
331 101 adas
332 101 adas
333 101 adas
334 101 adas
335 101 adas
336 101 adas
337 101 adas
338 101 adas
339 101 adas
340 101 adas
341 101 adas
342 101 adas
343 101 adas
344 101 adas
345 101 adas
346 101 adas
347 101 adas
348 101 adas
349 101 adas
350 101 adas
351 101 adas
352 101 adas
353 101 adas
354 101 adas
355 101 adas
356 101 adas
357 101 adas
358 101 adas
359 101 adas