Statistiques
| Révision :

root / CSL17 / completeness.tex @ 195

Historique | Voir | Annoter | Télécharger (6,58 ko)

1 166 adas
\section{Completeness}
2 166 adas
3 166 adas
The main result of this section is the following:
4 166 adas
5 166 adas
\begin{theorem}
6 166 adas
	\label{thm:completeness}
7 166 adas
	For every $\mubci{i-1}$ program $f(\vec u ; \vec x)$ (which is in $\fphi i$), there is a $\Sigma_i$ formula $A_f(\vec u, \vec x)$ such that $\arith^i$ proves $\forall \vec u \in \normal . \forall \vec x \in \safe. \exists ! y \in \safe . A_f(\vec u , \vec x , y )$ and $\Nat \models \forall \vec u , \vec x. A(\vec u , \vec x , f(\vec u ; \vec x))$.
8 168 adas
\end{theorem}
9 168 adas
10 168 adas
The rest of this section is devoted to a proof of this theorem.
11 168 adas
We proceed by structural induction on a $\mubc{i-1} $ program, dealing with each case in the proceeding paragraphs.
12 168 adas
13 168 adas
\paragraph*{Predicative minimisation}
14 168 adas
Suppose $f(\vec u ; \vec x)$ is defined as $\mu x^{+1} . g(\vec u ; \vec x , x) =_2 0$.
15 168 adas
By definition $g$ is in $\mubci{i-2}$, and so by the inductive hypothesis there is a $\Sigma_{i-1}$ formula $A_g (\vec u , \vec x , x , y)$ computing the graph of $g$ such that,
16 168 adas
\[
17 168 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)
18 168 adas
\]
19 168 adas
Let us define $A_f(\vec u ; \vec x , z)$ as:
20 168 adas
\[
21 168 adas
\begin{array}{rl}
22 168 adas
&\left(
23 168 adas
z=0 \  \cand \ \forall x^\safe , y^\safe . (A_g (\vec u , \vec x , x, y) \cimp y=_2 1)
24 168 adas
\right) \\
25 168 adas
\cor & \left(
26 168 adas
\begin{array}{ll}
27 168 adas
z\neq 0
28 168 adas
& \cand\   \forall y^\safe . (A_g (\vec u , \vec x , p z , y) \cimp y=_2 0 ) \\
29 168 adas
& \cand\ \forall x^\safe < p z . \forall y^\safe . (A_g (\vec u , \vec x , x , y) \cimp y=_2 1)
30 168 adas
\end{array}
31 168 adas
\right)
32 168 adas
\end{array}
33 168 adas
\]
34 168 adas
Notice that $A_f$ is $\Pi_{i-1}$, since $A_g$ is $\Sigma_{i-1}$ and occurs only in negative context above, with additional safe universal quantifiers occurring in positive context.
35 168 adas
In particular this means $A_f$ is $\Sigma_i$.
36 168 adas
37 168 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}$:
38 168 adas
39 168 adas
\begin{lemma}
40 168 adas
[Minimisation]
41 168 adas
$\arith^i \proves \cmin{\Sigma^\safe_{i-1}}$.
42 168 adas
\end{lemma}
43 174 pbaillot
% see Thm 20 p. 58 in Buss' book.
44 168 adas
\begin{proof}
45 168 adas
\todo{}
46 168 adas
\end{proof}
47 168 adas
48 168 adas
Now, working in $\arith^i$, let $\vec u \in \normal , \vec x \in \safe$ and let us prove:
49 168 adas
\[
50 168 adas
\exists !z^\safe  . A_f(\vec u ; \vec x , z)
51 168 adas
\]
52 168 adas
Suppose that $\exists x^\safe , y^\safe .  (A_g (\vec u ,\vec x , x , y) \cand y=_2 0)$.
53 170 pbaillot
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$.
54 170 pbaillot
%\todo{verify $z\neq 0$ disjunct.}
55 170 pbaillot
Then $z \neq 0$ holds. Moreover we had  $\exists ! y^\safe . A_g(\vec u , \vec x , x , y)$. So we deduce that
56 170 pbaillot
 $\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
57 170 pbaillot
  $\exists y^\safe .  (A_g (\vec u ,\vec x , p z , y) \cand y=_2 0)$, we deduce
58 170 pbaillot
 $\ \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
59 170 pbaillot
 $A_f(\vec u ; \vec x , z)$ is proven.
60 168 adas
61 170 pbaillot
 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.
62 168 adas
63 170 pbaillot
So we have proven $\exists z^\safe  . A_f(\vec u ; \vec x , z)$, and unicity can be easily verified.
64 168 adas
65 168 adas
\paragraph*{Predicative recursion on notation}
66 171 adas
67 171 adas
\anupam{Assume access to the following predicates (makes completeness easier, soundness will be okay):
68 171 adas
	\begin{itemize}
69 171 adas
	%	\item $\pair x y z $ . ``$z$ is the sequence that appends $y$ to the sequence $x$''
70 171 adas
		\item $\pair x y z$. ``$z$ is the sequence that prepends $x$ to the sequence $y$''
71 171 adas
		\item $\beta (i; x ,y)$. ``The $i$th element of the sequence $x$ is $y$.''
72 171 adas
	\end{itemize}
73 171 adas
	}
