Révision 268 CSL17/tech-report/soundness.tex

soundness.tex (revision 268)
5 5

  
6 6
\begin{theorem}
7 7
	\label{thm:soundness}
8
	If $\arith^i$ proves $\forall \vec u^\normal . \forall \vec x^\safe . \exists y^\safe . A(\vec u ; \vec x , y)$ then there is a $\mubci{i-1}$ program $f(\vec u ; \vec x)$ such that $\Nat \models A(\vec u ; \vec x , f(\vec u ; \vec x))$.
8
	If $\arith^i$ proves $\forall \vec u^\normal  . \exists y^\safe . A(\vec u ;  y)$ then there is a $\mubci{i-1}$ program $f(\vec u ; )$ such that $\Nat \models A(\vec u ;  f(\vec u ; ))$.
9 9
\end{theorem}
10 10

  
11 11

  
......
178 178
%	\ \implies \
179 179
%	\bigvee\limits_{B\in \Delta} \wit{\vec u ; \vec x}{B} (l, \vec u ; \vec x , f^\pi_B((\vec u ; \vec x )\mode l, \vec w \mode p(l))) = 1
180 180
	\begin{array}{rl}
181
&	\bigwedge\limits_{A \in \Gamma} \wit{\vec u ; \vec x}{ A} (l, \vec u ; \vec x , w_A \mode b_A(l)) =1 \\
181
&	\bigwedge\limits_{A \in \Gamma} \wit{\vec u ; \vec x}{ A} (l, \vec u ; \vec x , w_A 
182
%\mode b_A(l)
183
) =1 \\
182 184
\noalign{\medskip}
183
\implies & 	\bigvee\limits_{B\in \Delta} \wit{\vec u ; \vec x}{B} (l, \vec u ; \vec x , f^\pi_B((\vec u ; \vec x )\mode l, \vec w \mode p^\pi(l))) = 1
185
\implies & 	\bigvee\limits_{B\in \Delta} \wit{\vec u ; \vec x}{B} (l, \vec u ; \vec x , f^\pi_B(l,
186
(
187
\vec u ; \vec x 
188
)	\mode l
189
, \vec w \mode p^\pi(l))) = 1
184 190
	\end{array}
185 191
	\]
186 192
	for some polynomial $p^\pi$.
......
190 196

  
191 197

  
192 198

  
193
For the implication above, let us simply refer to the LHS as $\Wit{\vec u ; \vec x}{\Gamma} (l , \vec u ; \vec x , \vec w)$ and the RHS as $\Wit{\vec u ; \vec x}{ \Delta} (l, \vec u ; \vec x , \vec f^\pi ((\vec u ; \vec x )\mode l, \vec w \mode p^\pi(l))  )$, which is a slight abuse of notation: we assume that LHS and RHS are clear from context.
199
For the implication above, let us simply refer to the LHS as $\Wit{\vec u ; \vec x}{\Gamma} (l , \vec u ; \vec x , \vec w)$ and the RHS as $\Wit{\vec u ; \vec x}{ \Delta} (l, \vec u ; \vec x , \vec f^\pi (
200
l,(
201
\vec u ; \vec x 
202
)\mode l
203
, \vec w \mode p^\pi(l))  )$, which is a slight abuse of notation: we assume that LHS and RHS are clear from context.
194 204
Also let us call $p^\pi$ the \emph{modulus} of $f^\pi$ with respect to $l$.
195 205

  
196
\begin{proof}
206
\begin{proof}[Proof sketch]
197 207
	Since the proof is in typed variable normal form we have that each line of the proof is of the same form, i.e.\ $\normal (\vec u), \safe (\vec x) , \Gamma \seqar \Delta$ over free variables $\vec u ; \vec x$.
198
	We define the function $f$ inductively, by considering the various final rules of $\pi$.
208
	We define the function $f^\pi$ inductively, by considering the various final rules of $\pi$.
199 209
	
200 210
	
201 211
	\paragraph*{Negation}
