root / CSL17 / arithmetic.tex @ 227
Historique | Voir | Annoter | Télécharger (18,62 ko)
1 | 206 | pbaillot | \section{An arithmetic for the polynomial hierarchy}\label{sect:arithmetic} |
---|---|---|---|
2 | 182 | pbaillot | %Our base language is $\{ 0, \succ{} , + , \times, \smsh , |\cdot| , \leq \}$. |
3 | 220 | adas | Our base language consists of constant and function symbols $\{ 0, \succ{} , + , \times, \smsh , |\cdot|, \hlf{}.\}$ and predicate symbols |
4 | 220 | adas | $\{\leq, \safe, \normal \}$. The function symbols are interpreted in the intuitive way, with $|x|$ denoting the length of $x$ seen as a binary string, and $\smash(x,y)$ denoting $2^{|x||y|}$, so a string of length $|x||y|+1$. |
5 | 220 | adas | We may write $\succ{0}(x)$ for $2\cdot x$, $\succ{1}(x)$ for $\succ{}(2\cdot x)$, and $\pred (x)$ for $\hlf{x}$, to better relate to the $\bc$ setting. |
6 | 218 | pbaillot | |
7 | 220 | adas | We consider formulas of classical first-order logic, over $\neg$, $\cand$, $\cor$, $\forall$, $\exists$, along with usual shorthands and abbreviations. |
8 | 220 | adas | %The formula $A \cimp B$ will be a notation for $\neg A \cor B$. |
9 | 220 | adas | %We will also use as shorthand notations: |
10 | 220 | adas | %$$ (s=t) = (s\leq t) \cand (t\leq s), \quad (s\neq t) = \neg(s=t).$$ |
11 | 220 | adas | \textit{Atomic formulas} formulas are of the form $(s\leq t)$, for terms $s,t$. |
12 | 220 | adas | We will assume, without loss of generality, that formulas are in \textit{De Morgan normal form}, that is to say that in formulas negation can only occur on atomic formulas, and that there is not any occurrence of a subformula of the form $\neg \neg A$. |
13 | 227 | adas | |
14 | 227 | adas | |
15 | 227 | adas | We write $\exists x^{N_i} . A$ or $\forall x^{N_i} . A$ for $\exists x . (N_i (x) \cand A)$ and $\forall x . (N_i (x) \cimp A)$ respectively. We refer to these as \emph{safe} quantifiers. |
16 | 227 | adas | We also write $\exists x^\normal \leq |t| . A$ for $\exists x^\normal . ( x \leq |t| \cand A )$ and $\forall x^\normal \leq |t|. A $ for $\forall x^\normal. (x \leq |t| \cimp A )$. We refer to these as \emph{sharply bounded} quantifiers, as in bounded arithmetic. |
17 | 156 | adas | |
18 | 183 | pbaillot | |
19 | 220 | adas | The theories we introduce are directly inspired from bounded arithmetic, namely the theories $S^i_2$. |
20 | 220 | adas | We include a similar set of axioms for direct comparison, although in our setting these are not minimal. |
21 | 220 | adas | Indeed, $\#$ can be defined using induction in our setting. |
22 | 183 | pbaillot | |
23 | 220 | adas | The $\basic$ axioms of bounded arithmetic give the inductive definitions and interrelationships of the various function symbols. |
24 | 220 | adas | It also states the fundamental algebraic properties, i.e.\ $(0,\succ{ } )$ is a free algebra, and, for us, it will also give us certain `typing' information for our function symbols based on their $\bc$ specification, with safe inputs ranging over $\safe$ and normal ones over $\normal$. |
25 | 227 | adas | For instance, we include the following axioms:\footnote{Later some of these will be redundant, for instance $\safe (u \times x) $ and $\safe (u \smsh v)$ are consequences of $\Sigma^\safe_i$-$\pind$, but $\safe (x + y)$ is not since both inputs are safe and so we cannot induct.} |
26 | 227 | adas | \[ |
27 | 227 | adas | \begin{array}{l} |
28 | 227 | adas | \forall u^\normal. \safe(u) \\ |
29 | 227 | adas | \safe (0) \\ |
30 | 227 | adas | \forall x^\safe . \safe (\succ{} x) \\ |
31 | 227 | adas | \forall x^\safe . 0 \neq \succ{} (x) \\ |
32 | 227 | adas | \forall x^\safe , y^\safe . (\succ{} x = \succ{} y \cimp x = y) \\ |
33 | 227 | adas | \forall x^\safe . (x = 0 \cor \exists y^\safe.\ x = \succ{} y ) |
34 | 227 | adas | \end{array} |
35 | 227 | adas | \qquad |
36 | 227 | adas | \begin{array}{l} |
37 | 227 | adas | \forall x^\safe, y^\safe . \safe(x+y)\\ |
38 | 227 | adas | \forall u^\normal, x^\safe . \safe(u\times x) \\ |
39 | 227 | adas | \forall u^\normal , v^\normal . \safe (u \smsh v)\\ |
40 | 227 | adas | \forall u^\safe .\safe(\hlf{u})\\ |
41 | 227 | adas | \forall u^\normal .\safe(|x|) |
42 | 227 | adas | \end{array} |
43 | 227 | adas | \] |
44 | 227 | adas | Notice that we have $\normal \subseteq \safe$. |
45 | 227 | adas | A full list of our $\basic$ axioms can be found in Appendix \ref{appendix:arithmetic}. |
46 | 168 | adas | |
47 | 227 | adas | %\begin{definition} |
48 | 227 | adas | % [Basic theory] |
49 | 227 | adas | % The theory $\basic$ consists of the axioms from Appendix \ref{appendix:arithmetic}. |
50 | 227 | adas | % \end{definition} |
51 | 172 | adas | |
52 | 227 | adas | |
53 | 227 | adas | %Notation: if $\vec t=t_0,\dots, t_k$, we will denote as $\safe(\vec t)$ the sequence of formulas $\safe(t_0),\dots, \safe(t_k)$. Similarly for $\normal(\vec t)$. |
54 | 179 | pbaillot | |
55 | 227 | adas | %\begin{definition} |
56 | 227 | adas | %[Derived functions and notations] |
57 | 227 | adas | %We write $1,2,3,\dots$ for the terms $\succ{} 0, \succ{} \succ{} 0, \succ{} \succ{} \succ{} 0 \dots$, and frequently omit the $\times$ symbol. |
58 | 227 | adas | %We define the functions $\succ 0 x , \succ 1 x$ as $2 x$ and $2x +1$ respectively. |
59 | 227 | adas | % |
60 | 227 | adas | %Need $bit$, $\beta$ , $\pair{}{}{}$. |
61 | 227 | adas | %\end{definition} |
62 | 227 | adas | % |
63 | 227 | adas | %(Here use a variation of S12 with sharply bounded quantifiers and safe quantifiers) |
64 | 227 | adas | % |
65 | 227 | adas | %Use base theory + sharply bounded quantifiers. |
66 | 176 | adas | |
67 | 172 | adas | |
68 | 157 | adas | \begin{definition} |
69 | 157 | adas | [Quantifier hierarchy] |
70 | 227 | adas | $\Sigma^\safe_0 = \Pi^\safe_0 $ is the set of formulae whose only quantifiers are sharply bounded and where $\safe , \normal$ do not occur free. |
71 | 176 | adas | We define $\Sigma^\safe_{i+1}$ as the closure of $\Pi^\safe_i $ under $\cor, \cand $, safe existentials and sharply bounded quantifiers. |
72 | 176 | adas | We define $\Pi^\safe_{i+1}$ as the closure of $\Sigma^\safe_i $ under $\cor, \cand $, safe universals and sharply bounded quantifiers. |
73 | 157 | adas | \end{definition} |
74 | 157 | adas | |
75 | 168 | adas | |
76 | 227 | adas | Notice that the criterion that $\safe$ does not occur free is not a real restriction, since we can write $\safe (x)$ as $\exists y^\safe . y=x$. |
77 | 227 | adas | The criterion is purely to give an appropriate definition of the hierarchy above. |
78 | 227 | adas | |
79 | 227 | adas | %\anupam{Collection principles for prenexing? Otherwise need to add closure under sharply bounded quantifiers.} |
80 | 227 | adas | |
81 | 227 | adas | |
82 | 227 | adas | \begin{definition} |
83 | 177 | pbaillot | [Polynomial induction] |
84 | 227 | adas | \label{def:polynomialinduction} |
85 | 227 | adas | The \emph{polynomial induction} axiom schema, $\pind$, consists of the following axioms, for each formula $A(x)$: |
86 | 177 | pbaillot | \[ |
87 | 227 | adas | \left( |
88 | 177 | pbaillot | A(0) |
89 | 227 | adas | \cand (\forall x^{\normal} . ( A(x) \cimp A(\succ{0} x) ) ) |
90 | 227 | adas | \cand (\forall x^{\normal} . ( A(x) \cimp A(\succ{1} x) ) ) |
91 | 227 | adas | \right) |
92 | 177 | pbaillot | \cimp \forall x^{\normal} . A(x) |
93 | 177 | pbaillot | \] |
94 | 227 | adas | For a class $\Xi$ of formulae, $\cax{\Xi}{\pind}$ denotes the set of $\pind$ axioms where $A(x) \in \Xi$. |
95 | 168 | adas | |
96 | 177 | pbaillot | %We write $I\Xi$ to denote the theory consisting of $\basic$ and $\cax{\Xi}{\ind}$. |
97 | 177 | pbaillot | \end{definition} |
98 | 177 | pbaillot | |
99 | 177 | pbaillot | |
100 | 178 | pbaillot | \begin{definition}\label{def:ariththeory} |
101 | 227 | adas | Define the theory $\arith^i$ consisting of the $\basic$ axioms, $\cpind{\Sigma^\safe_i } $, |
102 | 227 | adas | %\begin{itemize} |
103 | 227 | adas | % \item $\basic$; |
104 | 227 | adas | % \item $\cpind{\Sigma^\safe_i } $: |
105 | 227 | adas | %\end{itemize} |
106 | 227 | adas | and a particular inference rule, called $\rais$, for closed formulas $\forall x. \exists y. A$: |
107 | 168 | adas | \[ |
108 | 227 | adas | \dfrac{\proves \forall \vec x^\normal . \exists y^\safe . A }{ \proves \forall \vec x^\normal .\exists y^\normal . A} |
109 | 168 | adas | \] |
110 | 227 | adas | We will write $\arith^i \proves A$ if $A$ is a logical consequence of the axioms of $\arith^i$, in the usual way. |
111 | 157 | adas | \end{definition} |
112 | 227 | adas | %\patrick{I think in the definition of $\arith^i$ we should impose that the formulas considered are \textit{integer positive}, that is to say that the only negative occurrences of atoms $\safe(t)$, $\normal(t)$ are those occurring in $\forall^{\safe}$ and $\forall^{\normal}$. Indeed I don't think this can be just proved to be a consequence of a kind of 'normal form' of proofs, as we had discussed (see sect 4.4)} |
113 | 227 | adas | % |
114 | 227 | adas | %\anupam{In induction,for inductive cases, need $u\neq 0$ for $\succ 0$ case.} |
115 | 182 | pbaillot | |
116 | 227 | adas | \begin{remark} |
117 | 227 | adas | Notice that $\rais$ looks similar to the $K$ rule from the calculus for the modal logic $S4$, and indeed we believe there is a way to present these results in such a framework. |
118 | 227 | adas | However, the proof theory of first-order modal logics, in particular free-cut elimination results used for witnessing, is not sufficiently developed to carry out such an exposition. |
119 | 227 | adas | \end{remark} |
120 | 157 | adas | |
121 | 194 | adas | |
122 | 194 | adas | |
123 | 157 | adas | |
124 | 168 | adas | |
125 | 199 | pbaillot | \subsection{Graphs of some basic functions}\label{sect:graphsbasicfunctions} |
126 | 214 | pbaillot | %Todo: $+1$, |
127 | 168 | adas | |
128 | 227 | adas | We say that a function $f$ is \emph{represented} by a formula $A_f$ if we can prove a formula of the form $\forall ^{\normal} \vec u, \forall ^{\safe} x, \exists^{\safe}! y. A_f$. The variables $\vec u$ and $\vec x$ can respectively be thought of as normal and safe arguments of $f$, and $y$ is the output of $f(\vec u; \vec x)$. |
129 | 214 | pbaillot | |
130 | 227 | adas | Let us give a few examples for basic functions representable in $\arith^1$: |
131 | 214 | pbaillot | \begin{itemize} |
132 | 215 | pbaillot | \item Projection $\pi_k^{m,n}$: $\forall^{\normal} u_1, \dots, u_m, \forall^{\safe} x_{m+1}, \dots, x_{m+n}, \exists^{\safe} y. y=x_k$. |
133 | 215 | pbaillot | \item Successor $\succ{}$: $\forall^{\safe} x, \exists^{\safe} y. y=x+1.$. The formulas for the binary successors $\succ{0}$, $\succ{1}$ and the constant functions $\epsilon^k$ are defined in a similar way. |
134 | 215 | pbaillot | \item Predecessor $p$: $\forall^{\safe} x, \exists^{\safe} y. (x=\succ{0} y \cor x=\succ{1} y \cor (x=\epsilon \cand y= \epsilon)) .$ |
135 | 214 | pbaillot | \item Conditional $C$: |
136 | 214 | pbaillot | $$\begin{array}{ll} |
137 | 214 | pbaillot | \forall^{\safe} x, y_{\epsilon}, y_0, y_1, \exists^{\safe} y. & ((x=\epsilon)\cand (y=y_{\epsilon})\\ |
138 | 214 | pbaillot | & \cor( \exists^{\safe}z.(x=\succ{0}z) \cand (y=y_0))\\ |
139 | 214 | pbaillot | & \cor( \exists^{\safe}z.(x=\succ{1}z) \cand (y=y_1)))\ |
140 | 214 | pbaillot | \end{array} |
141 | 214 | pbaillot | $$ |
142 | 216 | pbaillot | \item Addition: |
143 | 216 | pbaillot | $\forall^{\safe} x, y, \exists^{\safe} z. z=x+y$. |
144 | 217 | pbaillot | \item Prefix: |
145 | 217 | pbaillot | |
146 | 217 | pbaillot | This is a predicate that we will need for technical reasons, in the completeness proof. The predicate $\pref(k,x,y)$ holds if the prefix of string $x$ |
147 | 217 | pbaillot | of length $k$ is $y$. It is defined as: |
148 | 217 | pbaillot | $$\begin{array}{ll} |
149 | 217 | pbaillot | \exists^{\safe} z, \exists^{\normal} l\leq |x|. & (k+l= |x|\\ |
150 | 217 | pbaillot | & \cand \; |z|=l\\ |
151 | 217 | pbaillot | & \cand \; x=y\smsh(2,l)+z) |
152 | 217 | pbaillot | \end{array} |
153 | 217 | pbaillot | $$ |
154 | 217 | pbaillot | \item The following predicates will also be needed in proofs: |
155 | 217 | pbaillot | |
156 | 217 | pbaillot | $\zerobit(x,k)$ (resp. $\onebit(x,k)$) holds iff the $k$th bit of $x$ is 0 (resp. 1). The predicate $\zerobit(x,k)$ can be |
157 | 217 | pbaillot | defined by: |
158 | 217 | pbaillot | $$ \exists^{\safe} y.(\pref(k,x,y) \cand C(y,0,1,0)).$$ |
159 | 214 | pbaillot | \end{itemize} |
160 | 214 | pbaillot | |
161 | 215 | pbaillot | |
162 | 168 | adas | |
163 | 168 | adas | |
164 | 168 | adas | \subsection{A sequent calculus presentation} |
165 | 227 | adas | \begin{figure} |
166 | 227 | adas | \[ |
167 | 227 | adas | \small |
168 | 227 | adas | \begin{array}{l} |
169 | 227 | adas | \begin{array}{cccc} |
170 | 227 | adas | %\vlinf{\lefrul{\bot}}{}{p, \lnot{p} \seqar }{} |
171 | 227 | adas | %& \vlinf{\id}{}{p \seqar p}{} |
172 | 227 | adas | %& \vlinf{\rigrul{\bot}}{}{\seqar p, \lnot{p}}{} |
173 | 227 | adas | %& \vliinf{\cut}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi} |
174 | 227 | adas | \vlinf{id}{}{\Gamma, p \seqar p, \Delta }{} |
175 | 227 | adas | & \vliinf{cut}{}{\Gamma \seqar \Delta }{ \Gamma \seqar \Delta, A }{\Gamma, A \seqar \Delta} |
176 | 227 | adas | && |
177 | 227 | adas | \\ |
178 | 227 | adas | \noalign{\bigskip} |
179 | 227 | adas | %\noalign{\bigskip} |
180 | 227 | adas | \vliinf{\lefrul{\cor}}{}{\Gamma, A \cor B \seqar \Delta}{\Gamma , A \seqar \Delta}{\Gamma, B \seqar \Delta} |
181 | 227 | adas | & |
182 | 227 | adas | \vlinf{\lefrul{\cand}}{}{\Gamma, A\cand B \seqar \Delta}{\Gamma, A , B \seqar \Delta} |
183 | 227 | adas | & |
184 | 227 | adas | %\vlinf{\lefrul{\laand}}{}{\Gamma, A\laand B \seqar \Delta}{\Gamma, B \seqar \Delta} |
185 | 227 | adas | %\quad |
186 | 227 | adas | \vlinf{\rigrul{\cor}}{}{\Gamma \seqar \Delta, A \cor B}{\Gamma \seqar \Delta, A, B} |
187 | 227 | adas | & |
188 | 227 | adas | %\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A\laor B}{\Gamma \seqar \Delta, B} |
189 | 227 | adas | %\quad |
190 | 227 | adas | \vliinf{\rigrul{\cand}}{}{\Gamma \seqar \Delta, A \cand B }{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, B} |
191 | 227 | adas | \\ |
192 | 227 | adas | \noalign{\bigskip} |
193 | 227 | adas | |
194 | 227 | adas | \vlinf{\lefrul{\neg}}{}{\Gamma, \neg A \seqar \Delta}{\Gamma \seqar A, \Delta} |
195 | 227 | adas | & |
196 | 227 | adas | |
197 | 227 | adas | \vlinf{\lefrul{\neg}}{}{\Gamma, \seqar \neg A, \Delta}{\Gamma, A \seqar \Delta} |
198 | 227 | adas | & |
199 | 227 | adas | & |
200 | 227 | adas | %\vliinf{\lefrul{\cimp}}{}{\Gamma, A \cimp B \seqar \Delta}{\Gamma \seqar A, \Delta}{\Gamma, B \seqar \Delta} |
201 | 227 | adas | %& |
202 | 227 | adas | % |
203 | 227 | adas | %\vlinf{\rigrul{\cimp}}{}{\Gamma \seqar \Delta, A \cimp B}{\Gamma, A \seqar \Delta, B} |
204 | 227 | adas | |
205 | 227 | adas | |
206 | 227 | adas | \\ |
207 | 227 | adas | |
208 | 227 | adas | \noalign{\bigskip} |
209 | 227 | adas | %\text{Structural:} & & & \\ |
210 | 227 | adas | %\noalign{\bigskip} |
211 | 227 | adas | |
212 | 227 | adas | %\vlinf{\lefrul{\wk}}{}{\Gamma, A \seqar \Delta}{\Gamma \seqar \Delta} |
213 | 227 | adas | %& |
214 | 227 | adas | \vlinf{\lefrul{\cntr}}{}{\Gamma, A \seqar \Delta}{\Gamma, A, A \seqar \Delta} |
215 | 227 | adas | %& |
216 | 227 | adas | %\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, A }{\Gamma \seqar \Delta} |
217 | 227 | adas | & |
218 | 227 | adas | \vlinf{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, A, A} |
219 | 227 | adas | & |
220 | 227 | adas | & |
221 | 227 | adas | \\ |
222 | 227 | adas | \noalign{\bigskip} |
223 | 227 | adas | \vlinf{\lefrul{\exists}}{}{\Gamma, \exists x . A(x) \seqar \Delta}{\Gamma, A(a) \seqar \Delta} |
224 | 227 | adas | & |
225 | 227 | adas | \vlinf{\lefrul{\forall}}{}{\Gamma, \forall x. A(x) \seqar \Delta}{\Gamma, A(t) \seqar \Delta} |
226 | 227 | adas | & |
227 | 227 | adas | \vlinf{\rigrul{\exists}}{}{\Gamma \seqar \Delta, \exists x . A(x)}{ \Gamma \seqar \Delta, A(t)} |
228 | 227 | adas | & |
229 | 227 | adas | \vlinf{\rigrul{\forall}}{}{\Gamma \seqar \Delta, \forall x . A(x)}{ \Gamma \seqar \Delta, A(a) } \\ |
230 | 227 | adas | %\noalign{\bigskip} |
231 | 227 | adas | % \vliinf{mix}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta}{\Sigma \seqar \Pi} &&& |
232 | 227 | adas | \end{array} |
233 | 227 | adas | \end{array} |
234 | 227 | adas | \] |
235 | 227 | adas | \caption{Sequent calculus rules, where $p$ is atomic, $i \in \{ 1,2 \}$, $t$ is a term and the eigenvariable $a$ does not occur free in $\Gamma$ or $\Delta$.}\label{fig:sequentcalculus} |
236 | 227 | adas | \end{figure} |
237 | 168 | adas | |
238 | 227 | adas | In order to carry out witness extraction for proofs of $\arith^i$, it will be useful to work with a \emph{sequent calculus} representation of proofs. |
239 | 227 | adas | Such systems exhibit strong normal forms, notably `free-cut free' proofs, and so are widely used for the `witness function method' for extracting programs from proofs. |
240 | 227 | adas | We introduce the required technical material here only briefly, due to space constraints. |
241 | 179 | pbaillot | |
242 | 227 | adas | A \emph{sequent} is an expression $\Gamma \seqar \Delta$ where $\Gamma$ and $\Delta$ are multisets of formulas. |
243 | 227 | adas | The inference rules of the sequent calculus $\LK$ are displayed in Fig.~\ref{fig:sequentcalculus}. |
244 | 227 | adas | Of course, we have the following: |
245 | 227 | adas | \begin{proposition} |
246 | 227 | adas | $A$ is a first-order theorem if and only if there is an $\LK$ proof of $\seqar A$. |
247 | 227 | adas | \end{proposition} |
248 | 227 | adas | |
249 | 221 | adas | %We consider \emph{systems} of `nonlogical' rules extending this sequent calculus, which we write as follows, |
250 | 221 | adas | % \[ |
251 | 221 | adas | % \begin{array}{cc} |
252 | 221 | adas | % \vlinf{(R)}{}{ \Gamma , \Sigma' \seqar \Delta' , \Pi }{ \{\Gamma , \Sigma_i \seqar \Delta_i , \Pi \}_{i \in I} } |
253 | 221 | adas | %\end{array} |
254 | 177 | pbaillot | %\] |
255 | 221 | adas | % where, in each rule $(R)$, $I$ is a finite possibly empty set (indicating the number of premises) and we assume the following conditions and terminology: |
256 | 221 | adas | % \begin{enumerate} |
257 | 221 | adas | % \item In $(R)$ the formulas of $\Sigma', \Delta'$ are called \textit{principal}, those of $\Sigma_i, \Delta_i$ are called \textit{active}, and those of |
258 | 221 | adas | %$ \Gamma, \Pi$ are called \textit{context formulas}. |
259 | 221 | adas | %\item Each rule $(R)$ comes with a list $a_1$, \dots, $a_k$ of eigenvariables such that each $a_j$ appears in exactly one $\Sigma_i, \Delta_i$ (so in some active formulas of exactly one premise) and does not appear in $\Sigma', \Delta'$ or $ \Gamma, \Pi$. |
260 | 221 | adas | % \item A system $\mathcal{S}$ of rules must be closed under substitutions of free variables by terms (where these substitutions do not contain the eigenvariables $a_j$ in their domain or codomain). |
261 | 221 | adas | % \end{enumerate} |
262 | 221 | adas | % |
263 | 221 | adas | %%The distinction between modal and nonmodal formulae in $(R)$ induces condition 1 |
264 | 221 | adas | % Conditions 2 and 3 are standard requirements for nonlogical rules, independently of the logical setting, cf.\ \cite{Beckmann11}. Condition 2 reflects the intuitive idea that, in our nonlogical rules, we often need a notion of \textit{bound} variables in the active formulas (typically for induction rules), for which we rely on eigenvariables. Condition 3 is needed for our proof system to admit elimination of cuts on quantified formulas. |
265 | 177 | pbaillot | % |
266 | 221 | adas | %%\begin{definition} |
267 | 221 | adas | %%[Polynomial induction] |
268 | 221 | adas | %%The \emph{polynomial induction} axiom schema, $\pind$, consists of the following axioms, |
269 | 221 | adas | %%\[ |
270 | 221 | adas | %%A(0) |
271 | 221 | adas | %%\cimp (\forall x^{\normal} . ( A(x) \cimp A(\succ{0} x) ) ) |
272 | 221 | adas | %%\cimp (\forall x^{\normal} . ( A(x) \cimp A(\succ{1} x) ) ) |
273 | 221 | adas | %%\cimp \forall x^{\normal} . A(x) |
274 | 221 | adas | %%\] |
275 | 221 | adas | %%for each formula $A(x)$. |
276 | 221 | adas | %% |
277 | 221 | adas | %%For a class $\Xi$ of formulae, $\cax{\Xi}{\pind}$ denotes the set of induction axioms when $A(x) \in \Xi$. |
278 | 221 | adas | %% |
279 | 221 | adas | %%We write $I\Xi$ to denote the theory consisting of $\basic$ and $\cax{\Xi}{\ind}$. |
280 | 221 | adas | %%\end{definition} |
281 | 177 | pbaillot | % |
282 | 221 | adas | %As an example any axiom can be represented by such a nonlogical rule $(R)$, with no premise ($I=\emptyset$), $\Delta'$ equal to the axiom and $\Gamma=\Sigma'=\Pi$. |
283 | 174 | pbaillot | |
284 | 227 | adas | We extend this purely logical calculus with certain non-logical rules and initial sequents corresponding to our theories $\arith^i$. |
285 | 221 | adas | For instance the axiom $\pind$ of Def. \ref{def:polynomialinduction} is represented by the following rule: |
286 | 177 | pbaillot | \begin{equation} |
287 | 177 | pbaillot | \label{eqn:ind-rule} |
288 | 177 | pbaillot | \small |
289 | 177 | pbaillot | \vliinf{\pind}{}{ \normal(t) , \Gamma , A(0) \seqar A(t), \Delta }{ \normal(a) , \Gamma, A(a) \seqar A(\succ{0} a) , \Delta }{ \normal(a) , \Gamma, A(a) \seqar A(\succ{1} a) , \Delta } |
290 | 177 | pbaillot | \end{equation} |
291 | 227 | adas | where $t$ varies over arbitrary terms and the eigenvariable $a$ does not occur in the lower sequent. |
292 | 227 | adas | % |
293 | 227 | adas | Similarly the $\rais$ inference rule of Dfn.~\ref{def:ariththeory} is represented by the nonlogical rule, |
294 | 177 | pbaillot | \[ |
295 | 177 | pbaillot | \begin{array}{cc} |
296 | 179 | pbaillot | \vlinf{\rais}{}{ \normal(t_1), \dots, \normal(t_k) \seqar \exists y^\normal . A }{ \normal(t_1), \dots, \normal(t_k) \seqar \exists y^\safe . A} |
297 | 177 | pbaillot | \end{array} |
298 | 177 | pbaillot | \] |
299 | 179 | pbaillot | |
300 | 179 | pbaillot | %\patrick{In fact, I think we rather need the following nonlogical rule, which implies the previous one but is I guess more general: |
301 | 179 | pbaillot | %\[ |
302 | 179 | pbaillot | % \begin{array}{cc} |
303 | 179 | pbaillot | % \vlinf{\rais}{}{ \normal(t_1), \dots, \normal(t_k) \seqar \normal(t) }{ \normal(t_1), \dots, \normal(t_k) \seqar \safe(t)} |
304 | 179 | pbaillot | %\end{array} |
305 | 179 | pbaillot | %\] |
306 | 179 | pbaillot | %} |
307 | 227 | adas | % |
308 | 227 | adas | and the $\basic$ axioms are represented by designated initial sequents. |
309 | 227 | adas | For instance here are some initial sequents corresponding to some of the $\basic$ axioms: |
310 | 179 | pbaillot | \[ |
311 | 179 | pbaillot | \small |
312 | 179 | pbaillot | \begin{array}{l} |
313 | 179 | pbaillot | \begin{array}{cccc} |
314 | 179 | pbaillot | \vlinf{}{}{\seqar \safe (0)}{}& |
315 | 179 | pbaillot | \vlinf{}{}{\safe(t) \seqar \safe(\succ{} t)}{}& |
316 | 179 | pbaillot | \vlinf{}{}{ \safe (t) \seqar 0 \neq \succ{} t}{} & |
317 | 179 | pbaillot | \vlinf{}{}{\safe (s) , \safe (t) , \succ{} s = \succ{} t\seqar s = t }{}\\ |
318 | 179 | pbaillot | \end{array} |
319 | 179 | pbaillot | \\ |
320 | 179 | pbaillot | \vlinf{}{}{\safe (t) \seqar t = 0 \cor \exists y^\safe . t = \succ{} y }{} |
321 | 179 | pbaillot | \qquad |
322 | 179 | pbaillot | \vlinf{}{}{\safe(s), \safe(t) \seqar \safe(s+t) }{}\\ |
323 | 179 | pbaillot | \vlinf{}{}{\normal (s), \safe(t) \seqar \safe(s \times t) }{} |
324 | 179 | pbaillot | \qquad |
325 | 179 | pbaillot | \vlinf{}{}{\normal (s), \normal(t) \seqar \safe(s \smsh t) }{}\\ |
326 | 180 | pbaillot | \vlinf{}{}{\normal(t) \seqar \safe(t) }{} |
327 | 179 | pbaillot | \end{array} |
328 | 179 | pbaillot | \] |
329 | 179 | pbaillot | |
330 | 227 | adas | The sequent system for $\arith^i$ extends $\LK$ by the $\basic$, $\cpind{\Sigma^\safe_i } $ and $\rais$ nonlogical rules. |
331 | 227 | adas | Naturally, by completeness, we have that $\arith^i \proves A$ if and only if there is a sequent proof of $\seqar A$. |
332 | 227 | adas | In fact, by \emph{free-cut elimination} results \cite{Takeuti87,Cook:2010:LFP:1734064} we may actually say something much stronger. |
333 | 179 | pbaillot | |
334 | 227 | adas | Let us say that a sorting $(\vec u ; \vec x)$ of the variables $\vec u , \vec x$ is \emph{compatible} with a formula $A$ if each variable of $\vec x$ occurs hereditarily safe with respect to the $\bc$-typing of terms, i.e.\ never under $\smsh, |\cdot|$ and to the right of $\times$. |
335 | 227 | adas | |
336 | 225 | adas | \begin{theorem} |
337 | 225 | adas | [Typed variable normal form] |
338 | 225 | adas | \label{thm:normal-form} |
339 | 227 | adas | If $\arith^i\proves A$ then there is a $\arith^i$ sequent proof $\pi$ of $A$ such that each line has the form: |
340 | 227 | adas | \[ |
341 | 227 | adas | \normal(\vec u), \safe (\vec x), \Gamma \seqar \Delta |
342 | 227 | adas | \] |
343 | 227 | adas | where $\Gamma \seqar \Delta$ contains only $\Sigma^\safe_i$ formulae for which the sorting $(\vec u ;\vec x)$ is compatible. |
344 | 227 | adas | \end{theorem} |
345 | 227 | adas | |
346 | 227 | adas | Strictly speaking, we must alter some of the sequent rules a little to arrive at this normal form. For instance the $\pind$ rule would have $\normal(\vec u)$ in its lower sequent rather than $\normal (t(\vec u))$. The latter is a consequence of the former already in $\basic$. |
347 | 227 | adas | The proof of this result also relies on a heavy use of the structural rules, contraction and weakening, to ensure that we always have a complete and compatible typing on the LHS of a sequent. This is similar to what is done in \cite{OstrinWainer05} where they use a $G3$ style calculus to manage such structural manipulations. |