Statistiques
| Révision :

root / CSL17 / soundness.tex @ 219

Historique | Voir | Annoter | Télécharger (15,34 ko)

1
\section{Soundness}
2
\label{sect:soundness}
3

    
4
The main result of this section is the following:
5

    
6
\begin{theorem}
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))$.
9
\end{theorem}
10

    
11

    
12

    
13
The main problem for soundness is that we have predicates, for example equality, that take safe arguments in our theory but do not formally satisfy the polychecking lemma for $\mubc$ functions. 
14
For this we will use length-bounded witnessing, borrowing a similar idea from Bellantoni's previous work \cite{Bellantoni95}.
15

    
16

    
17
\begin{definition}
18
[Length bounded basic functions]
19
We define \emph{length-bounded equality}, $\eq(l;x,y)$ as the characteristic function of the predicate:
20
\[
21
x \mode l = y \mode l
22
\]
23
which is definable by safe recursion on $l$:
24
\[
25
\begin{array}{rcl}
26
\eq (0 ; x,y) & \dfn & \equivfn (;\bit (0;x),\bit(0;y) ) \\
27
\eq (\succ i l; x,y) & \dfn & \cond (; \eq ( u;x,y ) , 0, \equivfn (; \bit (\succ i u ; x ) , \bit (\succ i l ; y ))  )
28
\end{array}
29
\]
30
We also define length-bounded inequality as:
31
\[
32
\begin{array}{rcl}
33
\leqfn (0 ; x ,y) & \dfn & \cimp (; \bit (0;x), \bit (0;y) ) \\
34
\leqfn (\succ i l ; x,y) & \dfn & \orfn ( ; <(\bit (\succ i l ; x) , \bit(\succ i l ; y) ) , \andfn (; \equivfn (\bit (\succ i l ; x) , \bit(\succ i l ; y)) , \leqfn (l;x,y ) ) )
35
\end{array}
36
\]
37
\end{definition}
38

    
39
\anupam{Do we need the general form of length-boundedness? E.g. the $*$ functions from Bellantoni's paper? Put above if necessary. Otherwise just add sequence manipulation functions as necessary.}
40

    
41
Notice that $\eq$ is a polymax bounded polyomial checking function on its normal input, and so can be added to $\mubc$ without problems.
42

    
43
\begin{definition}
44
	[Length bounded characteristic functions]
45
	We define $\mubci{}$ programs $\charfn{}{A} (l , \vec u; \vec x)$, parametrised by a formula $A(\vec u ; \vec x)$, as follows.
46
%	If $A$ is a $\Pi_{i}$ formula then:
47
	\[
48
	\begin{array}{rcl}
49
	\charfn{}{s\leq t} (l, \vec u ; \vec x) & \dfn & \leqfn(l;s,t) \\
50
	\smallskip
51
	\charfn{}{s=t} (l, \vec u ; \vec x) & \dfn & \eq(l;s,t) \\
52
	\smallskip
53
	\charfn{}{\neg A} (l, \vec u ; \vec x) & \dfn & \neg (;\charfn{}{A}(l , \vec u ; \vec x)) \\
54
	\smallskip
55
	\charfn{}{A\cor B} (l, \vec u ; \vec x ) & \dfn & \cor (; \charfn{}{A} (l, \vec u ; \vec x , w), \charfn{}{B} (\vec u ;\vec x) ) \\
56
	\smallskip
57
	\charfn{}{A\cand B} (l, \vec u ; \vec x ) & \dfn & \cand(; \charfn{}{A} (l, \vec u ; \vec x , w), \charfn{}{B} (\vec u ;\vec x) ) \\
58
	\smallskip
59
	\charfn{}{\exists x^\safe . A(x)} (l, \vec u ;\vec x) & \dfn & \begin{cases}
60
	1 & \exists x^\safe . \charfn{}{A(x)} (l, \vec u ;\vec x , x) = 1 \\
61
	0 & \text{otherwise} 
62
	\end{cases} \\
63
	\smallskip
64
	\charfn{}{\forall x^\safe . A(x)} (l, \vec u ;\vec x ) & \dfn & 
65
	\begin{cases}
66
	0 & \exists x^\sigma. \charfn{}{ A(x)} (l, \vec u; \vec x , x) = 0 \\
67
	1 & \text{otherwise}
68
	\end{cases}
69
	\end{array}
70
	\]
71
\end{definition}
72

    
73
\anupam{Above and below definitions need to be with respect to a typing of variables which terms respect.}
74

    
75

    
76
\begin{proposition}
77
	$\charfn{}{A} (l, \vec u ; \vec x)$ is the characteristic function of $A (\vec u \mode l ; \vec x \mode l)$.
78
\end{proposition}
79

    
80
\begin{definition}
81
	[Length bounded witness function]
82
	We now define $\Wit{\vec u ; \vec x}{A} (l , \vec u ; \vec x)$ for a $\Sigma_{i+1}$-formula $A$ with free variables amongst $\vec u; \vec x$.
83
	For a $\Sigma^\safe_i$ formula $A$ with free variables amongst $(\vec u ; \vec x)$, with $\vec x$ occurring only hereditarily safe in terms, we define the \emph{length-bounded witness function} $\wit{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w)$ and its \emph{bounding polynomial} $b_A (l)$ as follows:
84
	\begin{itemize}
85
		\item If $A$ is $\Pi^\safe_{i-1}$ then $\wit{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w) \dfn \charfn{\vec u ; \vec x}{A} (l, \vec u ; \vec x )$.
86
		\item If $A$ is $B \cor C$ then 
87
		\[
88
		\wit{\vec u ; \vec x}{A} (l, \vec u ;\vec x , w) 
89
		\quad \dfn \quad
90
		\orfn ( ; \wit{\vec u ; \vec x}{B} (l, \vec u ; \vec x , \beta (b_B (l) , 0 ; w ) ) , \wit{\vec u ; \vec x}{C} (l, \vec u ; \vec x , \beta (b_C (l) , 0 ; w ) )  )
91
		\]
92
		and we may set $b_A = O(b_B + b_C)$.
93
		\item Similarly if $A $ is $B \cand C$, but with $\andfn$ in place of $\orfn$.
94
%		\item If $A$ is $B \cand C$ then
95
%			\[
96
%			\wit{\vec u ; \vec x}{A} (l, \vec u ;\vec x , w) 
97
%			\quad \dfn \quad
98
%			\andfn ( ; \wit{\vec u ; \vec x}{B} (l, \vec u ; \vec x , \beta (b_B (l) , 0 ; w ) ) , \wit{\vec u ; \vec x}{C} (l, \vec u ; \vec x , \beta (b_C (l) , 0 ; w ) )  )
99
%			\]
100
%			and we may set $b_A = O(b_B + b_C)$.
101
		\item If $A$ is $\forall u \leq |t(\vec u;)| . B(u)$ then 
102
		\[
103
		\wit{\vec u ; \vec x}{A}
104
		\quad \dfn\quad
105
		\forall u\normal \leq |t|.
106
		\wit{u, \vec u ; \vec x}{B(u)} (l, u, \vec u ; \vec x , \beta( b_{B(t)} (l) , u ; w ) )
107
		\]
108
		appealing to Lemma~\ref{lem:sharply-bounded-recursion}, where we may set $b_A = O(b_{B(t)}^2 )$.
109
		\item Similarly if $A$ is $\exists u^\normal \leq |t(\vec u;)|. A'(u)$, but with $\exists u \leq |t|$ in place of $\forall u \leq |t|$.
110
		\item If $A$ is $\exists x^\safe . B(x) $ then
111
		\[
112
		\wit{\vec u ; \vec x}{A}
113
		\quad \dfn \quad
114
		\wit{\vec u ; \vec x , x}{B(x)} ( l, \vec u ; \vec x , \beta( b_{B} (l) , 0;w ) , \beta (q(l) , 1 ;w ))
115
		\]
116
		where $q$ is obtained by the polychecking and bounded minimisation lemmata for $\wit{\vec u ; \vec x , x}{B(x)}$.
117
		We may set $b_A = O(b_B + q )$.
118
	\end{itemize}
119
%	\[
120
%	\begin{array}{rcl}
121
%	\wit{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w) & \dfn & \charfn{}{A} (l, \vec u ; \vec x)  \text{ if $A$ is $\Pi_i$} \\
122
%	\smallskip
123
%	\wit{\vec u ; \vec x}{A \cor B} (l,\vec u ; \vec x , \vec w^A , \vec w^B) & \dfn & \cor ( ; \wit{\vec u ; \vec x}{A} (l,\vec u ; \vec x , \vec w^A) ,\wit{\vec u ; \vec x}{B} (l,\vec u ; \vec x , \vec w^B)  )  \\
124
%	\smallskip
125
%	\wit{\vec u ; \vec x}{A \cand B} (l,\vec u ; \vec x , \vec w^A , \vec w^B) & \dfn & \cand ( ; \wit{\vec u ; \vec x}{A} (l,\vec u ; \vec x , \vec w^A) ,\wit{\vec u ; \vec x}{B} (l,\vec u ; \vec x , \vec w^B)  )  \\
126
%	\smallskip
127
%	\wit{\vec u ; \vec x}{\exists x^\safe . A(x)} (l,\vec u ; \vec x , \vec w , w) & \dfn & \wit{\vec u ; \vec x , x}{A(x)} ( l,\vec u ; \vec x , w , \vec w )
128
%	\\
129
%	\smallskip
130
%	\wit{\vec u ; \vec x}{\forall u \leq |t(\vec u;)| . A(x)} (l , \vec u ; \vec x, w) & \dfn & 
131
%	\forall u \leq |t(\vec u;)| . \wit{u , \vec u ; \vec x}{A(u)} (l, u , \vec u ; \vec x, \beta(u;w) )
132
%	\end{array}
133
%	\]
134
%	\anupam{need length bounding for sharply bounded quantifiers}
135
\end{definition}
136

    
137
\anupam{may as well use a single witness variable since need it for sharply bounded quantifiers anyway.}
138

    
139
\anupam{sharply bounded case obtained by sharply bounded lemma}
140

    
141

    
142
\begin{proposition}
143
	If, for some $w$, $\wit{\vec u ; \vec x}{A} (l, \vec u ; \vec x,w) =1$, then $A (\vec u \mode l ; \vec x \mode l)$ is true.
144
	\anupam{check statement, need proof-theoretic version?}
145
\end{proposition}
146

    
147
By the polychecking lemma, we can assume that such a $w$ is bounded by some polynomial in $l$.
148

    
149
In order to prove Thm.~\ref{thm:soundness} we need the following lemma:
150

    
151

    
152
\paragraph*{Two properties needed}
153
For below, need witnesses and functions bounded by a polynomial in $l$.
154

    
155
\begin{lemma}
156
		[Proof interpretation]
157
		\label{lem:proof-interp}
158
	From a normal form \todo{define, prove exists} $\arith^i$ proof $\pi$ of a $\Sigma^\safe_i$ sequent $\normal(\vec u), \safe(\vec x) , \Gamma  \seqar \Delta$
159
	there are $\mubci{i-1}$ functions $\vec f^\pi (\vec u ; \vec x , w)$ (where $\vec f^\pi = (f^\pi_B)_{B\in\Delta}$) such that, for any $l, \vec u ; \vec x  , w$, we have:
160
	\[
161
%	\vec a^\nu = \vec u ,
162
%	\vec b^\sigma = \vec u, 
163
	\bigwedge\limits_{A \in \Gamma} \wit{\vec u ; \vec x}{ A} (l, \vec u ; \vec x , w_A) =1
164
	\quad \implies \quad
165
	\bigvee\limits_{B\in \Delta} \wit{\vec u ; \vec x}{B} (l, \vec u ; \vec x , f^\pi_B(\vec u \mode l ; \vec x \mode l, \vec w)) = 1
166
	\]
167
	\anupam{Need $\vec w \mode p(l)$ for some $p$.}
168
	\anupam{$l$ may occur freely in the programs $f^\pi_B$}
169
\end{lemma}
170
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 w')$, with $\vec w'$ in place of $\vec f( \cdots )$, which is a slight abuse of notation: we assume that LHS and RHS are clear from context.
171

    
172
\begin{proof}
173
	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$.
174
	We define the function $f$ inductively, by considering the various final rules of $\pi$.
175
	
176
	
177
	\paragraph*{Negation}
178
	Can assume only on atomic formulae, so no effect.	
179
	
180
	\paragraph*{Logical rules}
181
	Pairing, depairing. Need length-boundedness.
182
	
183
	If we have a left conjunction step:
184
	\[
185
	\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}
186
	\]
