Révision 225

CSL17/appendix-soundness.tex (revision 225)
1 1
\section{Proof of soundness}
2

  
3
\begin{definition}
4
	[Length bounded characteristic functions]
5
	We define $\mubci{}$ programs $\charfn{}{A} (l , \vec u; \vec x)$, parametrised by a formula $A$ and a compatible typing $(\vec u ; \vec x)$ of its varables, as follows.
6
	%	If $A$ is a $\Pi_{i}$ formula then:
7
	\[
8
	\begin{array}{rcl}
9
	\charfn{\vec u ; \vec x}{s\leq t} (l, \vec u ; \vec x) & \dfn & \leqfn(l;s,t) \\
10
	\smallskip
11
	%	\charfn{}{s=t} (l, \vec u ; \vec x) & \dfn & \eq(l;s,t) \\
12
	%	\smallskip
13
	\charfn{\vec u ; \vec x}{\neg A} (l, \vec u ; \vec x) & \dfn & \notfn (;\charfn{\vec u ; \vec x}{A}(l , \vec u ; \vec x)) \\
14
	\smallskip
15
	\charfn{\vec u ; \vec x}{A\cor B} (l, \vec u ; \vec x ) & \dfn & \orfn(; \charfn{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w), \charfn{\vec u ; \vec x}{B} (\vec u ;\vec x) ) \\
16
	\smallskip
17
	\charfn{\vec u ; \vec x}{A\cand B} (l, \vec u ; \vec x ) & \dfn & \andfn(; \charfn{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w), \charfn{\vec u ; \vec x}{B} (\vec u ;\vec x) )
18
	%	\end{array}
19
	%	\quad
20
	%	\begin{array}{rcl}
21
	\\	\smallskip
22
	\charfn{\vec u ; \vec x}{\exists x^\safe . A(x)} (l, \vec u ;\vec x) & \dfn & \begin{cases}
23
	1 & \exists x^\safe . \charfn{}{A(x)} (l, \vec u ;\vec x , x) = 1 \\
24
	0 & \text{otherwise} 
25
	\end{cases} \\
26
	\smallskip
27
	\charfn{\vec u ; \vec x}{\forall x^\safe . A(x)} (l, \vec u ;\vec x ) & \dfn & 
28
	\begin{cases}
29
	0 & \exists x^\sigma. \charfn{\vec u ; \vec x}{ A(x)} (l, \vec u; \vec x , x) = 0 \\
30
	1 & \text{otherwise}
31
	\end{cases}
32
	\end{array}
33
	\]
34
\end{definition}
35

  
2 36
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.
3 37

  
4 38
\begin{proof}
CSL17/arithmetic.tex (revision 225)
229 229
 The sequent calculus for $\arith^i$ is that of Fig. \ref{fig:sequentcalculus} extended with the $\basic$,  $\cpind{\Sigma^\safe_i } $ and $\rais$ nonlogical rules.
230 230
 
231 231
\todo{Present typed variable free-cut free form.}
232
\anupam{I cut-and-pasted the rest of this section into appendices to save space. Move things back gradually.}
232
\anupam{I cut-and-pasted the rest of this section into appendices to save space. Move things back gradually.}
233

  
234
\begin{theorem}
235
	[Typed variable normal form]
236
	\label{thm:normal-form}
