Statistiques
| Révision :

root / CSL17 / tech-report / arithmetic.tex @ 261

Historique | Voir | Annoter | Télécharger (27,28 ko)

1
\section{An arithmetic for the polynomial hierarchy}\label{sect:arithmetic}
2
%Our base language is $\{ 0, \succ{} , + , \times, \smsh , |\cdot| , \leq \}$. 
3
Our base language consists of constant and function symbols $\{ 0, \succ{} , + , \times, \smsh , |\cdot|, \hlf{}.\}$ and predicate symbols 
4
 $\{\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 $x\smsh y$ denoting $2^{|x||y|}$, so a string of length $|x||y|+1$.
5
 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
 
7
We consider formulas of classical first-order logic, over $\neg$, $\cand$, $\cor$, $\forall$, $\exists$, along with usual shorthands and abbreviations. 
8
%The formula $A \cimp B$ will be a notation for $\neg A \cor B$.
9
%We will also use as shorthand notations:
10
%$$ (s=t) = (s\leq t) \cand (t\leq s), \quad (s\neq t) = \neg(s=t).$$ 
11
\textit{Atomic formulas} formulas are of the form $s\leq t$, for terms $s,t$.
12
 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
 
14
 
15
 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  $\exists x^{N_0}$,  $\forall x^{N_0}$ as \emph{safe} quantifiers.
16
 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

    
18

    
19
The theories we introduce are directly inspired from bounded arithmetic, namely the theories $S^i_2$.
20
We include a similar set of axioms for direct comparison, although in our setting these are not minimal.
21
Indeed, $\#$ can be defined using induction in our setting.
22

    
23
The $\basic$ axioms of bounded arithmetic give the inductive definitions and interrelationships of the various function and predicate symbols.
24
It also states fundamental algebraic properties, e.g.\ $(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

    
26

    
27
Namely, in addition to usual axioms, our $\basic$ includes the following:\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.}
28
\begin{enumerate}[(a)]
29
	\item $\forall u^\normal. \safe(u) $
30
	\item $\safe (0) $
31
	\item $\forall x^\safe . \safe (\succ{} x) $
32
	\item $\forall u^\safe .\safe(\hlf{u})$
33
	\item $\forall x^\safe, y^\safe . \safe(x+y)$
34
	\item $\forall u^\normal, x^\safe . \safe(u\times x) $
35
	\item $\forall u^\normal , v^\normal . \safe (u \smsh v)$
36
	\item $\forall u^\normal .\safe(|x|)$
37
\end{enumerate}
38
%\[
39
%\begin{array}{l}
40
%\forall u^\normal. \safe(u) \\
41
%\safe (0) \\
42
%\forall x^\safe . \safe (\succ{} x) \\
43
%\forall u^\safe .\safe(\hlf{u})
44
%\end{array}
45
%\qquad
46
%\begin{array}{l}
47
%\forall x^\safe, y^\safe . \safe(x+y)\\
48
%\forall u^\normal, x^\safe . \safe(u\times x) \\
49
%\forall u^\normal , v^\normal . \safe (u \smsh v)\\
50
%\forall u^\normal .\safe(|x|)
51
%\end{array}
52
%\]
53
Notice in particular that we have $\normal \subseteq \safe$.
54
%
55
Apart from these, the remaining $\basic$ axioms mimic those of Buss in \cite{Buss86book}:
56
\begin{enumerate}[(1)]
57
	\item $\forall x^{\safe}, y^{\safe}.  (y\leq x\cimp  y \leq \succ{} x) $
58
	\item $\forall x^{\safe}. x \neq \succ{} x$
59
	\item $\forall x^{\safe}.0 \leq x$
60
	\item $\forall x^{\safe}, y^{\safe}. ((x\leq y \cand x \neq y) \ciff \succ{} x \leq y) $
61
	\item $\forall x^{\safe}. (x\neq 0 \cimp \succ{0}x \neq 0)$
62
	\item $\forall x^{\safe}, y^{\safe}. (y\leq x \cor x \leq y)$
63
	\item $\forall x^{\safe}, y^{\safe}. ((x\leq y \cand y\leq x )\cimp x=y)$
64
	\item $\forall x^{\safe}, y^{\safe}, z^{\safe}. ((x\leq y \cand y\leq z) \cimp x\leq z)$
65
	\item $|0|=0$
66
	\item $\forall x^{\safe}, y^{\safe}.( x\neq 0 \cimp  (|\succ{0}x|=\succ{}( |x|) \cand |\succ{1}x|= \succ{}(|x|))) $
67
	\item $|\succ{}0|=\succ{} 0$
68
	\item $\forall x^{\safe}, y^{\safe}.   (x\leq y \cimp   |x|\leq  |y|)$
69
	\item $\forall x^{\normal}, y^{\normal}.    |x\smsh y|=\succ{}( |x|\cdot  |y|)$
70
	\item $\forall y^{\normal}.    0 \smsh y=\succ{} 0$
71
	\item $\forall x^{\normal}.    (x\neq 0 \cimp (1 \smsh(\succ{0}x)=\succ{0}(1\smsh x) \cand 1 \smsh(\succ{1}x)=\succ{0}(1\smsh x)))$
72
	\item $\forall x^{\normal}, y^{\normal}.    x \smsh y = y \smsh x$
73
	\item $\forall x^{\normal}, y^{\normal}, z^{\normal}. (   |x|= |y| \cimp x\smsh z = y\smsh z)$
74
	\item $\forall x^{\normal}, u^{\normal}, v^{\normal}, y^{\normal}.      (|x|= |u|+  |v| \cimp x\smsh y=(u\smsh y)\cdot (v\smsh y))$
75
	\item $\forall x^{\safe}, y^{\safe}.      x\leq x+y$
76
	\item $\forall x^{\safe}, y^{\safe}.    (  ( x\leq y \cand x\neq y) \cimp( \succ{}(\succ{0}x) \leq \succ{0}y \cand  \succ{}(\succ{0}x) \neq \succ{0}y))$
77
	\item $\forall x^{\safe}, y^{\safe}.     x+y=y+x$
78
	\item $\forall x^{\safe}.       x+0=x$
79
	\item $\forall x^{\safe}, y^{\safe}.       x+\succ{}y=\succ{}(x+y)$
80
	\item $\forall x^{\safe}, y^{\safe}, z^{\safe}.      (x+y)+z=x+(y+z)$
81
	\item $\forall x^{\safe}, y^{\safe}, z^{\safe}. (    x+y \leq x+z \ciff y\leq z)$
82
	\item $\forall x^{\safe}       0\cdot x =0$
83
	\item $\forall x^{\safe}, y^{\normal}.  x\cdot(\succ{}y)=(x\cdot y)+x$
84
	\item $\forall x^{\normal}, y^{\normal}. x\cdot y=y\cdot x$
85
	\item $\forall x^{\normal}, y^{\safe}, z^{\safe}.  x\cdot(y+z)=(x\cdot y)+(x\cdot z)$
86
	\item $\forall x^{\normal}, y^{\safe}, z^{\safe}.      (x\geq \succ{} 0 \cimp (x\cdot y \leq x\cdot z \ciff y\leq z))$
87
	\item $\forall x^{\normal}  .     (x\neq 0 \cimp  |x|=\succ{}(\hlf{x}))$
88
	\item $\forall x^{\safe}, y^{\safe}.   (  x= \hlf{y} \ciff (\succ{0}x=y \cor \succ{}(\succ{0}x)=y))$
89
\end{enumerate}
90

    
91

    
92
%$$
93
%%\begin{equation}
94
%\begin{array}{l}
95
%\forall x^{\safe}, y^{\safe}.  (y\leq x\cimp  y \leq \succ{} x) \\
96
%\forall x^{\safe}. x \neq \succ{} x\\
97
%\forall x^{\safe}.0 \leq x\\
98
%\forall x^{\safe}, y^{\safe}. ((x\leq y \cand x \neq y) \ciff \succ{} x \leq y) \\
99
%\forall x^{\safe}. (x\neq 0 \cimp \succ{0}x \neq 0)\\
100
%\forall x^{\safe}, y^{\safe}. (y\leq x \cor x \leq y)\\
101
%\forall x^{\safe}, y^{\safe}. ((x\leq y \cand y\leq x )\cimp x=y)\\
102
%\forall x^{\safe}, y^{\safe}, z^{\safe}. ((x\leq y \cand y\leq z) \cimp x\leq z)\\
103
%|0|=0\\
104
%\forall x^{\safe}, y^{\safe}.( x\neq 0 \cimp  (|\succ{0}x|=\succ{}( |x|) \cand |\succ{1}x|= \succ{}(|x|))) \\
105
%|\succ{}0|=\succ{} 0\\
106
%\forall x^{\safe}, y^{\safe}.   (x\leq y \cimp   |x|\leq  |y|)\\
107
%\forall x^{\normal}, y^{\normal}.    |x\smsh y|=\succ{}( |x|\cdot  |y|)\\
108
%\forall y^{\normal}.    0 \smsh y=\succ{} 0\\
109
%\forall x^{\normal}.    (x\neq 0 \cimp (1 \smsh(\succ{0}x)=\succ{0}(1\smsh x) \cand 1 \smsh(\succ{1}x)=\succ{0}(1\smsh x)))\\
110
%\forall x^{\normal}, y^{\normal}.    x \smsh y = y \smsh x\\
111
%\forall x^{\normal}, y^{\normal}, z^{\normal}. (   |x|= |y| \cimp x\smsh z = y\smsh z)\\
112
%\forall x^{\normal}, u^{\normal}, v^{\normal}, y^{\normal}.      (|x|= |u|+  |v| \cimp x\smsh y=(u\smsh y)\cdot (v\smsh y))\\
113
%\forall x^{\safe}, y^{\safe}.      x\leq x+y\\
114
%\forall x^{\safe}, y^{\safe}.    (  ( x\leq y \cand x\neq y) \cimp( \succ{}(\succ{0}x) \leq \succ{0}y \cand  \succ{}(\succ{0}x) \neq \succ{0}y))\\
115
%\forall x^{\safe}, y^{\safe}.     x+y=y+x\\
116
%\forall x^{\safe}.       x+0=x\\
117
%\forall x^{\safe}, y^{\safe}.       x+\succ{}y=\succ{}(x+y)\\
118
%\forall x^{\safe}, y^{\safe}, z^{\safe}.      (x+y)+z=x+(y+z)\\
119
%\forall x^{\safe}, y^{\safe}, z^{\safe}. (    x+y \leq x+z \ciff y\leq z)\\
120
%\forall x^{\safe}       0\cdot x =0\\
121
%\forall x^{\safe}, y^{\normal}.  x\cdot(\succ{}y)=(x\cdot y)+x\\
122
%%\text{\anupam{check above normal/safe! Pretty sure should be other way around.}}\\
123
%\forall x^{\normal}, y^{\normal}. x\cdot y=y\cdot x\\
124
%\forall x^{\normal}, y^{\safe}, z^{\safe}.  x\cdot(y+z)=(x\cdot y)+(x\cdot z)\\
125
%\forall x^{\normal}, y^{\safe}, z^{\safe}.      (x\geq \succ{} 0 \cimp (x\cdot y \leq x\cdot z \ciff y\leq z))\\
126
%\forall x^{\normal}  .     (x\neq 0 \cimp  |x|=\succ{}(\hlf{x}))\\
127
%\forall x^{\safe}, y^{\safe}.   (  x= \hlf{y} \ciff (\succ{0}x=y \cor \succ{}(\succ{0}x)=y))
128
%\end{array}
129
%%\end{equation}
130
%$$
131
%
132

    
133

    
134

    
135

    
136

    
137

    
138

    
139
%\begin{definition}
140
%	[Basic theory]
141
%	The theory $\basic$ consists of the axioms from Appendix \ref{appendix:arithmetic}.
142
%	\end{definition}
143

    
144

    
145
%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)$.
146
  