187
		By inductive hypothesis we have functions $\vec f (\vec u ; \vec x , w_A , w_B , \vec w)$ such that,
188
		\[
189
		\Wit{\vec u ; \vec x}{\Gamma} (l, \vec u ; \vec x , w_A , w_B , \vec w)
190
		\quad \implies \quad
191
		\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) ))
192
		\]
193
	for some polynomial $p$.
194
	%
195
		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)$.
196
	
197
	
198
	Right disjunction step:
199
	\[
200
		\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 }
201
	\]
202
		$\vec f^\pi_\Delta$ remains the same as that of premiss.
203
		Let $f_A, f_B$ be the functions corresponding to $A$ and $B$ in the premiss, so that:
204
		\[
205
		\Wit{\vec u ; \vec x}{\Gamma} (l, \vec u ; \vec x , \vec w)
206
		\quad \implies \quad
207
		\Wit{\vec u ; \vec x}{\Delta} (l, \vec u ; \vec x , f_C ( (\vec u ; \vec x) \mode l , \vec w \mode p(l) ))		
208
		\]
209
		for $C = A,B$ and for some $p$, such that $f_A , f_B$ are bounded by $q(l)$ (again by IH).
210
		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))}$.
211
	\paragraph*{Quantifiers}
212
	\anupam{Do $\exists$-right and $\forall$-right, left rules are symmetric.}