......
205 215
\]
206 216
Notice that, since $\pi$ is in De Morgan form, we have that $A$ is atomic ($s\leq t$) and so, in particular, $\Pi^\safe_{i-1}$.
207 217
So we can simply set the witness for both $A$ and $\cnot A$ to $0$.
208
Namely, if $\vec f (\vec u ; \vec x , \vec w , w )$ is obtained by the inductive hypothesis, then we may set $f^\pi_B ( \vec u ; \vec x , \vec w) \dfn f_B (\vec u ;\vec x , \vec w , 0)$ for $B\in \Delta$, and $f^\pi_A (\vec u ; \vec x , \vec w) \dfn 0$. 
218
Namely, if $\vec f (l,\vec u ; \vec x , \vec w , w )$ is obtained by the inductive hypothesis, then we may set $f^\pi_B (l, \vec u ; \vec x , \vec w) \dfn f_B (l,\vec u ;\vec x , \vec w , 0)$ for $B\in \Delta$, and $f^\pi_A (\vec u ; \vec x , \vec w) \dfn 0$. 
209 219
The modulus $p^\pi$ remains the same as that of the inductive hypothesis. 
210 220

  
211 221
Left negation is similar, relying on a dummy argument.
......
217 227
	\[
218 228
	\vlinf{\lefrul{\cand}}{}{ \normal (\vec u ), \safe (\vec x) , A\cand B , \Gamma \seqar \Delta }{ \normal (\vec u ), \safe (\vec x) , A, B , \Gamma \seqar \Delta}
219 229
	\]
220
	By inductive hypothesis we have functions $\vec f (\vec u ; \vec x , w_A , w_B , \vec w)$ such that,
230
	By inductive hypothesis we have functions $\vec f (l,\vec u ; \vec x , w_A , w_B , \vec w)$ such that,
221 231
	\[
222 232
	\Wit{\vec u ; \vec x}{\Gamma} (l, \vec u ; \vec x , w_A , w_B , \vec w)
223 233
	\quad \implies \quad
224
	\Wit{\vec u ; \vec x}{\Delta} (l, \vec u ; \vec x , \vec f ( (\vec u ; \vec x) \mode l , (w_A , w_B , \vec w) \mode p(l) ))
234
	\Wit{\vec u ; \vec x}{\Delta} (l, \vec u ; \vec x , \vec f (
235
	l, (
236
	\vec u ; \vec x
237
	) \mode l 
238
	, (w_A , w_B , \vec w) \mode p(l) ))
225 239
	\]
226 240
	for some polynomial $p$.
227 241
	%
228
	We define $\vec f^\pi (\vec u ; \vec x , w , \vec w) \dfn \vec f (\vec u ; \vec x , \beta (p(l),0; w) , \beta(p(l),1;w),\vec w )$ and, by the bounding polynomial for pairing, it suffices to set $|p^\pi| = O(|p|)$.
242
	We define $\vec f^\pi (l,\vec u ; \vec x , w , \vec w) \dfn \vec f (l,\vec u ; \vec x , \beta (p(l),0; w) , \beta(p(l),1;w),\vec w )$ and, by the bounding polynomial for pairing, it suffices to set $|p^\pi| = O(|p|)$.
229 243
	
230
		Right disjunction step:
244
	Suppose $\pi$ ends with a right disjunction step:
231 245
		\[
232 246
		\vlinf{\rigrul{\cor}}{}{ \normal (\vec u ), \safe (\vec x) , \Gamma \seqar \Delta , A \cor B}{ \normal (\vec u ), \safe (\vec x) , \Gamma \seqar \Delta, A, B }
233 247
		\]
234 248
		$\vec f^\pi_\Delta$ remains the same as that of premiss.
235
		Let $f_A, f_B$ be the functions corresponding to $A$ and $B$ in the premiss, so that:
249
		Let $\vec f , f_A, f_B$ be obtained by the inductive hypothesis so that:
236 250
		\[
237 251
		\Wit{\vec u ; \vec x}{\Gamma} (l, \vec u ; \vec x , \vec w)
238 252
		\quad \implies \quad
239
		\Wit{\vec u ; \vec x}{\Delta} (l, \vec u ; \vec x , f_C ( (\vec u ; \vec x) \mode l , \vec w \mode p(l) ))		
253
		\Wit{\vec u ; \vec x}{\Delta} (l, \vec u ; \vec x , (\vec f , f_A , f_B) ( 
254
		l,(
255
		\vec u ; \vec x
256
		) \mode l 
257
		, \vec w \mode p(l) ))		
240 258
		\]
