Statistiques
| Révision :

root / CSL17 / soundness.tex @ 172

Historique | Voir | Annoter | Télécharger (2,42 ko)

1 166 adas
\section{Soundness}
2 168 adas
\label{sect:soundness}
3 168 adas
4 168 adas
The main result of this section is the following:
5 168 adas
6 168 adas
\begin{theorem}
7 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))$.
8 168 adas
\end{theorem}
9 168 adas
10 171 adas
11 172 adas
12 172 adas
The main 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.
13 172 adas
For this we will use length-bounded witnessing, borrowing a similar idea from Bellantoni's previous work \cite{Bellantoni95}.
14 172 adas
15 172 adas
\begin{definition}
16 172 adas
[Length bounded basic functions]
17 172 adas
We define \emph{length-bounded equality}, $\eq(l;x,y)$ as the characteristic function of the predicate:
18 172 adas
\[
19 172 adas
x \mode l = y \mode l
20 172 adas
\]
21 172 adas
\end{definition}
22 172 adas
23 172 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.}
24 172 adas
25 172 adas
Notice that $\eq$ is a polymax bounded polyomial checking function on its normal input, and so can be added to $\mubc$ without problems.
26 172 adas
27 172 adas
\begin{definition}
28 172 adas
	[Length bounded characteristic functions]
29 172 adas
	We define $\mubci{}$ programs $\charfn{}{A} (l , \vec u; \vec x)$, parametrised by a formula $A(\vec u ; \vec x)$, as follows.
30 172 adas
%	If $A$ is a $\Pi_{i}$ formula then:
31 172 adas
	\[
32 172 adas
	\begin{array}{rcl}
33 172 adas
	\charfn{}{s\leq t} (l, \vec u ; \vec x, w) & \dfn & \leqfn(;s,t) \\
34 172 adas
	\smallskip
35 172 adas
	\charfn{}{s=t} (l, \vec u ; \vec x, w) & \dfn & \eq(;s,t) \\
36 172 adas
	\smallskip
37 172 adas
	\charfn{}{\neg A} (l, \vec u ; \vec x, w) & \dfn & \neg (;\charfn{}{A}(l , \vec u ; \vec x)) \\
38 172 adas
	\smallskip
39 172 adas
	\charfn{}{A\cor B} (l, \vec u ; \vec x , w) & \dfn & \cor (; \charfn{}{A} (\vec u ; \vec x , w), \charfn{}{B} (\vec u ;\vec x, w) ) \\
40 172 adas
	\smallskip
41 172 adas
	\charfn{}{A\cand B} (l, \vec u ; \vec x , w) & \dfn & \cand(; \charfn{}{A} (\vec u ; \vec x , w), \charfn{}{B} (\vec u ;\vec x, w) ) \\
42 172 adas
	\smallskip
43 172 adas
	\charfn{}{\exists x^\safe . A(x)} (l, \vec u ;\vec x,  w) & \dfn & \begin{cases}
44 172 adas
	1 & \exists x^\safe . \charfn{}{A(x)} (\vec u ;\vec x , x, w) = 1 \\
45 172 adas
	0 & \text{otherwise}
46 172 adas
	\end{cases} \\
47 172 adas
	\smallskip
48 172 adas
	\charfn{\vec u; \vec x}{\forall x^\safe . A(x)} (l, \vec u ;\vec x , w) & \dfn &
49 172 adas
	\begin{cases}
50 172 adas
	0 & \exists x^\sigma. \charfn{}{ A(x)} (\vec u; \vec x , x) = 0 \\
51 172 adas
	1 & \text{otherwise}
52 172 adas
	\end{cases}
53 172 adas
	\end{array}
54 172 adas
	\]
55 172 adas
\end{definition}