root / CSL17 / soundness.tex @ 223
Historique | Voir | Annoter | Télécharger (8,78 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 | 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 | 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. |
14 | 172 | adas | For this we will use length-bounded witnessing, borrowing a similar idea from Bellantoni's previous work \cite{Bellantoni95}. |
15 | 172 | adas | |
16 | 201 | adas | |
17 | 172 | adas | \begin{definition} |
18 | 172 | adas | [Length bounded basic functions] |
19 | 172 | adas | We define \emph{length-bounded equality}, $\eq(l;x,y)$ as the characteristic function of the predicate: |
20 | 172 | adas | \[ |
21 | 172 | adas | x \mode l = y \mode l |
22 | 172 | adas | \] |
23 | 201 | adas | which is definable by safe recursion on $l$: |
24 | 201 | adas | \[ |
25 | 201 | adas | \begin{array}{rcl} |
26 | 201 | adas | \eq (0 ; x,y) & \dfn & \equivfn (;\bit (0;x),\bit(0;y) ) \\ |
27 | 201 | 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 | 201 | adas | \end{array} |
29 | 201 | adas | \] |
30 | 202 | adas | We also define length-bounded inequality as: |
31 | 202 | adas | \[ |
32 | 202 | adas | \begin{array}{rcl} |
33 | 202 | adas | \leqfn (0 ; x ,y) & \dfn & \cimp (; \bit (0;x), \bit (0;y) ) \\ |
34 | 202 | adas | \leqfn (\succ i l ; x,y) & \dfn & \orfn ( ; <(\bit (\succ i l ; x) , \bit(\succ i l ; y) ) , \andfn (; \equivfn (\bit (\succ i l ; x) , \bit(\succ i l ; y)) , \leqfn (l;x,y ) ) ) |
35 | 202 | adas | \end{array} |
36 | 202 | adas | \] |
37 | 172 | adas | \end{definition} |
38 | 172 | adas | |
39 | 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.} |
40 | 172 | adas | |
41 | 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. |
42 | 172 | adas | |
43 | 172 | adas | \begin{definition} |
44 | 172 | adas | [Length bounded characteristic functions] |
45 | 172 | adas | We define $\mubci{}$ programs $\charfn{}{A} (l , \vec u; \vec x)$, parametrised by a formula $A(\vec u ; \vec x)$, as follows. |
46 | 172 | adas | % If $A$ is a $\Pi_{i}$ formula then: |
47 | 172 | adas | \[ |
48 | 172 | adas | \begin{array}{rcl} |
49 | 202 | adas | \charfn{}{s\leq t} (l, \vec u ; \vec x) & \dfn & \leqfn(l;s,t) \\ |
50 | 172 | adas | \smallskip |
51 | 202 | adas | \charfn{}{s=t} (l, \vec u ; \vec x) & \dfn & \eq(l;s,t) \\ |
52 | 172 | adas | \smallskip |
53 | 202 | adas | \charfn{}{\neg A} (l, \vec u ; \vec x) & \dfn & \neg (;\charfn{}{A}(l , \vec u ; \vec x)) \\ |
54 | 172 | adas | \smallskip |
55 | 202 | adas | \charfn{}{A\cor B} (l, \vec u ; \vec x ) & \dfn & \cor (; \charfn{}{A} (l, \vec u ; \vec x , w), \charfn{}{B} (\vec u ;\vec x) ) \\ |
56 | 172 | adas | \smallskip |
57 | 202 | adas | \charfn{}{A\cand B} (l, \vec u ; \vec x ) & \dfn & \cand(; \charfn{}{A} (l, \vec u ; \vec x , w), \charfn{}{B} (\vec u ;\vec x) ) \\ |
58 | 172 | adas | \smallskip |
59 | 202 | adas | \charfn{}{\exists x^\safe . A(x)} (l, \vec u ;\vec x) & \dfn & \begin{cases} |
60 | 202 | adas | 1 & \exists x^\safe . \charfn{}{A(x)} (l, \vec u ;\vec x , x) = 1 \\ |
61 | 172 | adas | 0 & \text{otherwise} |
62 | 172 | adas | \end{cases} \\ |
63 | 172 | adas | \smallskip |
64 | 202 | adas | \charfn{}{\forall x^\safe . A(x)} (l, \vec u ;\vec x ) & \dfn & |
65 | 172 | adas | \begin{cases} |
66 | 173 | adas | 0 & \exists x^\sigma. \charfn{}{ A(x)} (l, \vec u; \vec x , x) = 0 \\ |
67 | 172 | adas | 1 & \text{otherwise} |
68 | 172 | adas | \end{cases} |
69 | 172 | adas | \end{array} |
70 | 172 | adas | \] |
71 | 173 | adas | \end{definition} |
72 | 173 | adas | |
73 | 219 | adas | \anupam{Above and below definitions need to be with respect to a typing of variables which terms respect.} |
74 | 173 | adas | |
75 | 219 | adas | |
76 | 176 | adas | \begin{proposition} |
77 | 176 | adas | $\charfn{}{A} (l, \vec u ; \vec x)$ is the characteristic function of $A (\vec u \mode l ; \vec x \mode l)$. |
78 | 176 | adas | \end{proposition} |
79 | 176 | adas | |
80 | 173 | adas | \begin{definition} |
81 | 173 | adas | [Length bounded witness function] |
82 | 173 | adas | We now define $\Wit{\vec u ; \vec x}{A} (l , \vec u ; \vec x)$ for a $\Sigma_{i+1}$-formula $A$ with free variables amongst $\vec u; \vec x$. |
83 | 219 | adas | For a $\Sigma^\safe_i$ formula $A$ with free variables amongst $(\vec u ; \vec x)$, with $\vec x$ occurring only hereditarily safe in terms, we define the \emph{length-bounded witness function} $\wit{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w)$ and its \emph{bounding polynomial} $b_A (l)$ as follows: |
84 | 219 | adas | \begin{itemize} |
85 | 219 | 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 )$. |
86 | 219 | adas | \item If $A$ is $B \cor C$ then |
87 | 219 | adas | \[ |
88 | 219 | adas | \wit{\vec u ; \vec x}{A} (l, \vec u ;\vec x , w) |
89 | 219 | adas | \quad \dfn \quad |
90 | 219 | 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 ) ) ) |
91 | 219 | adas | \] |
92 | 219 | adas | and we may set $b_A = O(b_B + b_C)$. |
93 | 219 | adas | \item Similarly if $A $ is $B \cand C$, but with $\andfn$ in place of $\orfn$. |
94 | 219 | adas | % \item If $A$ is $B \cand C$ then |
95 | 219 | adas | % \[ |
96 | 219 | adas | % \wit{\vec u ; \vec x}{A} (l, \vec u ;\vec x , w) |
97 | 219 | adas | % \quad \dfn \quad |
98 | 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 ) ) ) |
99 | 219 | adas | % \] |
100 | 219 | adas | % and we may set $b_A = O(b_B + b_C)$. |
101 | 219 | adas | \item If $A$ is $\forall u \leq |t(\vec u;)| . B(u)$ then |
102 | 219 | adas | \[ |
103 | 219 | adas | \wit{\vec u ; \vec x}{A} |
104 | 219 | adas | \quad \dfn\quad |
105 | 219 | adas | \forall u\normal \leq |t|. |
106 | 219 | adas | \wit{u, \vec u ; \vec x}{B(u)} (l, u, \vec u ; \vec x , \beta( b_{B(t)} (l) , u ; w ) ) |
107 | 219 | adas | \] |
108 | 219 | adas | appealing to Lemma~\ref{lem:sharply-bounded-recursion}, where we may set $b_A = O(b_{B(t)}^2 )$. |
109 | 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|$. |
110 | 219 | adas | \item If $A$ is $\exists x^\safe . B(x) $ then |
111 | 219 | adas | \[ |
112 | 219 | adas | \wit{\vec u ; \vec x}{A} |
113 | 219 | adas | \quad \dfn \quad |
114 | 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 )) |
115 | 219 | adas | \] |
116 | 219 | adas | where $q$ is obtained by the polychecking and bounded minimisation lemmata for $\wit{\vec u ; \vec x , x}{B(x)}$. |
117 | 219 | adas | We may set $b_A = O(b_B + q )$. |
118 | 219 | adas | \end{itemize} |
119 | 219 | adas | % \[ |
120 | 219 | adas | % \begin{array}{rcl} |
121 | 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$} \\ |
122 | 219 | adas | % \smallskip |
123 | 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) ) \\ |
124 | 219 | adas | % \smallskip |
125 | 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) ) \\ |
126 | 219 | adas | % \smallskip |
127 | 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 ) |
128 | 219 | adas | % \\ |
129 | 219 | adas | % \smallskip |
130 | 219 | adas | % \wit{\vec u ; \vec x}{\forall u \leq |t(\vec u;)| . A(x)} (l , \vec u ; \vec x, w) & \dfn & |
131 | 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) ) |
132 | 219 | adas | % \end{array} |
133 | 219 | adas | % \] |
134 | 219 | adas | % \anupam{need length bounding for sharply bounded quantifiers} |
135 | 173 | adas | \end{definition} |
136 | 173 | adas | |
137 | 173 | adas | \anupam{may as well use a single witness variable since need it for sharply bounded quantifiers anyway.} |
138 | 173 | adas | |
139 | 202 | adas | \anupam{sharply bounded case obtained by sharply bounded lemma} |
140 | 202 | adas | |
141 | 202 | adas | |
142 | 202 | adas | \begin{proposition} |
143 | 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. |
144 | 202 | adas | \anupam{check statement, need proof-theoretic version?} |
145 | 202 | adas | \end{proposition} |
146 | 202 | adas | |
147 | 219 | adas | By the polychecking lemma, we can assume that such a $w$ is bounded by some polynomial in $l$. |
148 | 219 | adas | |
149 | 202 | adas | In order to prove Thm.~\ref{thm:soundness} we need the following lemma: |
150 | 202 | adas | |
151 | 202 | adas | |
152 | 202 | adas | \begin{lemma} |
153 | 219 | adas | [Proof interpretation] |
154 | 219 | adas | \label{lem:proof-interp} |
155 | 219 | adas | From a normal form \todo{define, prove exists} $\arith^i$ proof $\pi$ of a $\Sigma^\safe_i$ sequent $\normal(\vec u), \safe(\vec x) , \Gamma \seqar \Delta$ |
156 | 219 | adas | there are $\mubci{i-1}$ functions $\vec f^\pi (\vec u ; \vec x , w)$ (where $\vec f^\pi = (f^\pi_B)_{B\in\Delta}$) such that, for any $l, \vec u ; \vec x , w$, we have: |
157 | 202 | adas | \[ |
158 | 219 | adas | % \vec a^\nu = \vec u , |
159 | 219 | adas | % \vec b^\sigma = \vec u, |
160 | 219 | adas | \bigwedge\limits_{A \in \Gamma} \wit{\vec u ; \vec x}{ A} (l, \vec u ; \vec x , w_A) =1 |
161 | 219 | adas | \quad \implies \quad |
162 | 219 | adas | \bigvee\limits_{B\in \Delta} \wit{\vec u ; \vec x}{B} (l, \vec u ; \vec x , f^\pi_B(\vec u \mode l ; \vec x \mode l, \vec w)) = 1 |
163 | 202 | adas | \] |
164 | 219 | adas | \anupam{Need $\vec w \mode p(l)$ for some $p$.} |
165 | 219 | adas | \anupam{$l$ may occur freely in the programs $f^\pi_B$} |
166 | 202 | adas | \end{lemma} |
167 | 219 | adas | |
168 | 222 | adas | |
169 | 222 | adas | \todo{Make statement above proper, with all bounds and moduli. I cut the proof to the appendix, maybe add sketch if space.} |
170 | 222 | adas | |
171 | 222 | adas | From this lemma we can readily prove the soundness result: |
172 | 202 | adas | |
173 | 222 | adas | \begin{proof} |
174 | 222 | adas | [Proof of Thm.~\ref{thm:soundness} from Lemma~\ref{lem:proof-interp}] |
175 | 222 | adas | (watch out for dependence on $l$, try do without) |
176 | 222 | adas | |
177 | 222 | adas | Suppose $\arith^i \proves \forall \vec u^\normal . \exists x^\normal . A(\vec u ; x)$. Then by raising, inversion, free-variable normal forms, we have a proof of, |
178 | 219 | adas | \[ |
179 | 222 | adas | \normal (\vec u ) \seqar \exists x^\normal . A(\vec u , x ;) |
180 | 219 | adas | \] |
181 | 222 | adas | whence, by Lemma~\ref{lem:proof-interp}, we have a $\mubci{i-1}$ function $f$ such that: |
182 | 219 | adas | \[ |
183 | 222 | adas | \vec u \mode l = \vec a \mode l |
184 | 219 | adas | \quad \implies \quad |
185 | 222 | adas | \wit{\vec u ; }{A} ( l , \vec u , f(\vec u \mode l;) ) =1 |
186 | 219 | adas | \] |
187 | 222 | adas | |
188 | 222 | adas | Now it suffices to choose an $l$ bigger that both all the $\vec u$ and $f(\vec u)$, which is a polynomial in $\vec u$ by the polymax bounding lemma. |
189 | 222 | adas | \end{proof} |