Statistiques
| Révision :

root / CSL17 / tech-report / completeness.tex @ 258

Historique | Voir | Annoter | Télécharger (13,89 ko)

1 251 adas
\section{Completeness}\label{sect:completeness}
2 251 adas
We now turn to proving the converse result to the last section, that our theories $\arith^i$ are strong enough to represent any $\fphi i $ function.
3 251 adas
The main result of this section is the following:
4 251 adas
5 251 adas
\begin{theorem}
6 251 adas
	\label{thm:completeness}
7 251 adas
	For every $\mubci{i-1}$ program $f(\vec u ; \vec x)$ (which is in $\fphi i$), there is a $\Sigma^{\safe}_i$ formula $A_f(\vec u, \vec x)$ such that $\arith^i$ proves $\forall^{\normal} \vec u, \forall^{\safe} \vec x, \exists^{\safe} ! y. A_f(\vec u , \vec x , y )$ and $\Nat \models \forall \vec u , \vec x. A_f(\vec u , \vec x , f(\vec u ; \vec x))$.
8 251 adas
\end{theorem}
9 257 adas
%\begin{proof}[Proof sketch]
10 257 adas
% The proof proceeds by induction on the construction of $\mubci{i-1}$ program $f(\vec u ; \vec x)$ to construct a suitable formula $A_f(\vec u, \vec x)$ .  The case of initial functions is easy, by using the formulas we gave in Sect. \ref{sect:graphsbasicfunctions}. The case of safe composition is also simple, and makes use of the $\rais$ rule and simply combines previously defined graphs by \emph{modus ponens} (or, equivalently, $\cut$) and logical steps.
11 257 adas
% Naturally, the interesting cases are predicative recursion and predicative minimisation.
12 257 adas
%
13 257 adas
% For predicative recursion, the basic idea is to follow the classical simulation of primitive recursion in arithmetic, adapted to recursion on notation, by encoding the sequence of recursive calls as an integer $w$.
14 257 adas
% The main technical difficulty is the representation of (de)coding functions $\beta (k, x)$ (``the $k$th element of the sequence $x$'') and $\langle x,y \rangle$ (``the pair $(x,y)$'').
15 257 adas
% For this we represent instead the length-bounded variants of these functions given towards the end of Sect.~\ref{sect:prelims}, relying on the bounded minimisation and polychecking results, Lemmas~\ref{lem:bounded-minimisation} and \ref{lem:polychecking}, to find appropriate length bounds.
16 257 adas
%%  which is sorted in a suitable way so that the formula $A_f$  is in the same class $\Sigma^{\safe}_i$ as $A_g$,  $A_{h_0}$ and $A_{h_1}$.  This can be obtained by defining  the predicate $\beta (k, w, y)$ with $k$ in $\normal$ and $w$, $y$ in $\safe$.
17 257 adas
%
18 257 adas
%
19 257 adas
% For predicative minimisation, assume $f$ is defined as  $\succ 1 \mu x .( g(\vec u ; \vec x , x) =_2 0)$ (or $0$ if no such $x$ exists).
20 257 adas
%  By induction hypothesis we have a $\Sigma^{\safe}_{i-1}$ formula $A_g (\vec u , \vec x , x , y)$  satisfying the property. We then define $A_f(\vec u ; \vec x , z)$ as the following $\Sigma^{\safe}_{i}$ formula:
21 257 adas
%\[
22 257 adas
%\begin{array}{rl}
23 257 adas
%&\left(
24 257 adas
%z=0 \  \cand \ \forall x^\safe , y^\safe . (A_g (\vec u , \vec x , x, y) \cimp y=_2 1)
25 257 adas
%\right) \\
26 257 adas
%\cor & \left(
27 257 adas
%\begin{array}{ll}
28 257 adas
%z\neq 0
29 257 adas
%& \cand\   \forall y^\safe . (A_g (\vec u , \vec x , p z , y) \cimp y=_2 0 ) \\
30 257 adas
%& \cand\ \forall x^\safe < p z . \forall y^\safe . (A_g (\vec u , \vec x , x , y) \cimp y=_2 1)
31 257 adas
%\end{array}
32 257 adas
%\right)
33 257 adas
%\end{array}
34 257 adas
%\]
35 257 adas
%As for the analogous bounded arithmetic theory $S^i_2$ (\cite{Buss86book}, Thm 20, p. 58),  $\arith^i$ can prove a \emph{minimisation} principle for $\Sigma^\safe_{i-1}$ formulas, allowing us to extract the \emph{least} witness of a safe existential, which we apply to $\exists x^\safe , y^\safe .  (A_g (\vec u ,\vec x , x , y) \cand y=_2 0)$. From here we are able to readily prove the totality of $A_f(\vec u ; \vec x , z)$, notably relying crucially on classical reasoning.
36 257 adas
%\end{proof}
37 251 adas
38 257 adas
\begin{proof}
39 257 adas
	We proceed by structural induction on a $\mubc^{i-1} $ program, dealing with each case in the proceeding paragraphs.