237
\end{theorem}
CSL17/soundness.tex (revision 225)
15 15

  
16 16

  
17 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:
18
[Length bounded (in)equality]
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 define \emph{length-bounded inequality} as:
20 31
\[
21
x \mode l = y \mode l
22
\]
23
which is definable by safe recursion on $l$:
24
\[
25 32
\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 ))  )
33
\leqfn (0 ; x ,y) & \dfn & \cond(; \bit (0;x), 1, \bit (0;y) ) \\
34
\leqfn (\succ i l ; x,y) & \dfn & \orfn ( ; \cond(;\bit (\succ i l ; x) , \bit(\succ i l ; y),0 ) , \andfn (; \equivfn (\bit (\succ i l ; x) , \bit(\succ i l ; y)) , \leqfn (l;x,y ) ) )
28 35
\end{array}
29 36
\]
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 37
\end{definition}
38 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.}
39
Notice that $\leqfn (l; x,y) = 1$ just if $x \mode l \leq y \mode l$.
40
We can also define $\eq( l; x,y)$ as $\andfn (;\leq(l;x,y),\leq(l;y,x))$.
40 41

  
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
%\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.}
43
%
44
%Notice that $\eq$ is a polymax bounded polyomial checking function on its normal input, and so can be added to $\mubc$ without problems.
42 45

  
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}
46
Let us say that a sorting $(\vec u ; \vec x)$ of the variables $\vec u , \vec x$ is \emph{compatible} with a formula $A$ if each variable of $\vec x$ occurs hereditarily safe with respect to the $\bc$-types of terms (see App.~\ref{appendix:arithmetic}). 
47
In the presence of a compatible sorting, we may easily define functions that \emph{evaluate} safe formulae in $\mubc$:
72 48

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

  
75

  
76 50
\begin{proposition}
77
	$\charfn{}{A} (l, \vec u ; \vec x)$ is the characteristic function of $A (\vec u \mode l ; \vec x \mode l)$.
51
Given a $\Sigma^\safe_i$ formula $A$ and compatible sorting $(\vec u; \vec x)$ of its variables, there is a $\mubci{i-1}$ program $\charfn{\vec u ;\vec x}{A} (l, \vec u ; \vec x)$ computing the characteristic function of $A (\vec u \mode l ; \vec x \mode l)$.
78 52
\end{proposition}
79 53

  
54

  
55
We will use the programs $\charfn{}{}$ in the witness functions we define below.
56
Let us write $\charfn{}{i}$ to denote the class of functions $\charfn{}{A}$ for $A \in \Pi^\safe_{i-1}$.
57
For the notion of bounding polynomial below we are a little informal with bounds, using `big-oh' notation, since it will suffice just to be `sufficiently large'.
58

  
59

  
80 60
\begin{definition}
81 61
	[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:
62
	For a $\Sigma^\safe_{i}$ formula $A$ with a compatible sorting $(\vec u ; \vec x)$, we define the \emph{length-bounded witness function} $\wit{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w)$ in $\bc (\charfn{}{i})$ and its \emph{bounding polynomial} $b_A (l)$ as follows:
84 63
	\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)$.
64
		\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 )$ and we set $b_A (l) = 1$.
65
		\item If $A$ is $B \cor C$ then we may set $b_A = O(b_B + b_C)$ and define $		\wit{\vec u ; \vec x}{A} (l, \vec u ;\vec x , w) \dfn		\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 ) )  )$.
66
%		\[
67
%		\wit{\vec u ; \vec x}{A} (l, \vec u ;\vec x , w) 
68
%		\quad \dfn \quad
69
%		\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 ) )  )
70
%		\]
71
%		and we may set $b_A = O(b_B + b_C)$.
93 72
		\item Similarly if $A $ is $B \cand C$, but with $\andfn$ in place of $\orfn$.
94 73
%		\item If $A$ is $B \cand C$ then
95 74
%			\[
......
98 77
%			\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 78
%			\]
100 79
%			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
		\[
80
		\item If $A$ is $\forall u \leq |t(\vec u;)| . B(u)$ we appeal to sharply bounded closure, Lemma~\ref{lem:sharply-bounded-recursion}, to define
81
		\(
103 82
		\wit{\vec u ; \vec x}{A}
104
		\quad \dfn\quad
105
		\forall u\normal \leq |t|.
83
		 \dfn
84
		\forall u \leq |t|.
106 85
		\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 )$.
86
		\)
87
		%appealing to Lemma~\ref{lem:sharply-bounded-recursion}, 
88
		and 
89
		we set 
90
		$b_A = O(b_{B(t)}^2 )$.