147
%\begin{definition}
148
%[Derived functions and notations]
149
%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.
150
%We define the functions $\succ 0 x , \succ 1 x$ as $2 x$ and $2x +1$ respectively.
151
%
152
%Need $bit$, $\beta$ , $\pair{}{}{}$.
153
%\end{definition}
154
%
155
%(Here use a variation of S12 with sharply bounded quantifiers and safe quantifiers)
156
%
157
%Use base theory + sharply bounded quantifiers.
158

    
159
In addition to these axioms, our theories will contain forms of induction, defined below.
160

    
161
%\anupam{Collection principles for prenexing? Otherwise need to add closure under sharply bounded quantifiers.}
162

    
163

    
164
\begin{definition}
165
[Polynomial induction]
166
\label{def:polynomialinduction}
167
The \emph{polynomial induction} axiom schema, $\pind$, consists of the following axioms, for each formula $A(x)$:
168
\[
169
\left(
170
A(0) 
171
\cand (\forall x^{\normal} . ( A(x) \cimp A(\succ{0} x) ) )
172
\cand  (\forall x^{\normal} . ( A(x) \cimp A(\succ{1} x) ) ) 
173
\right)
174
\cimp  \forall x^{\normal} . A(x)
175
\]
176
For a class $\Xi$ of formulae, $\cax{\Xi}{\pind}$ denotes the set of $\pind$ axioms where $A(x) \in \Xi$. 
177

    
178
%We write $I\Xi$ to denote the theory consisting of $\basic$ and $\cax{\Xi}{\ind}$.
179
\end{definition}
180

    
181
We will introduce in fact a hierarchy of theories calibrated by the complexity of induction formulae, so we now introduce the appropriate quantifier hierarchy.
182

    
183
\begin{definition}
184
	[Quantifier hierarchy]
