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