241
		for $C = A,B$ and for some $p$, such that $f_A , f_B$ are bounded by $q(l)$ (again by IH).
242
		We define $f^\pi_{A\cor B} (\vec u ; \vec x, \vec w) \dfn \pair{q(l)}{f_A ((\vec u ; \vec x, \vec w))}{f_B ((\vec u ; \vec x, \vec w))}$.
259
		$\vec f^\pi_\Delta$ is defined the same as $\vec f$. 
260
		Let $q(l)$ be an upper bound for $f_A , f_B$  and define $f^\pi_{A\cor B} (\vec u ; \vec x, \vec w) \dfn \pair{q(l)}{f_A ((\vec u ; \vec x, \vec w))}{f_B ((\vec u ; \vec x, \vec w))}$.
261
		$p^\pi$ is obtained from $p$, $q$ and the bounding polynomial for pairing.
243 262
	
244 263
	The other logical cases use a similar argument.
245 264
	
246 265

  
247 266
	\paragraph*{Quantifiers}
248
	If $\pi$ ends with a sharply bounded quantifier step, then we use a similar argument to that for logical rules. 
249
	For instance, suppose $\pi$ ends with a $\rigrul{|\forall|}$:
250
	\[
251
	\vlinf{\rigrul{|\forall|}}{}{\normal (\vec u) , \safe (\vec x) , \Gamma \seqar  \Delta , \forall u^\normal \leq |t(\vec u;)| . A(u) }{ \normal(u) , \normal (\vec u) , \safe (\vec x) , u \leq |t(\vec u;)| , \Gamma \seqar  \Delta, A(u)  }
252
	\]
253
	By the inductive hypothesis we have functions $\vec f(u , \vec u ; \vec x , w , \vec w)$ such that:
254
	\[
255
	\Wit{u ,\vec u ; \vec x}{\lhs} ( u , \vec u ;\vec x , w , \vec w )
256
	\quad \implies \quad
257
	\Wit{u , \vec u ; \vec x}{\rhs} (u, \vec u ; \vec x , \vec f ((\vec u ; \vec x) \mode l , \vec w \mode p(l) ) )
258
	\]
259
	with $|f|\leq q(|l|)$.
267
	Sharply bounded quantifier steps use a similar argument to the logical rules above, only requiring a larger modulus.
260 268
	
261
	By Lemma~\ref{lem:sequence-creation}, we have a function $F (l , u , \vec u ; \vec x , w , \vec w) $ such that....
262 269
	
263
	We set $f^\pi_{\forall u^\normal \leq t . A} (\vec u ; \vec x , \vec w) \dfn F(q(|l|), t(\vec u;), \vec u ; \vec x , 0, \vec w  )$.
270
%	If $\pi$ ends with a sharply bounded quantifier step, then we use a similar argument to that for logical rules. 
271
%	For instance, suppose $\pi$ ends with a $\rigrul{|\forall|}$:
272
%	\[
273
%	\vlinf{\rigrul{|\forall|}}{}{\normal (\vec u) , \safe (\vec x) , \Gamma \seqar  \Delta , \forall u^\normal \leq |t(\vec u;)| . A(u) }{ \normal(u) , \normal (\vec u) , \safe (\vec x) , u \leq |t(\vec u;)| , \Gamma \seqar  \Delta, A(u)  }
274
%	\]
275
%	By the inductive hypothesis we have functions $\vec f(u , \vec u ; \vec x , w , \vec w)$ such that:
276
%	\[
277
%	\Wit{u ,\vec u ; \vec x}{\lhs} ( u , \vec u ;\vec x , w , \vec w )
278
%	\quad \implies \quad
279
%	\Wit{u , \vec u ; \vec x}{\rhs} (u, \vec u ; \vec x , \vec f ((\vec u ; \vec x) \mode l , \vec w \mode p(l) ) )
280
%	\]
281
%	with $|f|\leq q(|l|)$.
282
%	
283
%	By Lemma~\ref{lem:sequence-creation}, we have a function $F (l , u , \vec u ; \vec x , w , \vec w) $ such that....
284
%	
285
%	We set $f^\pi_{\forall u^\normal \leq t . A} (\vec u ; \vec x , \vec w) \dfn F(q(|l|), t(\vec u;), \vec u ; \vec x , 0, \vec w  )$.
286
%	
287
%		\anupam{Do $\exists$-right and $\forall$-right, left rules are symmetric.}
264 288
	
