root / CSL17 / completeness.tex @ 170
Historique | Voir | Annoter | Télécharger (5,66 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 | 168 | adas | \begin{proof} |
44 | 168 | adas | \todo{} |
45 | 168 | adas | \end{proof} |
46 | 168 | adas | |
47 | 168 | adas | Now, working in $\arith^i$, let $\vec u \in \normal , \vec x \in \safe$ and let us prove: |
48 | 168 | adas | \[ |
49 | 168 | adas | \exists !z^\safe . A_f(\vec u ; \vec x , z) |
50 | 168 | adas | \] |
51 | 168 | adas | Suppose that $\exists x^\safe , y^\safe . (A_g (\vec u ,\vec x , x , y) \cand y=_2 0)$. |
52 | 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$. |
53 | 170 | pbaillot | %\todo{verify $z\neq 0$ disjunct.} |
54 | 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 |
55 | 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 |
56 | 170 | pbaillot | $\exists y^\safe . (A_g (\vec u ,\vec x , p z , y) \cand y=_2 0)$, we deduce |
57 | 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 |
58 | 170 | pbaillot | $A_f(\vec u ; \vec x , z)$ is proven. |
59 | 168 | adas | |
60 | 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. |
61 | 168 | adas | |
62 | 170 | pbaillot | So we have proven $\exists z^\safe . A_f(\vec u ; \vec x , z)$, and unicity can be easily verified. |
63 | 168 | adas | |
64 | 168 | adas | \paragraph*{Predicative recursion on notation} |
65 | 168 | adas | Now suppose that $f$ is defined by PRN: |
66 | 168 | adas | \[ |
67 | 168 | adas | \begin{array}{rcl} |
68 | 168 | adas | f(0 , \vec u ; \vec x) & \dfn & g(\vec u ; \vec x) \\ |
69 | 168 | adas | f(\succ i u, \vec u ; \vec x) & \dfn & h_i( u , \vec u ; \vec x , f(u , \vec u ; \vec x)) |
70 | 168 | adas | \end{array} |
71 | 168 | adas | \] |
72 | 168 | adas | |
73 | 168 | adas | \anupam{using $\beta(i,x,y)$ predicate for sequences: ``$i$th element of $x$ is $y$''. Provably total in $\arith^1$.} |
74 | 168 | adas | |
75 | 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$. |
76 | 168 | adas | We define $A_f (u ,\vec u ; \vec x , y)$ as, |
77 | 168 | adas | \[ |
78 | 168 | adas | \exists w^\safe . \left( |
79 | 168 | adas | \begin{array}{ll} |
80 | 168 | adas | & |
81 | 168 | adas | %Seq(z) \cand |
82 | 168 | adas | \exists y_0 . ( A_g (\vec u , \vec x , y_0) \cand \beta(0, w , y_0) ) \cand \beta(|u|, w,y ) \\ |
83 | 168 | adas | \cand & \forall k < |u| . \exists y_k , y_{k+1} . ( \beta (k, w, y_i) \cand \beta (k+1 ,w, y_{k+1}) \cand A_{h_i} (u , \vec u ; \vec x , y_k , y_{k+1}) ) |
84 | 168 | adas | \end{array} |
85 | 168 | adas | \right) |
86 | 168 | adas | \] |
87 | 168 | adas | which is $\Sigma^\safe_i$ by inspection, and indeed defines the graph of $f$. |
88 | 168 | adas | |
89 | 168 | adas | To show totality, let $\vec u \in \normal, \vec x \in \safe$ and proceed by induction on $u \in \normal$. |
90 | 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: |
91 | 168 | adas | \[ |
92 | 168 | adas | \exists y^\safe . A_f (u , \vec u ; \vec x , y) |
93 | 168 | adas | \quad \seqar \quad |
94 | 168 | adas | \exists z^\safe . A_f (s_i u, \vec u ; \vec x , y) |
95 | 168 | adas | \] |
96 | 168 | adas | |
97 | 168 | adas | \anupam{here need to `add' element to the computation sequence. Need to do this earlier in the paper.} |
98 | 168 | adas | |
99 | 168 | adas | \anupam{for inductive cases, need $u\neq 0$ for $\succ 0$ case.} |
100 | 168 | adas | |
101 | 168 | adas | \paragraph*{Safe composition} |
102 | 168 | adas | Now suppose that $f$ is defined by safe composition: |
103 | 168 | adas | \[ |
104 | 168 | adas | f(\vec u ; \vec x) \quad \dfn \quad g( \vec h(\vec u;) ; \vec h' (\vec u ; \vec x) ) |
105 | 168 | adas | \] |
106 | 168 | adas | |
107 | 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. |
108 | 168 | adas | In particular, by Raising, we have that $\forall \vec u^\normal . \exists v^\normal . A_{h_i} (\vec u , v)$. |
109 | 168 | adas | |
110 | 168 | adas | We define $A_f (\vec u , \vec x , z)$ defining the graph of $f$ as follows: |
111 | 168 | adas | \[ |
112 | 168 | adas | \exists \vec v^\normal . \exists \vec y^\safe . |
113 | 168 | adas | \left( |
114 | 168 | adas | \bigwedge\limits_i A_{h_i} (\vec u , v_i) |
115 | 168 | adas | \wedge |
116 | 168 | adas | \bigwedge\limits_j A_{h_j'} (\vec u ; \vec x , y_j) |
117 | 168 | adas | \wedge |
118 | 168 | adas | A_g ( \vec v , \vec y , z ) |
119 | 168 | adas | \right) |
120 | 168 | adas | \] |
121 | 168 | adas | The provable totality of $A_f$ follows from simple first-order reasoning, mostly cuts and basic quantifier manipulations. |
122 | 168 | adas | |
123 | 168 | adas | \todo{elaborate} |
124 | 168 | adas | |
125 | 168 | adas | \paragraph*{Other cases} |
126 | 168 | adas | \todo{} |
127 | 168 | adas | |
128 | 168 | adas | |
129 | 168 | adas | |
130 | 168 | adas | |
131 | 168 | adas | |
132 | 168 | adas | |
133 | 168 | adas | |
134 | 168 | adas | |
135 | 168 | adas | |
136 | 168 | adas | |
137 | 168 | adas | |
138 | 168 | adas | |
139 | 168 | adas | |
140 | 168 | adas | |
141 | 168 | adas | |
142 | 168 | adas | |
143 | 168 | adas | |
144 | 168 | adas | |
145 | 168 | adas | |
146 | 168 | adas | |
147 | 168 | adas | |
148 | 168 | adas | |
149 | 168 | adas |