185
	$\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.
186
	We define $\Sigma^\safe_{i+1}$ as the closure of $\Pi^\safe_i $ under $\cor, \cand $, safe existentials and sharply bounded quantifiers.
187
	We define $\Pi^\safe_{i+1}$ as the closure of $\Sigma^\safe_i $ under $\cor, \cand $, safe universals and sharply bounded quantifiers.
188
\end{definition}
189

    
190

    
191
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$.
192
The criterion is purely to give an appropriate definition of the hierarchy above.
193

    
194

    
195
\begin{definition}\label{def:ariththeory}
196
Define the theory $\arith^i$ consisting of the $\basic$ axioms, $\cpind{\Sigma^\safe_i } $,
197
%\begin{itemize}
198
%	\item $\basic$;
199
%	\item $\cpind{\Sigma^\safe_i } $:
200
%\end{itemize}
201
and a particular inference rule, called $\rais$, for closed formulas $\forall \vec x. \exists y. A$:
202
\[
203
 \dfrac{\proves \forall \vec x^\normal . \exists  y^\safe .  A }{ \proves \forall \vec x^\normal .\exists y^\normal . A}
204
\]
205
We will write $\arith^i \proves A$ if $A$ is a logical consequence of the axioms and rules of $\arith^i$, in the usual way.
206
\end{definition}
207
%\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)}
208
%
209
%\anupam{In induction,for inductive cases, need $u\neq 0$ for $\succ 0$ case.}
210

    
211
\begin{remark}
212
Notice that $\rais$ looks similar to the $K$ rule from the calculus for the modal logic $S4$ (which subsumes necessitation), and indeed we believe there is a way to present these results in such a framework.
213
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.	
214
	\end{remark}