213
	
214
	
215
	
216
	Sharply bounded quantifiers are generalised versions of logical rules.
217
	\[
218
	\vlinf{|\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)  }
219
	\]
220
	By the inductive hypothesis we have functions $\vec f(u , \vec u ; \vec x , w , \vec w)$ such that:
221
	\[
222
	\Wit{u ,\vec u ; \vec x}{\lhs} ( u , \vec u ;\vec x , w , \vec w )
223
	\quad \implies \quad
224
	\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) ) )
225
	\]
226
	with $|f|\leq q(|l|)$.
227
	
228
	By Lemma~\ref{lem:sequence-creation}, we have a function $F (l , u , \vec u ; \vec x , w , \vec w) $ such that....
229
	
230
	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  )$.
231
	
232
	
233
	Right existential:
234
	\[
235
	\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)}
236
	\]
237
	Here we assume the variables of $t$ are amongst $(\vec u ; \vec x)$, since we are in typed variable normal form.
238

    
239
	
240
	\paragraph*{Contraction}
241
	Left contraction simply duplicates an argument, whereas right contraction requires a conditional on a $\Sigma^\safe_i$ formula.
242

    
243
	\[
244
	\vlinf{\cntr}{}{\normal (\vec u) , \safe (\vec x) , \Gamma \seqar \Delta , A }{\normal (\vec u) , \safe (\vec x) , \Gamma \seqar \Delta , A , A}
245
	\]