40 257 adas
41 257 adas
	The property is easily verified for the class of initial functions of  $\mubci{i-1}$: constant, projections, (binary) successors, predecessor, conditional, as already shown in Sect. \ref{sect:graphsbasicfunctions}. Now let us examine the three constructions: predicative minimisation, predicative (safe) recursion and composition.
42 257 adas
	\paragraph*{Predicative minimisation}
43 257 adas
	Suppose $f(\vec u ; \vec x)$ is defined by predicative minimisation from $g$ (we then denote $f$ as as $\mu x^{+1} . g(\vec u ; \vec x , x) =_2 0$).
44 257 adas
	By definition $g$ is in $\mubci{i-2}$, and so by the inductive hypothesis there is a $\Sigma^{\safe}_{i-1}$ formula $A_g (\vec u , \vec x , x , y)$ computing the graph of $g$ such that,
45 257 adas
	\[
46 257 adas
	\arith^i \proves \forall \vec u^\normal . \forall \vec x^\safe , x^\safe . \exists ! y^\safe . A_g(\vec u , \vec x , x , y)
47 257 adas
	\]
48 257 adas
	Let us define $A_f(\vec u ; \vec x , z)$ as:
49 257 adas
	\[
50 257 adas
	\begin{array}{rl}
51 257 adas
	&\left(
52 257 adas
	z=0 \  \cand \ \forall x^\safe , y^\safe . (A_g (\vec u , \vec x , x, y) \cimp y=_2 1)
53 257 adas
	\right) \\
54 257 adas
	\cor & \left(
55 257 adas
	\begin{array}{ll}
56 257 adas
	z\neq 0
57 257 adas
	& \cand\   \forall y^\safe . (A_g (\vec u , \vec x , p z , y) \cimp y=_2 0 ) \\
58 257 adas
	& \cand\ \forall x^\safe < p z . \forall y^\safe . (A_g (\vec u , \vec x , x , y) \cimp y=_2 1)
59 257 adas
	\end{array}
60 257 adas
	\right)
61 257 adas
	\end{array}
62 257 adas
	\]
63 257 adas
	Notice that $A_f$ is $\Pi^{\safe}_{i-1}$, since $A_g$ is $\Sigma^{\safe}_{i-1}$ and occurs only in negative context above, with additional safe universal quantifiers occurring in positive context.
64 257 adas
	In particular this means $A_f$ is $\Sigma^{\safe}_i$.
65 257 adas
66 257 adas
	Now, to prove totality of $A_f$, we rely on $\Sigma^\safe_{i-1}$-minimisation, which is a consequence of $\cpind{\Sigma^\safe_i}$:
67 257 adas
68 257 adas
	\begin{lemma}
69 257 adas
		[Minimisation]