215

    
216

    
217
\begin{example}
218
	[Some basic theorems]
219
	We give proofs of the following, that are sometimes included as basic axioms, in $\arith^1$:
220
	\[
221
	\begin{array}{l}
222
	\forall x^\safe . 0 \neq \succ{} (x) \\
223
	\forall x^\safe , y^\safe . (\succ{} x = \succ{} y \cimp x = y) \\
224
	\forall x^\safe . (x = 0 \cor \exists y^\safe.\  x = \succ{} y   )  \\
225
	\forall u^\normal ,x^\safe . u \succ{} x = u + ux
226
	\end{array}
227
	\]
228
	\todo{Proof: Patrick? The final two should require PIND.}
229
\end{example}
230

    
231
It is often useful for us to work with \emph{length-induction}, which is equivalent to polynomial induction and well known from bounded arithmetic:
232
\begin{proposition}
233
	[Length induction]
234
	The axiom schema of formulae,
235
	\begin{equation}
236
	\label{eqn:lind}
237
	( A(0) \cand \forall x^\normal . (A(x) \cimp A(\succ{} x)) ) \cimp \forall x^\safe. A(|x|)
238
	\end{equation}
239
	for formulae $A \in \Sigma^\safe_i$
240
	is equivalent to $\cpind{\Sigma^\safe_i}$.