265
		\anupam{Do $\exists$-right and $\forall$-right, left rules are symmetric.}
266
	
267
	Right existential:
289
Suppose $\pi$ ends with a right existential step:\footnote{	Here we assume the variables of $t$ are amongst $(\vec u ; \vec x)$, since we are in typed variable normal form.}
268 290
	\[
269
	\vlinf{\rigrul{\exists}}{}{\normal(\vec u ) , \safe (\vec x) , \Gamma \seqar \Delta , \exists x . A(x)}{\normal(\vec u ) , \safe (\vec x) , \Gamma \seqar \Delta , A(t)}
291
	\vlinf{\rigrul{\exists}}{}{\normal(\vec u ) , \safe (\vec x) , \Gamma \seqar \Delta , \exists x . A(x)}{\normal(\vec u ) , \safe (\vec x) , \Gamma \seqar \Delta , A(t (\vec u ; \vec x))}
270 292
	\]
271
	Here we assume the variables of $t$ are amongst $(\vec u ; \vec x)$, since we are in typed variable normal form.
293
By the inductive hypothesis we have functions $\vec f , f$ such that:
294
\[
295
\Wit{\vec u ;\vec x}{\Gamma} ( l , \vec u ; \vec x , \vec w )
296
\quad \implies \quad
297
\Wit{\vec u ; \vec x}{\Delta, A(t)} ( l, \vec u ; \vec x , (\vec f , f) (l, (\vec u ; \vec x) \mode l , \vec w \mode p(l) ) )
298
\]
299
We let $\vec f^\pi_\Delta \dfn \vec f$ and define $f^\pi_{\exists x . A } ( l, \vec u ; \vec x , \vec w ) \dfn \pair{p(l) + t(\vec l ; \vec l)}{f(l, \vec u ; \vec x , \vec w)}{t(\vec u ; \vec x)}$.
300
$p^\pi$ is hence obtained from $t$, $p$ and the bounding polynomial for pairing.
272 301
	
302
	Other quantifier steps are routine.
273 303
	
274 304
	\paragraph*{Contraction}
275 305
	Left contraction simply duplicates an argument,\footnote{We ignore here the cases when contraction is on a $\normal (u) $ or $\safe (x)$ formula, treating these formulae form as forming a set rather than a multiset.} whereas right contraction requires a conditional on a $\Sigma^\safe_i$ formula.
276 306
	This is the reason why we need to the witness function encoded itself into $\mubc$ rather than simply using a predicate.
277
	
278
	For the sake of example, suppose $\pi$ ends with a right contraction step:
307
	Suppose $\pi$ ends with a right contraction step:
279 308
	\[
280 309
	\vlinf{\cntr}{}{\normal (\vec u) , \safe (\vec x) , \Gamma \seqar \Delta , A }{\normal (\vec u) , \safe (\vec x) , \Gamma \seqar \Delta , A , A}
281 310
	\]
282 311
	By the inductive hypothesis we have functions $\vec f_\Delta , f_0, f_1$ corresponding to the RHS $\Delta , A ,A$.
283 312
	We may define $\vec f^\pi_\Delta = \vec f_\Delta$ and:
284 313
	\[
285
	f^\pi_A ( \vec u ; \vec x , \vec w  )
314
	f^\pi_A (l, \vec u ; \vec x , \vec w  )
286 315
	\quad \dfn \quad
287
	\cond (; \wit{\vec u ; \vec x}{A} ( l , \vec u ; \vec x , f_0(\vec u ; \vec x , \vec w) ) , f_1(\vec u ; \vec x , \vec w) , f_0(\vec u ; \vec x , \vec w)  )
316
	\cond (; \wit{\vec u ; \vec x}{A} ( l , \vec u ; \vec x , f_0(l,\vec u ; \vec x , \vec w) ) , f_1(l,\vec u ; \vec x , \vec w) , f_0(\vec u ; \vec x , \vec w)  )
288 317
	\]
289 318
	
290 319
	