70 257 adas
		$\arith^i \proves \cmin{\Sigma^\safe_{i-1}}$.
71 257 adas
	\end{lemma}
72 257 adas
	% see Thm 20 p. 58 in Buss' book.
73 257 adas
	%\begin{proof}
74 257 adas
	%\end{proof}
75 257 adas
	\begin{proof}
76 257 adas
		This Lemma is proved by using the same method as for the proof of the analogous result in the bounded arithmetic $S_2^{i}$ (see \cite{Buss86book}, Thm 20, p. 58).
77 257 adas
78 257 adas
		Let $A(x)$ be a  $\Sigma^\safe_{i-1}$ formula, with $x$ in $\safe$. We define the formula $B(a,b,c)$ as:
79 257 adas
		$$ \forall x^{\safe}. (x < |a| \moins b \cimp \zerobit(x,c)) \cand \forall y^{\safe}<c. \neg A(y) \cand \exists y^{\safe} < 2^{|a|\moins b}.A(c+y)$$
80 257 adas
		where $a$ is in $\normal$, $b$ in $\normal$ and $c$ in $\safe$.  $B(a,b,c)$ is in $\Sigma^\safe_{i}$.
81 257 adas
82 257 adas
		The intuitive idea of the proof is to observe that, if $A(a)$ is true for $a\neq 0$, then  $\exists x^{\safe}\leq a. B(a,b,x)$ holds for $b=0$, and to try to prove it for $b=|a|$, by using a length induction on $b$.
83 257 adas
84 257 adas
		First, one can prove:
85 257 adas
		$$ (A(a) \cand a \neq 0) \cimp B(a,0,0).$$
86 257 adas
		And thus:
87 257 adas
		$$ (A(a) \cand a \neq 0) \cimp \exists x^{\safe}\leq a .B(a,0,x).$$
88 257 adas
		We then can check that the two following statements are provable:
89 257 adas
		$$
90 257 adas
		\begin{array}{rcl}
91 257 adas
		(b<|a| \cand B(a,b,c)\cand \exists y^{\safe}<2^{|a| \moins (b+1)}.A(c+y)) &\cimp& B(a,\succ{} b,c)\\
92 257 adas
		(b<|a| \cand B(a,b,c)\cand \forall y^{\safe}<2^{|a| \moins(b+1)}.  A(c+y)) &\cimp & B(a,\succ{} b, c+2^{|a| \moins (b+1)})
93 257 adas
		\end{array}
94 257 adas
		$$
95 257 adas
		Moreover we have: $A(a) \cand B(a,b,c) \cimp c\leq a$.
96 257 adas
		From these three statements we deduce:
97 257 adas
		$$(A(a) \cand a \neq 0 \cand b<|a| \cand \exists x^{\safe} \leq a. B(a,b,x)) \cimp \exists x^{\safe } \leq a.B(a,\succ{} b,x).$$
98 257 adas
		Note that here we have used the fact that we are in classical logic.
99 257 adas
100 257 adas
		The formula $\exists x\leq a. B(a,b,c)$ is in $\Sigma^{\safe}_{i}$, so by $\Sigma^{\safe}_{i}$-LIND on the formula $\exists x\leq a. B(a,b,c)$, with the variable $b$ which is in $\normal$,  we obtain:
101 257 adas
		$$(A(a) \cand a \neq 0 ) \cimp \exists x^{\safe } \leq a.B(a,|a|,x).$$
102 257 adas
		But $B(a,|a|,x)$ implies $(\forall y^{\safe}<x. \neg A(y))\cand A(x)$, so we have proven:
103 257 adas
		$$(A(a) \cand a \neq 0 ) \cimp (\exists x^{\safe } \leq a. (\forall y^{\safe}<x. \neg A(y))\cand A(x))$$
104 257 adas
		which is the $\Sigma_{i-1}^{\safe}$ axiom for $A$.