241
\end{proposition}
242
\begin{proof}
243
	Suppose we have $A(0)$ and $A(a) \cimp A(\succ{} a)$ for each $a \in \normal$.
244
	Then, by $\basic$, we have that $A(|a|) \cimp A(|2a|)$ and $A(|a|) \cimp A(|2a+1|)$ for each $a \in \normal$, whence we may conclude $\forall x. A(|x|)$ by polynomial induction on $A(|x|)$.
245
\end{proof}
246

    
247
Let us refer to the axiom schema in \eqref{eqn:lind} as $\clind{\Xi}$, when $A \in \Xi$.
248
We will freely use this in place of polynomial induction whenever it is convenient.
249

    
250

    
251
\subsection{Graphs of some basic functions}\label{sect:graphsbasicfunctions}
252

    
253
We say that a function $f$ is \emph{represented} by a formula $A_f$ in a theory if we can prove a formula of the form $\forall \vec u^{\normal} , \forall  \vec x^{\safe}, \exists! y^{\safe}. A_f (\vec u , \vec x , y)$, such that $\Nat \models A_f (\vec u , \vec x , f(\vec u , \vec x))$. 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)$.
254
We sometimes explicitly delimit variables as such when it is helpful, writing $A_f (\vec u ; \vec x , y)$.
255
 
256
Let us give a few examples for basic functions representable in $\arith^1$, wherein proofs of totality are routine:
257
\begin{itemize}
258
\item Projection $\pi_k^{m,n}$: $\forall u_1^{\normal} , \dots, u_m^{\normal} ,  \forall x_{m+1}^{\safe} , \dots, x^{\safe} _{m+n}, \exists y^{\safe} . y=x_k$ if $k\geq m+1$ (resp. $u_k$ if $k\leq m$).
259
%\item Successor $\succ{}$: $\forall x^{\safe} , \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.
260
%\item Predecessor $p$:   $\forall^{\safe} x, \exists^{\safe} y. (x=\succ{0} y \cor x=\succ{1} y \cor (x=\epsilon \cand y= \epsilon)) .$
261
\item Conditional $C$: 
262
$$
263
\forall x^{\safe} ,  y_0^{\safe}, y_1^{\safe}, \exists y^{\safe}. 
264
\left( 
265
\begin{array}{rl}
266
&\exists z^{\safe}.x=\succ{0}z \cand y=y_0 \\
267
\cor&  \exists z^{\safe}.x=\succ{1}z \cand y=y_1
268
\end{array}
269
\right)
270
$$
271
%$$\begin{array}{ll}
272
%\forall x^{\safe} ,  y_0^{\safe}, y_1^{\safe}, \exists y^{\safe}. & ((x=0)\cand (y=y_0)\\
273
%                                                                                                   & \cor( \exists z^{\safe}.(x=\succ{0}z) \cand (y=y_0))\\
274
%                                                                                                   & \cor( \exists z^{\safe}.(x=\succ{1}z) \cand (y=y_1)))\
275
%\end{array}
276
%$$
277
%\item Addition:
278
%$\forall^{\safe} x, y,  \exists^{\safe} z. z=x+y$. 
279
\item Prefix:
280
  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$
281
  of length $k$ is $y$. It is defined as:
282
  $$\begin{array}{ll}
283
\exists z^{\safe} , \exists l^{\normal} \leq |x|. & (k+l= |x|\\
284
                                                                                                   & \cand \; |z|=l\\
285
                                                                                                   & \cand \; x=y\smsh(2,l)+z)