291
	\anupam{For $\normal (\vec u), \safe (\vec x)$ in antecedent, we always consider as a set, so do not display explicitly contraction rules. }
320
%	\anupam{For $\normal (\vec u), \safe (\vec x)$ in antecedent, we always consider as a set, so do not display explicitly contraction rules. }
292 321
	\paragraph*{Induction}
293
	Corresponds to safe recursion on notation.
294
	Suppose final step is (wlog):
322
Suppose $\pi$ ends with a polynomial induction step:
295 323
	\[
296 324
	\vlinf{\pind}{}{ \normal (\vec u), \safe (\vec x) , \Gamma, A(0) \seqar A(t(\vec u ;)) , \Delta}{ \left\{\normal (u) , \normal (\vec u) , \safe (\vec x) , \Gamma,  A(u) \seqar A(\succ i u ) , \Delta \right\}_{i=0,1} }
297 325
	\]
298
	\anupam{need to say in normal form part that can assume induction of this form}
299
	For simplicity we will assume $\Delta $ is empty, which we can always do by Prop.~\todo{DO THIS!}
300
	
326
%	\anupam{need to say in normal form part that can assume induction of this form}
327
	For simplicity we will assume $\Delta $ is empty.\footnote{Note that a proof can always be put into this form by the right disjunction rules. The criterion on logical complexity for typed variable normal form proofs is preserved due to free-cut freeness.}
328
	%
301 329
	Now, by the inductive hypothesis, we have functions $h_i$ such that:
302 330
	\[
303
	\Wit{u , \vec u ; \vec x}{\Gamma, A(0)} (l , u , \vec u ; \vec x ,  \vec w)
331
	\Wit{u , \vec u ; \vec x}{\Gamma, A(0)} (l , u , \vec u ; \vec x ,  \vec w , w)
304 332
	\quad \implies \quad
305
	\Wit{u , \vec u ; \vec x}{A(\succ i u)} (l , u , \vec u ; \vec x ,  h_i ((u , \vec u) \mode l ; \vec x \mode l , \vec w) )
333
	\Wit{u , \vec u ; \vec x}{A(\succ i u)} (l , u , \vec u ; \vec x ,  h_i (l,(u , \vec u ; \vec x ) \mode l , (\vec w , w) \mode p(l) ) )
306 334
	\]
307
	First let us define $ f$ as follows:
335
	First let us define $ f$ by safe recursion as follows:
308 336
	\[
309 337
	\begin{array}{rcl}
310
	f (0 , \vec u ; \vec x, \vec w,  w ) & \dfn &  w\\
311
	f( \succ i u , \vec u ; \vec x , \vec w, w) & \dfn & 
312
	h_i (u , \vec u ; \vec x , \vec w , f(u , \vec u ; \vec x , \vec w , w ))
338
	f (l,0 , \vec u ; \vec x, \vec w,  w ) & \dfn &  w\\
339
	f(l, \succ i u , \vec u ; \vec x , \vec w, w) & \dfn & 
340
	h_i (l,u , \vec u ; \vec x , \vec w , f(l,u , \vec u ; \vec x , \vec w , w ))
313 341
	\end{array}
314 342
	\]
315
	where $\vec w$ corresponds to $\Gamma $ and $w$ corresponds to $A(0)$.
316
	\anupam{Wait, should $\normal (t)$ have a witness? Also there is a problem like Patrick said for formulae like: $\forall x^\safe . \exists y^\safe. (\normal (z) \cor \cnot \normal (z))$, where $z$ is $y$ or otherwise.}
317
	
343
%	where $\vec w$ corresponds to $\Gamma $ and $w$ corresponds to $A(0)$.
344
%	\anupam{Wait, should $\normal (t)$ have a witness? Also there is a problem like Patrick said for formulae like: $\forall x^\safe . \exists y^\safe. (\normal (z) \cor \cnot \normal (z))$, where $z$ is $y$ or otherwise.}
318 345
	Now we let $f^\pi (\vec u ; \vec x , \vec w) \dfn f(t(\vec u ; ) , \vec u ; \vec x , \vec w)$.
346
	It suffices to let $|p^\pi| = O(|p|^2)$.
319 347
	
320 348
	\paragraph*{Cut}