105 257 adas
	\end{proof}
106 257 adas
107 257 adas
	Now, working in $\arith^i$, let $\vec u \in \normal , \vec x \in \safe$ and let us prove:
108 257 adas
	\[
109 257 adas
	\exists !z^\safe  . A_f(\vec u ; \vec x , z)
110 257 adas
	\]
111 257 adas
	Suppose that $\exists x^\safe , y^\safe .  (A_g (\vec u ,\vec x , x , y) \cand y=_2 0)$.
112 257 adas
	We can apply minimisation due to the lemma above to find the least $x\in \safe$ such that $\exists y^\safe .  (A_g (\vec u ,\vec x , x , y) \cand y=_2 0)$, and we set $z = \succ 1 x$. So $x= p z$.
113 257 adas
	%\todo{verify $z\neq 0$ disjunct.}
114 257 adas
	Then $z \neq 0$ holds. Moreover we had  $\exists ! y^\safe . A_g(\vec u , \vec x , x , y)$. So we deduce that
115 257 adas
	$\forall y^\safe . (A_g (\vec u , \vec x , p z , y) \cimp y=_2 0 ) $. Finally, as $p z$ is the least element such that
116 257 adas
	$\exists y^\safe .  (A_g (\vec u ,\vec x , p z , y) \cand y=_2 0)$, we deduce
117 257 adas
	$\ \forall x^\safe < p z . \forall y^\safe . (A_g (\vec u , \vec x , x , y) \cimp y=_2 1) $. We conclude that the second member of the disjunction
118 257 adas
	$A_f(\vec u ; \vec x , z)$ is proven.
119 257 adas
120 257 adas
	Otherwise, we have that $\forall x^\safe , y^\safe . (A_g (\vec u , \vec x , x, y) \cimp y=_2 1)$, so we can set $z=0$ and the first member of the disjunction $A_f(\vec u ; \vec x , z)$ is proven.
121 257 adas
122 257 adas
	So we have proven $\exists z^\safe  . A_f(\vec u ; \vec x , z)$, and unicity can be easily verified.
123 257 adas
124 257 adas
	\paragraph*{Predicative recursion on notation}
125 257 adas
126 257 adas
	\anupam{Assume access to the following predicates (makes completeness easier, soundness will be okay):
127 257 adas
		\begin{itemize}
128 257 adas
			%	\item $\pair x y z $ . ``$z$ is the sequence that appends $y$ to the sequence $x$''
129 257 adas
			\item $\pair x y z$. ``$z$ is the sequence that prepends $x$ to the sequence $y$''
130 257 adas
			\item $\beta (i; x ,y)$. ``The $i$th element of the sequence $x$ is $y$.''
131 257 adas
		\end{itemize}
132 257 adas
	}