246
	
247
	$\vec f^\pi_\Delta$ remains the same as that of premiss. Let $f_0 ,f_1$ correspond to the two copies of $A$ in the premiss.
248
	 We define:
249
	 \[
250
	 f^\pi_A ( \vec u ; \vec x , \vec w  )
251
	 \quad \dfn \quad
252
	 \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)  )
253
	 \]
254

    
255

    
256
	\anupam{For $\normal (\vec u), \safe (\vec x)$ in antecedent, we always consider as a set, so do not display explicitly contraction rules. }
257
	\paragraph*{Induction}
258
	Corresponds to safe recursion on notation.
259
	Suppose final step is (wlog):
260
	\[
261
	\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} }
262
	\]
263
			\anupam{need to say in normal form part that can assume induction of this form}
264
	For simplicity we will assume $\Delta $ is empty, which we can always do by Prop.~\todo{DO THIS!}
265
	
266
		Now, by the inductive hypothesis, we have functions $h_i$ such that:
267
		\[
268
		\Wit{u , \vec u ; \vec x}{\Gamma, A(0)} (l , u , \vec u ; \vec x ,  \vec w)
269
		\quad \implies \quad
270
		\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) )
271
		\]
272
	First let us define $ f$ as follows:
273
	\[
274
	\begin{array}{rcl}
275
	 f (0 , \vec u ; \vec x, \vec w,  w ) & \dfn &  w\\
276
	 f( \succ i u , \vec u ; \vec x , \vec w, w) & \dfn & 
277
	 h_i (u , \vec u ; \vec x , \vec w , f(u , \vec u ; \vec x , \vec w , w ))
278
	\end{array}
279
	\]
280
	where $\vec w$ corresponds to $\Gamma $ and $w$ corresponds to $A(0)$.
281
	\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.}
282
	
283
	Now we let $f^\pi (\vec u ; \vec x , \vec w) \dfn f(t(\vec u ; ) , \vec u ; \vec x , \vec w)$.
284
	
285
	\paragraph*{Cut}
286
	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.
287
	Otherwise it is a `raisecut':
288
	\[
289
	\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 }
290
	\]
291
	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:
292
	\[
293
	\vec f^\pi ( \vec u , \vec v ; \vec x , \vec w )
294
	\quad \dfn \quad
295
	\vec g ( \beta (1 ; f(\vec u ;) ) , \vec v ; \vec x , \beta(0;f(\vec u ;)) , \vec w )
296
	\]
297
\end{proof}
298

    
299
We are now ready to prove the soundness theorem.
300

    
301
\begin{proof}
302
	[Proof of Thm.~\ref{thm:soundness} from Lemma~\ref{lem:proof-interp}]
303
	(watch out for dependence on $l$, try do without)
304
	
305
	Suppose $\arith^i \proves \forall \vec u^\normal . \exists x^\normal . A(\vec u ; x)$. Then by raising, inversion, free-variable normal forms, we have a proof of,
306
	\[
307
	\normal (\vec u ) \seqar \exists x^\normal . A(\vec u , x ;)
308
	\]
309
	whence, by Lemma~\ref{lem:proof-interp}, we have a $\mubci{i-1}$ function $f$ such that:
310
	\[
311
	\vec u \mode l = \vec a \mode l
312
	\quad \implies \quad
313
	\wit{\vec u ; }{A} ( l , \vec u , f(\vec u \mode l;) ) =1
314
	\]
315

    
316
	Now it suffices to choose an $l$ bigger that both all the $\vec u$ and $f(\vec u)$, which is a polynomial in $\vec u$ by the polymax bounding lemma.
317
\end{proof}
318