286
                                                                                                   \end{array}
287
$$
288
\item The following predicates will also be needed in proofs:
289

    
290
$\zerobit(x,k)$ (resp. $\onebit(x,k)$) holds iff the $k$th bit of $x$ is 0 (resp. 1). The predicate $\zerobit(x,k)$  for instance can be
291
defined by:
292
$$ \exists y^{\safe} .(\pref(k,x,y) \cand \exists z^{\safe} . y=\succ{0}z).$$
293
\end{itemize}
294

    
295
\subsection{A sequent calculus presentation}
296
\begin{figure}
297
	\[
298
	\small
299
	\hspace{-4em}
300
	\begin{array}{cccc}
301
	%\vlinf{\lefrul{\bot}}{}{p, \lnot{p} \seqar }{}
302
	%& \vlinf{\id}{}{p \seqar p}{}
303
	%& \vlinf{\rigrul{\bot}}{}{\seqar p, \lnot{p}}{}
304
	%& \vliinf{\cut}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi}
305
	\vlinf{id}{}{\Gamma, p \seqar p, \Delta }{}
306
	& \vliinf{cut}{}{\Gamma, \Sigma \seqar \Delta, \Pi }{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi}
307
	&	\vlinf{\lefrul{\neg}}{}{\Gamma, \neg A \seqar \Delta}{\Gamma \seqar A, \Delta}
308
	&
309
	
310
	\vlinf{\rigrul{\neg}}{}{\Gamma, \seqar \neg A, \Delta}{\Gamma, A \seqar  \Delta}
311
		\\
312
		
313
		\noalign{\bigskip}
314
		%\text{Structural:} & & & \\
315
		%\noalign{\bigskip}
316
		
317
		\vlinf{\lefrul{\wk}}{}{\Gamma, A \seqar \Delta}{\Gamma \seqar \Delta}
318
		&
319
		\vlinf{\lefrul{\cntr}}{}{\Gamma, A \seqar \Delta}{\Gamma, A, A \seqar \Delta}
320
		&
321
		\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, A }{\Gamma \seqar \Delta}
322
		&
323
		\vlinf{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, A, A}
324
		\\
325
		\noalign{\bigskip}
326
		\vlinf{\lefrul{\exists}}{}{\Gamma, \exists x . A(x) \seqar \Delta}{\Gamma, A(a) \seqar \Delta}
327
		&
328
		\vlinf{\lefrul{\forall}}{}{\Gamma, \forall x. A(x) \seqar \Delta}{\Gamma, A(t) \seqar \Delta}
329
		&
330
		\vlinf{\rigrul{\exists}}{}{\Gamma \seqar \Delta, \exists x . A(x)}{ \Gamma \seqar \Delta, A(t)}
331
		&
332
		\vlinf{\rigrul{\forall}}{}{\Gamma \seqar \Delta, \forall x . A(x)}{ \Gamma \seqar \Delta, A(a) }
333
	\\
334
	\noalign{\bigskip}
335
	%\noalign{\bigskip}
336
	\vliinf{\lefrul{\cor}}{}{\Gamma, \Sigma, A \cor B \seqar \Delta, \Pi}{\Gamma , A \seqar \Delta}{\Sigma, B \seqar \Pi}
337
	&
338
	\vlinf{\lefrul{\cand}}{}{\Gamma, A\cand B \seqar \Delta}{\Gamma, A , B \seqar \Delta}
339
	&
340
	%\vlinf{\lefrul{\laand}}{}{\Gamma, A\laand B \seqar \Delta}{\Gamma, B \seqar \Delta}
341
	%\quad
342
	\vlinf{\rigrul{\cor}}{}{\Gamma \seqar \Delta, A \cor B}{\Gamma \seqar \Delta, A, B}
343
	&
344
	%\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A\laor B}{\Gamma \seqar \Delta, B}
345
	%\quad
346
	\vliinf{\rigrul{\cand}}{}{\Gamma, \Sigma \seqar \Delta, \Pi, A \cand B }{\Gamma \seqar \Delta, A}{\Sigma \seqar \Pi, B}