133 257 adas
	\patrick{I also assume access to the following predicates:
134 257 adas
		\begin{itemize}
135 257 adas
			%   \item $\zerobit (u,k)$ (resp. $\onebit(u,k)$). " The $k$th bit of $u$ is 0 (resp. 1)"
136 257 adas
			%   \item $\pref(k,x,y)$. "The prefix of $x$ (as a binary string) of length $k$ is $y$"
137 257 adas
			\item $\addtosequence(w,y,w')$. "$w'$ represents the sequence obtained by adding $y$ at the end of the sequence represented by $w$". Here we are referring to sequences which can be decoded with predicate $\beta$.
138 257 adas
		\end{itemize}}
139 257 adas
		In the following we will use the predicates $\zerobit (u,k)$, $\onebit(u,k)$, $\pref(k,x,y)$ which have been defined in Sect. \ref{sect:graphsbasicfunctions}.
140 257 adas
141 257 adas
		Suppose that $f$ is defined by predicative recursion on notation:
142 257 adas
		\[
143 257 adas
		\begin{array}{rcl}
144 257 adas
		f(0 , \vec u ; \vec x) & \dfn & g(\vec u ; \vec x) \\
145 257 adas
		f(\succ i u, \vec u ; \vec x) & \dfn & h_i( u , \vec u ; \vec x , f(u , \vec u ; \vec x))
146 257 adas
		\end{array}
147 257 adas
		\]
148 257 adas
149 257 adas
		\anupam{using $\beta(i,x,y)$ predicate for sequences: ``$i$th element of $x$ is $y$''. Provably total in $\arith^1$.}
150 257 adas
151 257 adas
		Suppose we have $\Sigma^\safe_i$ formulae $A_g (\vec u ; \vec x,y)$ and $A_{h_i} (u , \vec u ; \vec x , y , z)$ computing the graphs of $g$ and $h_i$ respectively, provably total in $\arith^i$.
152 257 adas
		We define $A_f (u ,\vec u ; \vec x , y)$ as,
153 257 adas
		\[
154 257 adas
		\exists w^\safe . \left(
155 257 adas
		\begin{array}{ll}
156 257 adas
		&
157 257 adas
		%Seq(z) \cand
158 257 adas
		\exists^{\safe} y_0 . ( A_g (\vec u , \vec x , y_0) \cand \beta(0, w , y_0) ) \cand \beta(|u|, w,y ) \\
159 257 adas
		%\cand & \forall k < |u| . \exists y_k , y_{k+1} . ( \beta (k, w, y_k) \cand \beta (k+1 ,w, y_{k+1})  \cand A_{h_i} (u , \vec u ; \vec x , y_k , y_{k+1}) )\\
160 257 adas
		\cand & \forall^{\normal}  k < |u| . \exists^{\safe} y_k , y_{k+1} . ( \beta (k, w, y_k) \cand \beta (k+1 ,w, y_{k+1})  \cand B (u , \vec u ; \vec x , y_k , y_{k+1}) )
161 257 adas
		\end{array}
162 257 adas
		\right)
163 257 adas
		\]
164 257 adas
		where
165 257 adas
		\[
166 257 adas
		B (u , \vec u ; \vec x , y_k , y_{k+1}) = \left(
167 257 adas
		\begin{array}{ll}
168 257 adas
		& \zerobit(u,k+1) \cimp  \exists v .(\pref(k,u,v)  \cand A_{h_0}(v,\vec u ; \vec x, y_k, y_{k+1}) )\\
169 257 adas
		\cand &  \onebit(u,k+1) \cimp  \exists v .(\pref(k,u,v)  \cand A_{h_1}(v,\vec u ; \vec x, y_k, y_{k+1}) )
170 257 adas
		\end{array}
171 257 adas
		\right)
172 257 adas
		\]
173 257 adas
174 257 adas
		%which is $\Sigma^\safe_i$ by inspection, and indeed defines the graph of $f$.
175 257 adas
176 257 adas
		To show totality, let $\vec u \in \normal, \vec x \in \safe$ and proceed by induction on $u \in \normal$.
177 257 adas
		The base case, when $u=0$, is immediate from the totality of $A_g$, so for the inductive case we need to show:
178 257 adas
		\[
179 257 adas
		\exists y^\safe . A_f (u , \vec u ; \vec x , y)
180 257 adas
		\quad \seqar \quad
181 257 adas
		\exists z^\safe . A_f (s_i u, \vec u ; \vec x , z)
182 257 adas
		\]
183 257 adas
184 257 adas
		So let us assume $\exists y^\safe . A_f (u , \vec u ; \vec x , y) $. Then there exists $w$ such that $\safe(w)$ and
185 257 adas
		$A_f (u , \vec u ; \vec x , w) $.
186 257 adas
187 257 adas
		We know that there exists a $z$ such that $A_{h_i}(u,\vec u ; \vec x, y, z)$. Let then $w'$ be such that
188 257 adas
		$\addtosequence(w,z,w')$. Observe also that we have $\pref(|u|,s_i u,u)$
189 257 adas
190 257 adas
		So we have, for $k=|u|$:
191 257 adas
192 257 adas
		$$  \beta (k, w', y) \cand \beta (k+1 ,w', z)  \cand B (u , \vec u ; \vec x , y , z).$$
193 257 adas
194 257 adas
		and we can conclude that
195 257 adas
		\[
196 257 adas
		\exists w'^\safe . \left(
197 257 adas
		\begin{array}{ll}
198 257 adas
		&
199 257 adas
		%Seq(z) \cand
200 257 adas
		\exists y_0 . ( A_g (\vec u , \vec x , y_0) \cand \beta(0, w' , y_0) ) \cand \beta(|u|+1, w',z ) \\
201 257 adas
		\cand & \forall k < |u|+1 . \exists y_k , y_{k+1} . ( \beta (k, w, y_k) \cand \beta (k+1 ,w, y_{k+1})  \cand B (u , \vec u ; \vec x , y_k , y_{k+1}) )
202 257 adas
		\end{array}
203 257 adas
		\right)
204 257 adas
		\]
205 257 adas
		So $\exists z^{\safe} . A_f (s_i u, \vec u ; \vec x , z)$ has been proven. So by induction we have proven $\forall^{\normal} u,
206 257 adas
		\forall^{\normal} \vec u, \exists^{\safe} y. A_f (u ,\vec u ; \vec x , y)$. Moreover one can also check the unicity of $y$, and so we have proved the required formula.
207 257 adas
208 257 adas
		\anupam{here need to `add' element to the computation sequence. Need to do this earlier in the paper.}
209 257 adas
210 257 adas
		\anupam{for inductive cases, need $u\neq 0$ for $\succ 0$ case.}
211 257 adas
212 257 adas
		\paragraph*{Safe composition}
213 257 adas
		Now suppose that $f$ is defined by safe composition:
214 257 adas
		\[
215 257 adas
		f(\vec u ; \vec x) \quad \dfn \quad g( \vec h(\vec u;) ; \vec h' (\vec u ; \vec x) )
216 257 adas
		\]
217 257 adas
218 257 adas
		By the inductive hypothesis, let us suppose that we have $\Sigma^\safe_i $ definitions $A_g , A_{h_i} , A_{h_j'} $ of the graphs of $g , h_i , h_j'$ respectively, which are provably total etc.
219 257 adas
		In particular, by Raising, we have that $\forall \vec u^\normal . \exists v^\normal . A_{h_i} (\vec u , v)$.
220 257 adas
221 257 adas
		We define $A_f (\vec u , \vec x , z)$ defining the graph of $f$ as follows:
222 257 adas
		\[
223 257 adas
		\exists \vec v^\normal . \exists \vec y^\safe .
224 257 adas
		\left(
225 257 adas
		\bigwedge\limits_i A_{h_i} (\vec u , v_i)
226 257 adas
		\wedge
227 257 adas
		\bigwedge\limits_j A_{h_j'} (\vec u ; \vec x , y_j)
228 257 adas
		\wedge
229 257 adas
		A_g ( \vec v , \vec y , z )
230 257 adas
		\right)
231 257 adas
		\]
232 257 adas
		The provable totality of $A_f$ follows from simple first-order reasoning, mostly cuts and basic quantifier manipulations.
233 257 adas
234 257 adas
		\todo{elaborate}
235 257 adas
236 257 adas
		The proof of Thm \ref{thm:completeness} is thus completed.
237 251 adas
\end{proof}
238 251 adas
239 251 adas
240 251 adas
241 251 adas
242 251 adas
243 251 adas
244 251 adas
245 251 adas
246 251 adas
247 251 adas
248 251 adas
249 251 adas
250 251 adas
251 251 adas
252 251 adas
253 251 adas
254 251 adas
255 251 adas
256 251 adas
257 251 adas