109 91
		\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 92
		\item If $A$ is $\exists x^\safe . B(x) $ then
111
		\[
93
		\(
112 94
		\wit{\vec u ; \vec x}{A}
113
		\quad \dfn \quad
95
		\dfn 
114 96
		\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)}$.
97
		\)
98
		where $q$ is obtained by the polychecking and bounded minimisation properties, Lemmas~\ref{lem:polychecking} and \ref{lem:bounded-minimisation}, for $\wit{\vec u ; \vec x , x}{B(x)}$.
117 99
		We may set $b_A = O(b_B + q )$.
118 100
	\end{itemize}
119 101
%	\[
......
134 116
%	\anupam{need length bounding for sharply bounded quantifiers}
135 117
\end{definition}
136 118

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

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

  
141

  
142 121
\begin{proposition}
122
	\label{prop:wit-rfn}
143 123
	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?}
124
Conversely, if $A (\vec u \mode l ; \vec x \mode l)$ is true then there is some $w \leq b_A(l)$ such that $\wit{\vec u ; \vec x}{A} (l, \vec u ; \vec x,w) =1$.
145 125
\end{proposition}
146 126

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

  
149
In order to prove Thm.~\ref{thm:soundness} we need the following lemma:
128
In order to prove Thm.~\ref{thm:soundness} we need the following lemma, essentially giving an interpretation of $\arith^i$ proofs into $\mubci{i-1}$:
150 129

  
151 130

  
152 131
\begin{lemma}
153 132
		[Proof interpretation]
154 133
		\label{lem:proof-interp}
155
	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$
156
	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:
134
	From a typed-variable normal form $\arith^i$ proof $\pi$ of a $\Sigma^\safe_i$ sequent $\normal(\vec u), \safe(\vec x) , \Gamma  \seqar \Delta$
135
	there are $\bc (\charfn{}{i})$ functions $ f^\pi_B (\vec u ; \vec x , w)$ for $B\in\Delta$ such that
136
	% such that, for any $l, \vec u ; \vec x  , w$, we have:
157 137
	\[
158 138
%	\vec a^\nu = \vec u ,
159 139
%	\vec b^\sigma = \vec u, 
160 140
	\bigwedge\limits_{A \in \Gamma} \wit{\vec u ; \vec x}{ A} (l, \vec u ; \vec x , w_A) =1
161
	\quad \implies \quad
162
	\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
141
	\ \implies \
142
	\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
163 143
	\]
164
	\anupam{Need $\vec w \mode p(l)$ for some $p$.}
165
	\anupam{$l$ may occur freely in the programs $f^\pi_B$}
144
	for some polynomial $p$.
145
%	\anupam{Need $\vec w \mode p(l)$ for some $p$.}
146
%	\anupam{$l$ may occur freely in the programs $f^\pi_B$}
166 147
\end{lemma}
167 148

  
168 149

  
169
\todo{Make statement above proper, with all bounds and moduli. I cut the proof to the appendix, maybe add sketch if space.}
170 150

  
171
From this lemma we can readily prove the soundness result:
151

  
152
Now we can prove the soundness result:
172 153
	
173 154
	\begin{proof}
174 155
		[Proof of Thm.~\ref{thm:soundness} from Lemma~\ref{lem:proof-interp}]
175
		(watch out for dependence on $l$, try do without)
176
		
177
		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,
178
		\[
179
		\normal (\vec u ) \seqar \exists x^\normal . A(\vec u , x ;)
180
		\]
181
		whence, by Lemma~\ref{lem:proof-interp}, we have a $\mubci{i-1}$ function $f$ such that:
182
		\[
183
		\vec u \mode l = \vec a \mode l
184
		\quad \implies \quad
185
		\wit{\vec u ; }{A} ( l , \vec u , f(\vec u \mode l;) ) =1
186
		\]
187
		
188
		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.
156
		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.
157
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$.
158
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.
159
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.
189 160
	\end{proof}

Formats disponibles : Unified diff