321
	If it is a cut on an induction formula, which is safe, then it just corresponds to a safe composition since everything is substituted into a safe position.
322
	Otherwise it is a `raisecut':
349
	If $\pi$ ends with a cut on an induction formula, which is $\Sigma^\safe_i$, then $f^\pi$ is obtained from the inductive hypothesis by simply substituting already defined functions into a safe position.
350
	The other possibility is that $\pi$ ends with a `raisecut':
323 351
	\[
324 352
	\vliinf{\rais\cut}{}{\normal (\vec u ) , \normal (\vec v) , \safe (\vec x) ,\Gamma \seqar \Delta }{ \normal (\vec u) \seqar \exists x^\safe  . A(x) }{ \normal (u)  , \normal (\vec v) , \safe (\vec x) , A(u), \Gamma \seqar \Delta }
325 353
	\]
326
	In this case we have functions $f(\vec u ; )$ and $\vec g (u, \vec v ; \vec x , w , \vec w )$, in which case we construct $\vec f^\pi$ as:
354
	In this case, by the inductive hypothesis, we have functions $f(l,\vec u ; )$ from the left premiss and $\vec g (l,u, \vec v ; \vec x , w , \vec w )$ from the right premiss, so we may define:
327 355
	\[
328
	\vec f^\pi ( \vec u , \vec v ; \vec x , \vec w )
356
	\vec f^\pi ( l ,  \vec u , \vec v ; \vec x , \vec w )
329 357
	\quad \dfn \quad
330
	\vec g ( \beta (1 ; f(\vec u ;) ) , \vec v ; \vec x , \beta(0;f(\vec u ;)) , \vec w )
358
	\vec g ( l, \beta (1 ; f(l,\vec u ;) ) , \vec v ; \vec x , \beta(0;f(l,\vec u ;)) , \vec w )
331 359
	\]
360
	Again, $p^\pi$ is obtained from $p$ and the bounding polynomial for pairing.
332 361
\end{proof}
333 362

  
334 363

  
......
341 370
	\begin{proof}
342 371
		[Proof sketch of Thm.~\ref{thm:soundness} from Lemma~\ref{lem:proof-interp}]
343 372
		Suppose $\arith^i \proves \forall \vec u^\normal . \exists x^\safe . A(\vec u ; x)$. By inversion and Thm.~\ref{thm:normal-form} there is a $\arith^i$ proof $\pi$ of $\normal (\vec u ) \seqar \exists x^\safe. A(\vec u ; x )$ in typed variable normal form.
344
By Lemma~\ref{lem:proof-interp}, we have a $\mubci{i-1}$ function $f^\pi$ with $\wit{\vec u ;}{\exists x^\safe . A} (l, \vec u ; f(\vec u \mode l;)) =1$.
345
By the definition of $\wit{}{}$ and Prop.~\ref{prop:wit-rfn} we have that $\exists x . A(\vec u \mode l; x)$ is true just if $A(\vec u \mode l ; \beta (q(l), 1 ; f(\vec u \mode l;) ))$ is true.
346
Now, since all $\vec u$ are normal, we may simply set $l$ to have a longer length than all of these arguments, so the function $f(\vec u;) \dfn \beta (q(\sum \vec u), 1 ; f(\vec u \mode \sum \vec u;) ))$ suffices to finish the proof.
373
By Lemma~\ref{lem:proof-interp}, we have a $\mubci{i-1}$ function $f^\pi$ with $\wit{\vec u ;}{\exists x^\safe . A} (l, \vec u ; f^\pi(l,\vec u \mode l;)) =1$.
374
By the definition of $\wit{}{}$ and Prop.~\ref{prop:wit-rfn} we have that $\exists x . A(\vec u \mode l; x)$ is true just if $A(\vec u \mode l ; \beta (q(l), 1 ; f(l, \vec u \mode l;) ))$ is true, where $q(l)$ is an upper bound for $f^\pi (l, \vec u \mode l ; )$.
375
Now, since all $\vec u$ are normal, we may simply set $l$ to have a longer length than all of these arguments, so the function $f(\vec u;) \dfn \beta (q(\sum \vec u), 1 ; f(\vec u \mode \sum \vec u;) ))$ indeed witnesses the required existential.
347 376
	\end{proof}

Formats disponibles : Unified diff