74 195 pbaillot
\patrick{I also assume access to the following predicates:
75 195 pbaillot
\begin{itemize}
76 195 pbaillot
   \item $\zerobit (u,k)$ (resp. $\onebit(u,k)$). " The $k$th bit of $u$ is 0 (resp. 1)"
77 195 pbaillot
   \item $\pref(k,x,y)$. "The prefix of $x$ (as a binary string) of length $k$ is $y$"
78 195 pbaillot
\end{itemize}}
79 168 adas
Now suppose that $f$ is defined by PRN:
80 168 adas
\[
81 168 adas
\begin{array}{rcl}
82 168 adas
f(0 , \vec u ; \vec x) & \dfn & g(\vec u ; \vec x) \\
83 168 adas
f(\succ i u, \vec u ; \vec x) & \dfn & h_i( u , \vec u ; \vec x , f(u , \vec u ; \vec x))
84 168 adas
\end{array}
85 168 adas
\]
86 168 adas
87 168 adas
\anupam{using $\beta(i,x,y)$ predicate for sequences: ``$i$th element of $x$ is $y$''. Provably total in $\arith^1$.}
88 168 adas
89 168 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$.
90 168 adas
We define $A_f (u ,\vec u ; \vec x , y)$ as,
91 168 adas
\[
92 168 adas
\exists w^\safe . \left(
93 168 adas
\begin{array}{ll}
94 168 adas
&
95 168 adas
%Seq(z) \cand
96 168 adas
\exists y_0 . ( A_g (\vec u , \vec x , y_0) \cand \beta(0, w , y_0) ) \cand \beta(|u|, w,y ) \\
97 174 pbaillot
\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}) )
98 195 pbaillot
\cand & \forall k < |u| . \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}) )
99 168 adas
\end{array}
100 168 adas
\right)
101 168 adas
\]
102 195 pbaillot
103 195 pbaillot
where
104 195 pbaillot
105 195 pbaillot
\[
106 195 pbaillot
B (u , \vec u ; \vec x , y_k , y_{k+1}) =
107 195 pbaillot
\begin{array}{ll}
108 195 pbaillot
&  \\
109 195 pbaillot
\cand &
110 195 pbaillot
111 195 pbaillot
\end{array}
112 195 pbaillot
113 195 pbaillot
\]
114 168 adas
which is $\Sigma^\safe_i$ by inspection, and indeed defines the graph of $f$.
115 168 adas
116 168 adas
To show totality, let $\vec u \in \normal, \vec x \in \safe$ and proceed by induction on $u \in \normal$.
117 168 adas
The base case, when $u=0$, is immediate from the totality of $A_g$, so for the inductive case we need to show:
118 168 adas
\[
119 168 adas
\exists y^\safe . A_f (u , \vec u ; \vec x , y)
120 168 adas
\quad \seqar \quad
121 168 adas
\exists z^\safe . A_f (s_i u, \vec u ; \vec x , y)
122 168 adas
\]
123 168 adas
124 168 adas
\anupam{here need to `add' element to the computation sequence. Need to do this earlier in the paper.}
125 168 adas
126 168 adas
\anupam{for inductive cases, need $u\neq 0$ for $\succ 0$ case.}
127 168 adas
128 168 adas
\paragraph*{Safe composition}
129 168 adas
Now suppose that $f$ is defined by safe composition:
130 168 adas
\[
131 168 adas
f(\vec u ; \vec x) \quad \dfn \quad g( \vec h(\vec u;) ; \vec h' (\vec u ; \vec x) )
132 168 adas
\]
133 168 adas
134 168 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.
135 168 adas
In particular, by Raising, we have that $\forall \vec u^\normal . \exists v^\normal . A_{h_i} (\vec u , v)$.
136 168 adas
137 168 adas
We define $A_f (\vec u , \vec x , z)$ defining the graph of $f$ as follows:
138 168 adas
\[
139 168 adas
\exists \vec v^\normal . \exists \vec y^\safe .
140 168 adas
\left(
141 168 adas
\bigwedge\limits_i A_{h_i} (\vec u , v_i)
142 168 adas
\wedge
143 168 adas
\bigwedge\limits_j A_{h_j'} (\vec u ; \vec x , y_j)
144 168 adas
\wedge
145 168 adas
A_g ( \vec v , \vec y , z )
146 168 adas
\right)
147 168 adas
\]
148 168 adas
The provable totality of $A_f$ follows from simple first-order reasoning, mostly cuts and basic quantifier manipulations.
149 168 adas
150 168 adas
\todo{elaborate}
151 168 adas
152 168 adas
\paragraph*{Other cases}
153 168 adas
\todo{}
154 168 adas
155 168 adas
156 168 adas
157 168 adas
158 168 adas
159 168 adas
160 168 adas
161 168 adas
162 168 adas
163 168 adas
164 168 adas
165 168 adas
166 168 adas
167 168 adas
168 168 adas
169 168 adas
170 168 adas
171 168 adas
172 168 adas
173 168 adas
174 168 adas
175 168 adas
176 168 adas