347
	%\noalign{\bigskip}
348
	% \vliinf{mix}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta}{\Sigma \seqar \Pi} &&&
349
	\end{array}
350
	\]
351
	\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}
352
\end{figure}
353

    
354
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.
355
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 \cite{Buss86book,Buss98:intro-proof-theory}.
356
We state the required technical material here only briefly, due to space constraints.
357

    
358
A \emph{sequent} is an expression $\Gamma \seqar \Delta$ where $\Gamma$ and $\Delta$ are multisets of formulas. 
359
The inference rules of the sequent calculus $\LK$ are displayed in Fig.~\ref{fig:sequentcalculus}.
360
Of course, we have the following:
361
\begin{proposition}
362
	$A$ is a first-order theorem if and only if there is an $\LK$ proof of $\seqar A$.
363
\end{proposition}
364

    
365
%We consider \emph{systems} of `nonlogical' rules extending this sequent calculus, which we write as follows,
366
% \[
367
% \begin{array}{cc}
368
%    \vlinf{(R)}{}{ \Gamma , \Sigma' \seqar \Delta' , \Pi  }{ \{\Gamma , \Sigma_i \seqar \Delta_i , \Pi \}_{i \in I} }
369
%\end{array}
370
%\]
371
% 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:
372
% \begin{enumerate}
373
% \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   
374
%$ \Gamma,  \Pi$ are called \textit{context formulas}. 
375
%\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$.
376
%    \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).  
377
%   \end{enumerate}
378
% 
379
%%The distinction between modal and nonmodal formulae in $(R)$ induces condition 1
380
% 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.
381
%
382
%%\begin{definition}
383
%%[Polynomial induction]
384
%%The \emph{polynomial induction} axiom schema, $\pind$, consists of the following axioms,
385
%%\[
386
%%A(0) 
387
%%\cimp (\forall x^{\normal} . ( A(x) \cimp A(\succ{0} x) ) )
388
%%\cimp  (\forall x^{\normal} . ( A(x) \cimp A(\succ{1} x) ) ) 
389
%%\cimp  \forall x^{\normal} . A(x)
390
%%\]
391
%%for each formula $A(x)$.
392
%%
393
%%For a class $\Xi$ of formulae, $\cax{\Xi}{\pind}$ denotes the set of induction axioms when $A(x) \in \Xi$. 
394
%%
395
%%We write $I\Xi$ to denote the theory consisting of $\basic$ and $\cax{\Xi}{\ind}$.
396
%%\end{definition}
397
%
398
%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$.
399

    
400
We extend this purely logical calculus with certain non-logical rules and initial sequents corresponding to our theories $\arith^i$.
401
 For instance the axiom $\pind$ of Dfn.~\ref{def:polynomialinduction} is represented by the following rule:
402
\begin{equation}
403
\label{eqn:ind-rule}
404
\small
405
\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  }
406
\end{equation}
407
where $t$ varies over terms and the eigenvariable $a$ does not occur in the lower sequent.
408
%
409
Similarly the $\rais$ inference rule of Dfn.~\ref{def:ariththeory} is represented by the nonlogical rule,
410
 \[
411
 \begin{array}{cc}
412
    \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}
413
\end{array}
414
\]
415
%
416
%\patrick{In fact, I think we rather need the following nonlogical rule, which implies the previous one but is I guess more general:
417
%\[
418
% \begin{array}{cc}
419
%    \vlinf{\rais}{}{  \normal(t_1), \dots, \normal(t_k) \seqar  \normal(t) }{  \normal(t_1), \dots, \normal(t_k) \seqar \safe(t)}
420
%\end{array}
421
%\]
422
%}
423
%
424
$\basic$ axioms are represented by designated initial sequents.
425
For instance here are some initial sequents corresponding to some of the $\basic$ axioms:
426
\[
427
\small
428
\begin{array}{l}
429
\begin{array}{cccc}
430
\vlinf{}{}{\seqar \safe (0)}{}&
431
\vlinf{}{}{\safe(t) \seqar \safe(\succ{} t)}{}&
432
\vlinf{}{}{ \safe (t)   \seqar 0 \neq \succ{} t}{} &
433
\vlinf{}{}{\safe (s) , \safe (t)  , \succ{} s = \succ{} t\seqar s = t }{}\\
434
\end{array}
435
\\
436
\vlinf{}{}{\safe (t) \seqar t = 0 \cor \exists y^\safe . t = \succ{} y  }{}
437
\qquad
438
\vlinf{}{}{\safe(s), \safe(t) \seqar \safe(s+t) }{}\\
439
\vlinf{}{}{\normal (s), \safe(t) \seqar \safe(s \times t)  }{}
440
\qquad
441
\vlinf{}{}{\normal (s), \normal(t) \seqar \safe(s \smsh t)  }{}\\
442
\vlinf{}{}{\normal(t) \seqar \safe(t)  }{}
443
\end{array}
444
\]
445

    
446
The sequent system for $\arith^i$ extends $\LK$ by the $\basic$,  $\cpind{\Sigma^\safe_i } $ and $\rais$ rules.
447
 Naturally, by completeness, we have that $\arith^i \proves A$ if and only if there is a sequent proof of $\seqar A$ in the corresponding system.
448
 In fact, by \emph{free-cut elimination} results \cite{Takeuti87,Cook:2010:LFP:1734064} we may actually say something much stronger.
449
 
450
 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$.
451
 
452
\begin{theorem}
453
	[Typed variable normal form]
454
	\label{thm:normal-form}
455
	If $\arith^i\proves  A$ then there is a $\arith^i$ sequent proof $\pi$ of $A$ such that each line has the form:
456
	\[
457
	\normal(\vec u), \safe (\vec x), \Gamma \seqar \Delta
458
	\]
459
	where $\Gamma \seqar \Delta$ contains only $\Sigma^\safe_i$ formulae for which the sorting $(\vec u ;\vec x)$ is compatible.
460
\end{theorem}
461

    
462
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$.
463
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 sorting of variables 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.
464

    
465
As we mentioned, the fact that only $\Sigma^\safe_i$ formulae occur is due to the free-cut elimination result for first-order calculi \cite{Takeuti87,Cook:2010:LFP:1734064}, which gives a form of proof where every $\cut$ step has one of its cut formulae `immediately' below a non-logical step. Again, we have to adapt the $\rais$ rule a little to achieve our result, due to the fact that it has a $\exists x^\normal$ in its lower sequent. For this we consider a merge of $\rais$ and $\cut$, which allows us to directly cut the upper sequent of $\rais$ against a sequent of the form $\normal(u), A(u), \Gamma \seqar \Delta$.
466

    
467
Finally, as is usual in bounded arithmetic, we use distinguished rules for our relativised quantifiers, although we use ones that satisfy the aforementioned constraints. For instance, we include the following rules, from which the remaining ones are similar:
468
\[
469
\vlinf{\rigrul{\forall}}{}{ \normal(\vec u) , \safe (\vec x), \Gamma \seqar \Delta , \forall x^\safe . A(x)}{\normal(\vec u ) , \safe (\vec x), \safe (x) , \Gamma \seqar \Delta, A(x)}
470
\quad
471
\vlinf{\rigrul{\exists}}{}{\normal(\vec u) , \safe (\vec x) , \Gamma \seqar \Delta , \exists x^\safe . A(x)}{ \normal (\vec u) , \safe (\vec x) , \Gamma \seqar \Delta , A(t) }
472
\]
473
\[
474
\vlinf{\lefrul{|\forall|}}{}{\normal (\vec u ) , \safe (\vec x) , s(\vec u) \leq |t(\vec u)| , \forall u^\normal \leq |t(\vec u)| . A(u) , \Gamma \seqar \Delta }{\normal (\vec u ) , \safe (\vec x) , A(s(\vec u)  ) , \Gamma \seqar \Delta  }
475
\]
476
with the usual side conditions and where, in $\rigrul{\exists}$, $(\vec u ; \vec x)$ is compatible with $t$.