root / CSL17 / soundness.tex @ 246
Historique | Voir | Annoter | Télécharger (9,13 ko)
1 | 166 | adas | \section{Soundness} |
---|---|---|---|
2 | 168 | adas | \label{sect:soundness} |
3 | 236 | adas | In this section we show that the representable functions of our theories $\arith^i$ are in $\fphi i$ (`soundness'). |
4 | 236 | adas | The main result is the following: |
5 | 168 | adas | |
6 | 168 | adas | \begin{theorem} |
7 | 202 | adas | \label{thm:soundness} |
8 | 168 | adas | If $\arith^i$ proves $\forall \vec u^\normal . \forall \vec x^\safe . \exists y^\safe . A(\vec u ; \vec x , y)$ then there is a $\mubci{i-1}$ program $f(\vec u ; \vec x)$ such that $\Nat \models A(\vec u ; \vec x , f(\vec u ; \vec x))$. |
9 | 168 | adas | \end{theorem} |
10 | 168 | adas | |
11 | 171 | adas | |
12 | 172 | adas | |
13 | 236 | adas | The problem for soundness is that we have predicates, for example equality, that take safe arguments in our theory but do not formally satisfy the polychecking lemma for $\mubc$ functions, Lemma~\ref{lem:polychecking}. |
14 | 236 | adas | For this we will use \emph{length-bounded} witnessing argument, borrowing a similar idea from Bellantoni's work \cite{Bellantoni95}. |
15 | 172 | adas | |
16 | 201 | adas | |
17 | 172 | adas | \begin{definition} |
18 | 225 | adas | [Length bounded (in)equality] |
19 | 225 | adas | %We define \emph{length-bounded equality}, $\eq(l;x,y)$ as the characteristic function of the predicate: |
20 | 225 | adas | %\[ |
21 | 225 | adas | %x \mode l = y \mode l |
22 | 225 | adas | %\] |
23 | 225 | adas | %which is definable by safe recursion on $l$: |
24 | 225 | adas | %\[ |
25 | 225 | adas | %\begin{array}{rcl} |
26 | 225 | adas | %\eq (0 ; x,y) & \dfn & \equivfn (;\bit (0;x),\bit(0;y) ) \\ |
27 | 225 | adas | %\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 | 225 | adas | %\end{array} |
29 | 225 | adas | %\] |
30 | 225 | adas | We define \emph{length-bounded inequality} as: |
31 | 172 | adas | \[ |
32 | 201 | adas | \begin{array}{rcl} |
33 | 225 | adas | \leqfn (0 ; x ,y) & \dfn & \cond(; \bit (0;x), 1, \bit (0;y) ) \\ |
34 | 225 | adas | \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 ) ) ) |
35 | 201 | adas | \end{array} |
36 | 201 | adas | \] |
37 | 172 | adas | \end{definition} |
38 | 172 | adas | |
39 | 225 | adas | Notice that $\leqfn (l; x,y) = 1$ just if $x \mode l \leq y \mode l$. |
40 | 225 | adas | We can also define $\eq( l; x,y)$ as $\andfn (;\leq(l;x,y),\leq(l;y,x))$. |
41 | 172 | adas | |
42 | 225 | adas | %\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 | 225 | adas | % |
44 | 225 | adas | %Notice that $\eq$ is a polymax bounded polyomial checking function on its normal input, and so can be added to $\mubc$ without problems. |
45 | 172 | adas | |
46 | 227 | adas | |
47 | 225 | adas | In the presence of a compatible sorting, we may easily define functions that \emph{evaluate} safe formulae in $\mubc$: |
48 | 173 | adas | |
49 | 173 | adas | |
50 | 176 | adas | \begin{proposition} |
51 | 225 | adas | 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)$. |
52 | 176 | adas | \end{proposition} |
53 | 176 | adas | |
54 | 225 | adas | |
55 | 225 | adas | We will use the programs $\charfn{}{}$ in the witness functions we define below. |
56 | 225 | adas | Let us write $\charfn{}{i}$ to denote the class of functions $\charfn{}{A}$ for $A \in \Pi^\safe_{i-1}$. |
57 | 225 | adas | 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 | 235 | adas | Notice that, while we refer to $b_A(l), p(l)$ etc.\ below as a `polynomial', we really mean a \emph{quasipolynomial} (which may also contain $\smsh$), i.e.\ a polynomial in the \emph{length} of $l$, as a slight abuse of notation. |
59 | 225 | adas | |
60 | 225 | adas | |
61 | 173 | adas | \begin{definition} |
62 | 173 | adas | [Length bounded witness function] |
63 | 225 | adas | 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: |
64 | 219 | adas | \begin{itemize} |
65 | 225 | adas | \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$. |
66 | 225 | adas | \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 ) ) )$. |
67 | 225 | adas | % \[ |
68 | 225 | adas | % \wit{\vec u ; \vec x}{A} (l, \vec u ;\vec x , w) |
69 | 225 | adas | % \quad \dfn \quad |
70 | 225 | adas | % \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 ) ) ) |
71 | 225 | adas | % \] |
72 | 225 | adas | % and we may set $b_A = O(b_B + b_C)$. |
73 | 219 | adas | \item Similarly if $A $ is $B \cand C$, but with $\andfn$ in place of $\orfn$. |
74 | 219 | adas | % \item If $A$ is $B \cand C$ then |
75 | 219 | adas | % \[ |
76 | 219 | adas | % \wit{\vec u ; \vec x}{A} (l, \vec u ;\vec x , w) |
77 | 219 | adas | % \quad \dfn \quad |
78 | 219 | adas | % \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 ) ) ) |
79 | 219 | adas | % \] |
80 | 219 | adas | % and we may set $b_A = O(b_B + b_C)$. |
81 | 225 | adas | \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 |
82 | 225 | adas | \( |
83 | 219 | adas | \wit{\vec u ; \vec x}{A} |
84 | 225 | adas | \dfn |
85 | 225 | adas | \forall u \leq |t|. |
86 | 219 | adas | \wit{u, \vec u ; \vec x}{B(u)} (l, u, \vec u ; \vec x , \beta( b_{B(t)} (l) , u ; w ) ) |
87 | 225 | adas | \) |
88 | 225 | adas | %appealing to Lemma~\ref{lem:sharply-bounded-recursion}, |
89 | 225 | adas | and |
90 | 225 | adas | we set |
91 | 225 | adas | $b_A = O(b_{B(t)}^2 )$. |
92 | 219 | adas | \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|$. |
93 | 219 | adas | \item If $A$ is $\exists x^\safe . B(x) $ then |
94 | 225 | adas | \( |
95 | 219 | adas | \wit{\vec u ; \vec x}{A} |
96 | 225 | adas | \dfn |
97 | 219 | adas | \wit{\vec u ; \vec x , x}{B(x)} ( l, \vec u ; \vec x , \beta( b_{B} (l) , 0;w ) , \beta (q(l) , 1 ;w )) |
98 | 225 | adas | \) |
99 | 225 | adas | 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)}$. |
100 | 219 | adas | We may set $b_A = O(b_B + q )$. |
101 | 219 | adas | \end{itemize} |
102 | 219 | adas | % \[ |
103 | 219 | adas | % \begin{array}{rcl} |
104 | 219 | adas | % \wit{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w) & \dfn & \charfn{}{A} (l, \vec u ; \vec x) \text{ if $A$ is $\Pi_i$} \\ |
105 | 219 | adas | % \smallskip |
106 | 219 | adas | % \wit{\vec u ; \vec x}{A \cor B} (l,\vec u ; \vec x , \vec w^A , \vec w^B) & \dfn & \cor ( ; \wit{\vec u ; \vec x}{A} (l,\vec u ; \vec x , \vec w^A) ,\wit{\vec u ; \vec x}{B} (l,\vec u ; \vec x , \vec w^B) ) \\ |
107 | 219 | adas | % \smallskip |
108 | 219 | adas | % \wit{\vec u ; \vec x}{A \cand B} (l,\vec u ; \vec x , \vec w^A , \vec w^B) & \dfn & \cand ( ; \wit{\vec u ; \vec x}{A} (l,\vec u ; \vec x , \vec w^A) ,\wit{\vec u ; \vec x}{B} (l,\vec u ; \vec x , \vec w^B) ) \\ |
109 | 219 | adas | % \smallskip |
110 | 219 | adas | % \wit{\vec u ; \vec x}{\exists x^\safe . A(x)} (l,\vec u ; \vec x , \vec w , w) & \dfn & \wit{\vec u ; \vec x , x}{A(x)} ( l,\vec u ; \vec x , w , \vec w ) |
111 | 219 | adas | % \\ |
112 | 219 | adas | % \smallskip |
113 | 219 | adas | % \wit{\vec u ; \vec x}{\forall u \leq |t(\vec u;)| . A(x)} (l , \vec u ; \vec x, w) & \dfn & |
114 | 219 | adas | % \forall u \leq |t(\vec u;)| . \wit{u , \vec u ; \vec x}{A(u)} (l, u , \vec u ; \vec x, \beta(u;w) ) |
115 | 219 | adas | % \end{array} |
116 | 219 | adas | % \] |
117 | 219 | adas | % \anupam{need length bounding for sharply bounded quantifiers} |
118 | 173 | adas | \end{definition} |
119 | 173 | adas | |
120 | 173 | adas | |
121 | 202 | adas | |
122 | 202 | adas | \begin{proposition} |
123 | 225 | adas | \label{prop:wit-rfn} |
124 | 205 | adas | 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. |
125 | 225 | adas | 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$. |
126 | 202 | adas | \end{proposition} |
127 | 202 | adas | |
128 | 219 | adas | |
129 | 225 | adas | 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}$: |
130 | 202 | adas | |
131 | 202 | adas | |
132 | 202 | adas | \begin{lemma} |
133 | 219 | adas | [Proof interpretation] |
134 | 219 | adas | \label{lem:proof-interp} |
135 | 225 | adas | 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$ |
136 | 225 | adas | there are $\bc (\charfn{}{i})$ functions $ f^\pi_B (\vec u ; \vec x , w)$ for $B\in\Delta$ such that |
137 | 225 | adas | % such that, for any $l, \vec u ; \vec x , w$, we have: |
138 | 202 | adas | \[ |
139 | 219 | adas | % \vec a^\nu = \vec u , |
140 | 219 | adas | % \vec b^\sigma = \vec u, |
141 | 235 | adas | % \bigwedge\limits_{A \in \Gamma} \wit{\vec u ; \vec x}{ A} (l, \vec u ; \vec x , w_A) =1 |
142 | 235 | adas | % \ \implies \ |
143 | 235 | adas | % \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 |
144 | 235 | adas | \begin{array}{rl} |
145 | 235 | adas | & \bigwedge\limits_{A \in \Gamma} \wit{\vec u ; \vec x}{ A} (l, \vec u ; \vec x , w_A \mode b_A(l)) =1 \\ |
146 | 235 | adas | \noalign{\medskip} |
147 | 235 | adas | \implies & \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 |
148 | 235 | adas | \end{array} |
149 | 202 | adas | \] |
150 | 225 | adas | for some polynomial $p$. |
151 | 225 | adas | % \anupam{Need $\vec w \mode p(l)$ for some $p$.} |
152 | 225 | adas | % \anupam{$l$ may occur freely in the programs $f^\pi_B$} |
153 | 202 | adas | \end{lemma} |
154 | 219 | adas | |
155 | 222 | adas | |
156 | 222 | adas | |
157 | 225 | adas | |
158 | 225 | adas | Now we can prove the soundness result: |
159 | 202 | adas | |
160 | 222 | adas | \begin{proof} |
161 | 233 | adas | [Proof sketch of Thm.~\ref{thm:soundness} from Lemma~\ref{lem:proof-interp}] |
162 | 225 | adas | 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. |
163 | 225 | adas | 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$. |
164 | 225 | adas | 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. |
165 | 227 | adas | 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 to finish the proof. |
166 | 222 | adas | \end{proof} |