Statistiques
| Révision :

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

Historique | Voir | Annoter | Télécharger (31,14 ko)

1 251 adas
\section{An arithmetic for the polynomial hierarchy}\label{sect:arithmetic}
2 251 adas
%Our base language is $\{ 0, \succ{} , + , \times, \smsh , |\cdot| , \leq \}$.
3 251 adas
Our base language consists of constant and function symbols $\{ 0, \succ{} , + , \times, \smsh , |\cdot|, \hlf{}.\}$ and predicate symbols
4 251 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 $x\smsh y$ denoting $2^{|x||y|}$, so a string of length $|x||y|+1$.
5 251 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 251 adas
7 251 adas
We consider formulas of classical first-order logic, over $\neg$, $\cand$, $\cor$, $\forall$, $\exists$, along with usual shorthands and abbreviations.
8 251 adas
%The formula $A \cimp B$ will be a notation for $\neg A \cor B$.
9 251 adas
%We will also use as shorthand notations:
10 251 adas
%$$ (s=t) = (s\leq t) \cand (t\leq s), \quad (s\neq t) = \neg(s=t).$$
11 251 adas
\textit{Atomic formulas} formulas are of the form $s\leq t$, for terms $s,t$.
12 251 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 251 adas
14 251 adas
15 251 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  $\exists x^{N_0}$,  $\forall x^{N_0}$ as \emph{safe} quantifiers.
16 251 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 251 adas
18 251 adas
19 251 adas
The theories we introduce are directly inspired from bounded arithmetic, namely the theories $S^i_2$.
20 251 adas
We include a similar set of axioms for direct comparison, although in our setting these are not minimal.
21 251 adas
Indeed, $\#$ can be defined using induction in our setting.
22 251 adas
23 251 adas
The $\basic$ axioms of bounded arithmetic give the inductive definitions and interrelationships of the various function and predicate symbols.
24 251 adas
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 251 adas
26 261 adas
27 261 adas
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 261 adas
\begin{enumerate}[(a)]
29 261 adas
	\item $\forall u^\normal. \safe(u) $
30 261 adas
	\item $\safe (0) $
31 261 adas
	\item $\forall x^\safe . \safe (\succ{} x) $
32 261 adas
	\item $\forall u^\safe .\safe(\hlf{u})$
33 261 adas
	\item $\forall x^\safe, y^\safe . \safe(x+y)$
34 261 adas
	\item $\forall u^\normal, x^\safe . \safe(u\times x) $
35 261 adas
	\item $\forall u^\normal , v^\normal . \safe (u \smsh v)$
36 263 pbaillot
	\item $\forall u^\normal .\safe(|u|)$
37 261 adas
\end{enumerate}
38 261 adas
%\[
39 261 adas
%\begin{array}{l}
40 261 adas
%\forall u^\normal. \safe(u) \\
41 261 adas
%\safe (0) \\
42 261 adas
%\forall x^\safe . \safe (\succ{} x) \\
43 261 adas
%\forall u^\safe .\safe(\hlf{u})
44 261 adas
%\end{array}
45 261 adas
%\qquad
46 261 adas
%\begin{array}{l}
47 261 adas
%\forall x^\safe, y^\safe . \safe(x+y)\\
48 261 adas
%\forall u^\normal, x^\safe . \safe(u\times x) \\
49 261 adas
%\forall u^\normal , v^\normal . \safe (u \smsh v)\\
50 261 adas
%\forall u^\normal .\safe(|x|)
51 261 adas
%\end{array}
52 261 adas
%\]
53 263 pbaillot
\patrick{Actually I guess that we could replace the last one by $\forall x^\normal .\safe(|x|)$, as $|x|$ has smaller size as $x$? But I am not sure this would be needed anywhere. }
54 263 pbaillot
55 261 adas
Notice in particular that we have $\normal \subseteq \safe$.
56 261 adas
%
57 254 adas
Apart from these, the remaining $\basic$ axioms mimic those of Buss in \cite{Buss86book}:
58 261 adas
\begin{enumerate}[(1)]
59 263 pbaillot
	\item $\forall x^{\safe}, y^{\safe}.  (y\leq x\cimp  y \leq \succ{} x) $ \label{axiom1}
60 263 pbaillot
	\item $\forall x^{\safe}. x \neq \succ{} x$       \label{axiom2}
61 263 pbaillot
	\item $\forall x^{\safe}.0 \leq x$       \label{axiom3}
62 263 pbaillot
	\item $\forall x^{\safe}, y^{\safe}. ((x\leq y \cand x \neq y) \ciff \succ{} x \leq y) $ \label{axiom4}
63 261 adas
	\item $\forall x^{\safe}. (x\neq 0 \cimp \succ{0}x \neq 0)$
64 263 pbaillot
	\item $\forall x^{\safe}, y^{\safe}. (y\leq x \cor x \leq y)$  \label{axiom6}
65 261 adas
	\item $\forall x^{\safe}, y^{\safe}. ((x\leq y \cand y\leq x )\cimp x=y)$
66 263 pbaillot
	\item $\forall x^{\safe}, y^{\safe}, z^{\safe}. ((x\leq y \cand y\leq z) \cimp x\leq z)$ \label{axiom<=transitivity}
67 261 adas
	\item $|0|=0$
68 261 adas
	\item $\forall x^{\safe}, y^{\safe}.( x\neq 0 \cimp  (|\succ{0}x|=\succ{}( |x|) \cand |\succ{1}x|= \succ{}(|x|))) $
69 261 adas
	\item $|\succ{}0|=\succ{} 0$
70 261 adas
	\item $\forall x^{\safe}, y^{\safe}.   (x\leq y \cimp   |x|\leq  |y|)$
71 261 adas
	\item $\forall x^{\normal}, y^{\normal}.    |x\smsh y|=\succ{}( |x|\cdot  |y|)$
72 261 adas
	\item $\forall y^{\normal}.    0 \smsh y=\succ{} 0$
73 261 adas
	\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)))$
74 261 adas
	\item $\forall x^{\normal}, y^{\normal}.    x \smsh y = y \smsh x$
75 261 adas
	\item $\forall x^{\normal}, y^{\normal}, z^{\normal}. (   |x|= |y| \cimp x\smsh z = y\smsh z)$
76 261 adas
	\item $\forall x^{\normal}, u^{\normal}, v^{\normal}, y^{\normal}.      (|x|= |u|+  |v| \cimp x\smsh y=(u\smsh y)\cdot (v\smsh y))$
77 261 adas
	\item $\forall x^{\safe}, y^{\safe}.      x\leq x+y$
78 261 adas
	\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))$
79 263 pbaillot
	\item $\forall x^{\safe}, y^{\safe}.     x+y=y+x$ \label{axiom21}
80 266 pbaillot
	\item $\forall x^{\safe}.       x+0=x$                    \label{axiom22}
81 266 pbaillot
	\item $\forall x^{\safe}, y^{\safe}.       x+\succ{}y=\succ{}(x+y)$ \label{axiom23}
82 261 adas
	\item $\forall x^{\safe}, y^{\safe}, z^{\safe}.      (x+y)+z=x+(y+z)$
83 261 adas
	\item $\forall x^{\safe}, y^{\safe}, z^{\safe}. (    x+y \leq x+z \ciff y\leq z)$
84 261 adas
	\item $\forall x^{\safe}       0\cdot x =0$
85 266 pbaillot
	%\item $\forall x^{\normal}, y^{\safe}.  x\cdot(\succ{}y)=(x\cdot y)+x$  \label{axiom27}  %% version with alternative sorting
86 266 pbaillot
	\item $\forall x^{\safe}, y^{\normal}.  x\cdot(\succ{}y)=(x\cdot y)+x$  \label{axiom27}
87 266 pbaillot
          \item $\forall x^{\normal}, y^{\normal}. x\cdot y=y\cdot x$
88 263 pbaillot
	\item $\forall x^{\normal}, y^{\safe}, z^{\safe}.  x\cdot(y+z)=(x\cdot y)+(x\cdot z)$ \label{axiom29}
89 261 adas
	\item $\forall x^{\normal}, y^{\safe}, z^{\safe}.      (x\geq \succ{} 0 \cimp (x\cdot y \leq x\cdot z \ciff y\leq z))$
90 261 adas
	\item $\forall x^{\normal}  .     (x\neq 0 \cimp  |x|=\succ{}(\hlf{x}))$
91 261 adas
	\item $\forall x^{\safe}, y^{\safe}.   (  x= \hlf{y} \ciff (\succ{0}x=y \cor \succ{}(\succ{0}x)=y))$
92 261 adas
\end{enumerate}
93 254 adas
94 254 adas
95 261 adas
%$$
96 261 adas
%%\begin{equation}
97 261 adas
%\begin{array}{l}
98 261 adas
%\forall x^{\safe}, y^{\safe}.  (y\leq x\cimp  y \leq \succ{} x) \\
99 261 adas
%\forall x^{\safe}. x \neq \succ{} x\\
100 261 adas
%\forall x^{\safe}.0 \leq x\\
101 261 adas
%\forall x^{\safe}, y^{\safe}. ((x\leq y \cand x \neq y) \ciff \succ{} x \leq y) \\
102 261 adas
%\forall x^{\safe}. (x\neq 0 \cimp \succ{0}x \neq 0)\\
103 261 adas
%\forall x^{\safe}, y^{\safe}. (y\leq x \cor x \leq y)\\
104 261 adas
%\forall x^{\safe}, y^{\safe}. ((x\leq y \cand y\leq x )\cimp x=y)\\
105 261 adas
%\forall x^{\safe}, y^{\safe}, z^{\safe}. ((x\leq y \cand y\leq z) \cimp x\leq z)\\
106 261 adas
%|0|=0\\
107 261 adas
%\forall x^{\safe}, y^{\safe}.( x\neq 0 \cimp  (|\succ{0}x|=\succ{}( |x|) \cand |\succ{1}x|= \succ{}(|x|))) \\
108 261 adas
%|\succ{}0|=\succ{} 0\\
109 261 adas
%\forall x^{\safe}, y^{\safe}.   (x\leq y \cimp   |x|\leq  |y|)\\
110 261 adas
%\forall x^{\normal}, y^{\normal}.    |x\smsh y|=\succ{}( |x|\cdot  |y|)\\
111 261 adas
%\forall y^{\normal}.    0 \smsh y=\succ{} 0\\
112 261 adas
%\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)))\\
113 261 adas
%\forall x^{\normal}, y^{\normal}.    x \smsh y = y \smsh x\\
114 261 adas
%\forall x^{\normal}, y^{\normal}, z^{\normal}. (   |x|= |y| \cimp x\smsh z = y\smsh z)\\
115 261 adas
%\forall x^{\normal}, u^{\normal}, v^{\normal}, y^{\normal}.      (|x|= |u|+  |v| \cimp x\smsh y=(u\smsh y)\cdot (v\smsh y))\\
116 261 adas
%\forall x^{\safe}, y^{\safe}.      x\leq x+y\\
117 261 adas
%\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))\\
118 261 adas
%\forall x^{\safe}, y^{\safe}.     x+y=y+x\\
119 261 adas
%\forall x^{\safe}.       x+0=x\\
120 261 adas
%\forall x^{\safe}, y^{\safe}.       x+\succ{}y=\succ{}(x+y)\\
121 261 adas
%\forall x^{\safe}, y^{\safe}, z^{\safe}.      (x+y)+z=x+(y+z)\\
122 261 adas
%\forall x^{\safe}, y^{\safe}, z^{\safe}. (    x+y \leq x+z \ciff y\leq z)\\
123 261 adas
%\forall x^{\safe}       0\cdot x =0\\
124 261 adas
%\forall x^{\safe}, y^{\normal}.  x\cdot(\succ{}y)=(x\cdot y)+x\\
125 261 adas
%%\text{\anupam{check above normal/safe! Pretty sure should be other way around.}}\\
126 261 adas
%\forall x^{\normal}, y^{\normal}. x\cdot y=y\cdot x\\
127 261 adas
%\forall x^{\normal}, y^{\safe}, z^{\safe}.  x\cdot(y+z)=(x\cdot y)+(x\cdot z)\\
128 261 adas
%\forall x^{\normal}, y^{\safe}, z^{\safe}.      (x\geq \succ{} 0 \cimp (x\cdot y \leq x\cdot z \ciff y\leq z))\\
129 261 adas
%\forall x^{\normal}  .     (x\neq 0 \cimp  |x|=\succ{}(\hlf{x}))\\
130 261 adas
%\forall x^{\safe}, y^{\safe}.   (  x= \hlf{y} \ciff (\succ{0}x=y \cor \succ{}(\succ{0}x)=y))
131 261 adas
%\end{array}
132 261 adas
%%\end{equation}
133 261 adas
%$$
134 261 adas
%
135 256 adas
136 256 adas
137 256 adas
138 256 adas
139 259 adas
140 256 adas
141 256 adas
142 251 adas
%\begin{definition}
143 251 adas
%	[Basic theory]
144 251 adas
%	The theory $\basic$ consists of the axioms from Appendix \ref{appendix:arithmetic}.
145 251 adas
%	\end{definition}
146 251 adas
147 251 adas
148 251 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)$.
149 251 adas
150 251 adas
%\begin{definition}
151 251 adas
%[Derived functions and notations]
152 251 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.
153 251 adas
%We define the functions $\succ 0 x , \succ 1 x$ as $2 x$ and $2x +1$ respectively.
154 251 adas
%
155 251 adas
%Need $bit$, $\beta$ , $\pair{}{}{}$.
156 251 adas
%\end{definition}
157 251 adas
%
158 251 adas
%(Here use a variation of S12 with sharply bounded quantifiers and safe quantifiers)
159 251 adas
%
160 251 adas
%Use base theory + sharply bounded quantifiers.
161 251 adas
162 261 adas
In addition to these axioms, our theories will contain forms of induction, defined below.
163 251 adas
164 251 adas
%\anupam{Collection principles for prenexing? Otherwise need to add closure under sharply bounded quantifiers.}
165 251 adas
166 251 adas
167 251 adas
\begin{definition}
168 251 adas
[Polynomial induction]
169 251 adas
\label{def:polynomialinduction}
170 251 adas
The \emph{polynomial induction} axiom schema, $\pind$, consists of the following axioms, for each formula $A(x)$:
171 251 adas
\[
172 251 adas
\left(
173 251 adas
A(0)
174 251 adas
\cand (\forall x^{\normal} . ( A(x) \cimp A(\succ{0} x) ) )
175 251 adas
\cand  (\forall x^{\normal} . ( A(x) \cimp A(\succ{1} x) ) )
176 251 adas
\right)
177 251 adas
\cimp  \forall x^{\normal} . A(x)
178 251 adas
\]
179 251 adas
For a class $\Xi$ of formulae, $\cax{\Xi}{\pind}$ denotes the set of $\pind$ axioms where $A(x) \in \Xi$.
180 251 adas
181 251 adas
%We write $I\Xi$ to denote the theory consisting of $\basic$ and $\cax{\Xi}{\ind}$.
182 251 adas
\end{definition}
183 251 adas
184 261 adas
We will introduce in fact a hierarchy of theories calibrated by the complexity of induction formulae, so we now introduce the appropriate quantifier hierarchy.
185 251 adas
186 261 adas
\begin{definition}
187 261 adas
	[Quantifier hierarchy]
188 261 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.
189 261 adas
	We define $\Sigma^\safe_{i+1}$ as the closure of $\Pi^\safe_i $ under $\cor, \cand $, safe existentials and sharply bounded quantifiers.
190 261 adas
	We define $\Pi^\safe_{i+1}$ as the closure of $\Sigma^\safe_i $ under $\cor, \cand $, safe universals and sharply bounded quantifiers.
191 261 adas
\end{definition}
192 261 adas
193 261 adas
194 261 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$.
195 261 adas
The criterion is purely to give an appropriate definition of the hierarchy above.
196 261 adas
197 261 adas
198 251 adas
\begin{definition}\label{def:ariththeory}
199 251 adas
Define the theory $\arith^i$ consisting of the $\basic$ axioms, $\cpind{\Sigma^\safe_i } $,
200 251 adas
%\begin{itemize}
201 251 adas
%	\item $\basic$;
202 251 adas
%	\item $\cpind{\Sigma^\safe_i } $:
203 251 adas
%\end{itemize}
204 251 adas
and a particular inference rule, called $\rais$, for closed formulas $\forall \vec x. \exists y. A$:
205 251 adas
\[
206 251 adas
 \dfrac{\proves \forall \vec x^\normal . \exists  y^\safe .  A }{ \proves \forall \vec x^\normal .\exists y^\normal . A}
207 251 adas
\]
208 251 adas
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.
209 251 adas
\end{definition}
210 251 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)}
211 251 adas
%
212 251 adas
%\anupam{In induction,for inductive cases, need $u\neq 0$ for $\succ 0$ case.}
213 251 adas
214 265 adas
\anupam{Need vector $\vec y^\safe$?}
215 265 adas
216 251 adas
\begin{remark}
217 251 adas
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.
218 251 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.
219 251 adas
	\end{remark}
220 251 adas
221 251 adas
222 259 adas
\begin{example}
223 259 adas
	[Some basic theorems]
224 259 adas
	We give proofs of the following, that are sometimes included as basic axioms, in $\arith^1$:
225 259 adas
	\[
226 259 adas
	\begin{array}{l}
227 259 adas
	\forall x^\safe . 0 \neq \succ{} (x) \\
228 259 adas
	\forall x^\safe , y^\safe . (\succ{} x = \succ{} y \cimp x = y) \\
229 266 pbaillot
	%\forall x^\safe . (x = 0 \cor \exists y^\safe.\  x = \succ{} y   )  \\        %% version 1: Anupam
230 266 pbaillot
	%\forall u^\normal . (u = 0 \cor \exists v^\normal.\  u = \succ{} v  )  %%  version 2: Patrick
231 266 pbaillot
	\forall u^\normal . (u = 0 \cor \exists y^\safe.  u = \succ{} v  )  \\        %% version 3: after discussion
232 263 pbaillot
	\forall u^\normal ,x^\safe . u \cdot \succ{} x = u + ux
233 259 adas
	\end{array}
234 259 adas
	\]
235 259 adas
	\todo{Proof: Patrick? The final two should require PIND.}
236 263 pbaillot
237 263 pbaillot
	\patrick{Actually statement 4 is nearly trivial from axiom 27 (for which I corrected the sorts). Maybe you meant something else?
238 265 adas
		\anupam{I actually changed those sorts from the submitted version: I really think axiom 27 should be $\forall x^{\safe}, y^{\normal}.  x\cdot(\succ{}y)=(x\cdot y)+x$, i.e.\ with the recursion on the normal variable. That way we can do induction on it. Statement 4 is meant to state the recursive property for the safe argument, which we can prove by induction on the normal argument, $u$.}
239 263 pbaillot
240 263 pbaillot
	For statement 3 I replaced the quantifications $\safe$ by $\normal$, otherwise I don't know how to prove it. But I think we need the stronger statement with $\safe$, so probably we should add it as an additional axiom.}
241 265 adas
\anupam{Rather, I do not know how you would prove the current version: we cannot induct on $\exists v^\normal$ from axiom 27 as I state it. For the previous version I would just do induction on $u$ in $(u = 0 \cor \exists x^\safe.\  u = \succ{} x )$. }
242 263 pbaillot
	\end{example}
243 263 pbaillot
\begin{proof}
244 263 pbaillot
\begin{itemize}
245 263 pbaillot
 \item For the first statement, assume  $\succ{} (x)=0$ in order to derive a contradiction. From axiom \ref{axiom1} we deduce $x \leq x$, and so by transitivity (axiom \ref{axiom<=transitivity}) we have $x\leq 0$. So axiom \ref{axiom3} gives us $x=0$, and so $x=\succ{} (x)$. Finally with axiom  \ref{axiom2} we conclude with a contradiction.
246 263 pbaillot
 \item For statement 2 assume $\succ{} x= \succ{} y$ and, in view of a contradiction, $x\neq y$. Let us apply axiom \ref{axiom6} and assume we are in the case where $x\leq y$ (the case $y\leq x$ is symmetric). By axiom \ref{axiom4}, using the assumption $x\neq y$ we deduce $\succ{} x \leq y$. So as $\succ{} x = \succ{} y$ we can derive that $\succ{} y \leq y$. So by using axiom \ref{axiom1} we obtain that $\succ{} y = y$, hence axiom \ref{axiom2} gives us a contradiction, so we are done.
247 266 pbaillot
 \item For statement 3 we proceed by induction on $u$ on the formula %$A(u)= (u=0) \cup \exists^{\normal} v. u=\succ{} v$.
248 266 pbaillot
 $A(u)= (u=0) \cup \exists^{\safe} v. u=\succ{} v$. Note that this formula is in $\Sigma^{\safe}_1$, so we can do induction on it in  $\arith^1$.
249 266 pbaillot
   The formula $A(0)$ obviously holds. Let us assume $A(u)$ and prove $A(\succ{0} u)$ (the case for $A(\succ{1} u)$ will be similar).  By $A(u)$ we deduce that either $u=0$, in which case we also have $\succ{0} u=0$, hence  $A(\succ{0} u)$ also holds, or there is a $y$ such that $u=\succ{} y$. In this latter case we have $\succ{0} u=2\cdot(\succ{} y)=2 v +2$ (by axiom \ref{axiom29}), hence have $\succ{0} u=\succ{} (\succ{} (2\cdot y))$, and so $A(\succ{0} u)$ holds.
250 263 pbaillot
251 263 pbaillot
 By induction we conclude that $\forall^{\normal} u. A(u)$ holds.
252 266 pbaillot
\item Statement 4:
253 266 pbaillot
%For statement 4 we just use axiom  \ref{axiom27} followed by the $+$ commutativity axiom \ref{axiom21}.
254 266 pbaillot
 Let $u$ be in $\normal$ and $x$ in $\safe$, and try to prove $u\succ{} x=u+ux$. We have $\succ{} x=x+1$ by axioms \ref{axiom23} and \ref{axiom22} , so $u\succ{} x= u(x+1)$, so from axiom \ref{axiom29} we deduce $ u\succ{} x= u(x+1)=ux+u$, and by axiom \ref{axiom21} we conclude that $ u\succ{} x=u+ux$.
255 263 pbaillot
\end{itemize}
256 263 pbaillot
\end{proof}
257 261 adas
It is often useful for us to work with \emph{length-induction}, which is equivalent to polynomial induction and well known from bounded arithmetic:
258 261 adas
\begin{proposition}
259 261 adas
	[Length induction]
260 261 adas
	The axiom schema of formulae,
261 261 adas
	\begin{equation}
262 261 adas
	\label{eqn:lind}
263 261 adas
	( A(0) \cand \forall x^\normal . (A(x) \cimp A(\succ{} x)) ) \cimp \forall x^\safe. A(|x|)
264 261 adas
	\end{equation}
265 261 adas
	for formulae $A \in \Sigma^\safe_i$
266 261 adas
	is equivalent to $\cpind{\Sigma^\safe_i}$.
267 261 adas
\end{proposition}
268 261 adas
\begin{proof}
269 261 adas
	Suppose we have $A(0)$ and $A(a) \cimp A(\succ{} a)$ for each $a \in \normal$.
270 261 adas
	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|)$.
271 261 adas
\end{proof}
272 251 adas
273 261 adas
Let us refer to the axiom schema in \eqref{eqn:lind} as $\clind{\Xi}$, when $A \in \Xi$.
274 261 adas
We will freely use this in place of polynomial induction whenever it is convenient.
275 261 adas
276 261 adas
277 251 adas
\subsection{Graphs of some basic functions}\label{sect:graphsbasicfunctions}
278 251 adas
279 261 adas
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)$.
280 261 adas
We sometimes explicitly delimit variables as such when it is helpful, writing $A_f (\vec u ; \vec x , y)$.
281 251 adas
282 251 adas
Let us give a few examples for basic functions representable in $\arith^1$, wherein proofs of totality are routine:
283 251 adas
\begin{itemize}
284 251 adas
\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$).
285 251 adas
%\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.
286 251 adas
%\item Predecessor $p$:   $\forall^{\safe} x, \exists^{\safe} y. (x=\succ{0} y \cor x=\succ{1} y \cor (x=\epsilon \cand y= \epsilon)) .$
287 251 adas
\item Conditional $C$:
288 261 adas
$$
289 261 adas
\forall x^{\safe} ,  y_0^{\safe}, y_1^{\safe}, \exists y^{\safe}.
290 261 adas
\left(
291 261 adas
\begin{array}{rl}
292 261 adas
&\exists z^{\safe}.x=\succ{0}z \cand y=y_0 \\
293 261 adas
\cor&  \exists z^{\safe}.x=\succ{1}z \cand y=y_1
294 251 adas
\end{array}
295 261 adas
\right)
296 251 adas
$$
297 261 adas
%$$\begin{array}{ll}
298 261 adas
%\forall x^{\safe} ,  y_0^{\safe}, y_1^{\safe}, \exists y^{\safe}. & ((x=0)\cand (y=y_0)\\
299 261 adas
%                                                                                                   & \cor( \exists z^{\safe}.(x=\succ{0}z) \cand (y=y_0))\\
300 261 adas
%                                                                                                   & \cor( \exists z^{\safe}.(x=\succ{1}z) \cand (y=y_1)))\
301 261 adas
%\end{array}
302 261 adas
%$$
303 251 adas
%\item Addition:
304 251 adas
%$\forall^{\safe} x, y,  \exists^{\safe} z. z=x+y$.
305 251 adas
\item Prefix:
306 251 adas
  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$
307 251 adas
  of length $k$ is $y$. It is defined as:
308 251 adas
  $$\begin{array}{ll}
309 251 adas
\exists z^{\safe} , \exists l^{\normal} \leq |x|. & (k+l= |x|\\
310 251 adas
                                                                                                   & \cand \; |z|=l\\
311 251 adas
                                                                                                   & \cand \; x=y\smsh(2,l)+z)
312 251 adas
                                                                                                   \end{array}
313 251 adas
$$
314 251 adas
\item The following predicates will also be needed in proofs:
315 251 adas
316 251 adas
$\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
317 251 adas
defined by:
318 251 adas
$$ \exists y^{\safe} .(\pref(k,x,y) \cand \exists z^{\safe} . y=\succ{0}z).$$
319 251 adas
\end{itemize}
320 251 adas
321 251 adas
\subsection{A sequent calculus presentation}
322 251 adas
\begin{figure}
323 251 adas
	\[
324 251 adas
	\small
325 254 adas
	\hspace{-4em}
326 251 adas
	\begin{array}{cccc}
327 251 adas
	%\vlinf{\lefrul{\bot}}{}{p, \lnot{p} \seqar }{}
328 251 adas
	%& \vlinf{\id}{}{p \seqar p}{}
329 251 adas
	%& \vlinf{\rigrul{\bot}}{}{\seqar p, \lnot{p}}{}
330 251 adas
	%& \vliinf{\cut}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi}
331 251 adas
	\vlinf{id}{}{\Gamma, p \seqar p, \Delta }{}
332 251 adas
	& \vliinf{cut}{}{\Gamma, \Sigma \seqar \Delta, \Pi }{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi}
333 251 adas
	&	\vlinf{\lefrul{\neg}}{}{\Gamma, \neg A \seqar \Delta}{\Gamma \seqar A, \Delta}
334 251 adas
	&
335 251 adas
336 251 adas
	\vlinf{\rigrul{\neg}}{}{\Gamma, \seqar \neg A, \Delta}{\Gamma, A \seqar  \Delta}
337 251 adas
		\\
338 251 adas
339 251 adas
		\noalign{\bigskip}
340 251 adas
		%\text{Structural:} & & & \\
341 251 adas
		%\noalign{\bigskip}
342 251 adas
343 251 adas
		\vlinf{\lefrul{\wk}}{}{\Gamma, A \seqar \Delta}{\Gamma \seqar \Delta}
344 251 adas
		&
345 251 adas
		\vlinf{\lefrul{\cntr}}{}{\Gamma, A \seqar \Delta}{\Gamma, A, A \seqar \Delta}
346 251 adas
		&
347 251 adas
		\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, A }{\Gamma \seqar \Delta}
348 251 adas
		&
349 251 adas
		\vlinf{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, A, A}
350 251 adas
		\\
351 251 adas
		\noalign{\bigskip}
352 251 adas
		\vlinf{\lefrul{\exists}}{}{\Gamma, \exists x . A(x) \seqar \Delta}{\Gamma, A(a) \seqar \Delta}
353 251 adas
		&
354 251 adas
		\vlinf{\lefrul{\forall}}{}{\Gamma, \forall x. A(x) \seqar \Delta}{\Gamma, A(t) \seqar \Delta}
355 251 adas
		&
356 251 adas
		\vlinf{\rigrul{\exists}}{}{\Gamma \seqar \Delta, \exists x . A(x)}{ \Gamma \seqar \Delta, A(t)}
357 251 adas
		&
358 251 adas
		\vlinf{\rigrul{\forall}}{}{\Gamma \seqar \Delta, \forall x . A(x)}{ \Gamma \seqar \Delta, A(a) }
359 251 adas
	\\
360 251 adas
	\noalign{\bigskip}
361 251 adas
	%\noalign{\bigskip}
362 251 adas
	\vliinf{\lefrul{\cor}}{}{\Gamma, \Sigma, A \cor B \seqar \Delta, \Pi}{\Gamma , A \seqar \Delta}{\Sigma, B \seqar \Pi}
363 251 adas
	&
364 251 adas
	\vlinf{\lefrul{\cand}}{}{\Gamma, A\cand B \seqar \Delta}{\Gamma, A , B \seqar \Delta}
365 251 adas
	&
366 251 adas
	%\vlinf{\lefrul{\laand}}{}{\Gamma, A\laand B \seqar \Delta}{\Gamma, B \seqar \Delta}
367 251 adas
	%\quad
368 251 adas
	\vlinf{\rigrul{\cor}}{}{\Gamma \seqar \Delta, A \cor B}{\Gamma \seqar \Delta, A, B}
369 251 adas
	&
370 251 adas
	%\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A\laor B}{\Gamma \seqar \Delta, B}
371 251 adas
	%\quad
372 251 adas
	\vliinf{\rigrul{\cand}}{}{\Gamma, \Sigma \seqar \Delta, \Pi, A \cand B }{\Gamma \seqar \Delta, A}{\Sigma \seqar \Pi, B}
373 251 adas
	%\noalign{\bigskip}
374 251 adas
	% \vliinf{mix}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta}{\Sigma \seqar \Pi} &&&
375 251 adas
	\end{array}
376 251 adas
	\]
377 251 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}
378 251 adas
\end{figure}
379 251 adas
380 251 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.
381 251 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 \cite{Buss86book,Buss98:intro-proof-theory}.
382 251 adas
We state the required technical material here only briefly, due to space constraints.
383 251 adas
384 251 adas
A \emph{sequent} is an expression $\Gamma \seqar \Delta$ where $\Gamma$ and $\Delta$ are multisets of formulas.
385 251 adas
The inference rules of the sequent calculus $\LK$ are displayed in Fig.~\ref{fig:sequentcalculus}.
386 251 adas
Of course, we have the following:
387 251 adas
\begin{proposition}
388 251 adas
	$A$ is a first-order theorem if and only if there is an $\LK$ proof of $\seqar A$.
389 251 adas
\end{proposition}
390 251 adas
391 251 adas
%We consider \emph{systems} of `nonlogical' rules extending this sequent calculus, which we write as follows,
392 251 adas
% \[
393 251 adas
% \begin{array}{cc}
394 251 adas
%    \vlinf{(R)}{}{ \Gamma , \Sigma' \seqar \Delta' , \Pi  }{ \{\Gamma , \Sigma_i \seqar \Delta_i , \Pi \}_{i \in I} }
395 251 adas
%\end{array}
396 251 adas
%\]
397 251 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:
398 251 adas
% \begin{enumerate}
399 251 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
400 251 adas
%$ \Gamma,  \Pi$ are called \textit{context formulas}.
401 251 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$.
402 251 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).
403 251 adas
%   \end{enumerate}
404 251 adas
%
405 251 adas
%%The distinction between modal and nonmodal formulae in $(R)$ induces condition 1
406 251 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.
407 251 adas
%
408 251 adas
%%\begin{definition}
409 251 adas
%%[Polynomial induction]
410 251 adas
%%The \emph{polynomial induction} axiom schema, $\pind$, consists of the following axioms,
411 251 adas
%%\[
412 251 adas
%%A(0)
413 251 adas
%%\cimp (\forall x^{\normal} . ( A(x) \cimp A(\succ{0} x) ) )
414 251 adas
%%\cimp  (\forall x^{\normal} . ( A(x) \cimp A(\succ{1} x) ) )
415 251 adas
%%\cimp  \forall x^{\normal} . A(x)
416 251 adas
%%\]
417 251 adas
%%for each formula $A(x)$.
418 251 adas
%%
419 251 adas
%%For a class $\Xi$ of formulae, $\cax{\Xi}{\pind}$ denotes the set of induction axioms when $A(x) \in \Xi$.
420 251 adas
%%
421 251 adas
%%We write $I\Xi$ to denote the theory consisting of $\basic$ and $\cax{\Xi}{\ind}$.
422 251 adas
%%\end{definition}
423 251 adas
%
424 251 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$.
425 251 adas
426 251 adas
We extend this purely logical calculus with certain non-logical rules and initial sequents corresponding to our theories $\arith^i$.
427 251 adas
 For instance the axiom $\pind$ of Dfn.~\ref{def:polynomialinduction} is represented by the following rule:
428 251 adas
\begin{equation}
429 251 adas
\label{eqn:ind-rule}
430 251 adas
\small
431 251 adas
\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  }
432 251 adas
\end{equation}
433 251 adas
where $t$ varies over terms and the eigenvariable $a$ does not occur in the lower sequent.
434 251 adas
%
435 251 adas
Similarly the $\rais$ inference rule of Dfn.~\ref{def:ariththeory} is represented by the nonlogical rule,
436 251 adas
 \[
437 251 adas
 \begin{array}{cc}
438 251 adas
    \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}
439 251 adas
\end{array}
440 251 adas
\]
441 251 adas
%
442 251 adas
%\patrick{In fact, I think we rather need the following nonlogical rule, which implies the previous one but is I guess more general:
443 251 adas
%\[
444 251 adas
% \begin{array}{cc}
445 251 adas
%    \vlinf{\rais}{}{  \normal(t_1), \dots, \normal(t_k) \seqar  \normal(t) }{  \normal(t_1), \dots, \normal(t_k) \seqar \safe(t)}
446 251 adas
%\end{array}
447 251 adas
%\]
448 251 adas
%}
449 251 adas
%
450 251 adas
$\basic$ axioms are represented by designated initial sequents.
451 251 adas
For instance here are some initial sequents corresponding to some of the $\basic$ axioms:
452 251 adas
\[
453 251 adas
\small
454 251 adas
\begin{array}{l}
455 251 adas
\begin{array}{cccc}
456 251 adas
\vlinf{}{}{\seqar \safe (0)}{}&
457 251 adas
\vlinf{}{}{\safe(t) \seqar \safe(\succ{} t)}{}&
458 251 adas
\vlinf{}{}{ \safe (t)   \seqar 0 \neq \succ{} t}{} &
459 251 adas
\vlinf{}{}{\safe (s) , \safe (t)  , \succ{} s = \succ{} t\seqar s = t }{}\\
460 251 adas
\end{array}
461 251 adas
\\
462 251 adas
\vlinf{}{}{\safe (t) \seqar t = 0 \cor \exists y^\safe . t = \succ{} y  }{}
463 251 adas
\qquad
464 251 adas
\vlinf{}{}{\safe(s), \safe(t) \seqar \safe(s+t) }{}\\
465 251 adas
\vlinf{}{}{\normal (s), \safe(t) \seqar \safe(s \times t)  }{}
466 251 adas
\qquad
467 251 adas
\vlinf{}{}{\normal (s), \normal(t) \seqar \safe(s \smsh t)  }{}\\
468 251 adas
\vlinf{}{}{\normal(t) \seqar \safe(t)  }{}
469 251 adas
\end{array}
470 251 adas
\]
471 251 adas
472 251 adas
The sequent system for $\arith^i$ extends $\LK$ by the $\basic$,  $\cpind{\Sigma^\safe_i } $ and $\rais$ rules.
473 251 adas
 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.
474 251 adas
 In fact, by \emph{free-cut elimination} results \cite{Takeuti87,Cook:2010:LFP:1734064} we may actually say something much stronger.
475 251 adas
476 251 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$.
477 251 adas
478 251 adas
\begin{theorem}
479 251 adas
	[Typed variable normal form]
480 251 adas
	\label{thm:normal-form}
481 251 adas
	If $\arith^i\proves  A$ then there is a $\arith^i$ sequent proof $\pi$ of $A$ such that each line has the form:
482 251 adas
	\[
483 251 adas
	\normal(\vec u), \safe (\vec x), \Gamma \seqar \Delta
484 251 adas
	\]
485 251 adas
	where $\Gamma \seqar \Delta$ contains only $\Sigma^\safe_i$ formulae for which the sorting $(\vec u ;\vec x)$ is compatible.
486 251 adas
\end{theorem}
487 251 adas
488 251 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$.
489 251 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 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.
490 251 adas
491 251 adas
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$.
492 251 adas
493 262 adas
Finally, as is usual in bounded arithmetic, we use distinguished rules for our relativised quantifiers \cite{Buss86book}, although we use ones that satisfy the aforementioned constraints. For instance, we include the following rules, from which the remaining ones are similar:
494 251 adas
\[
495 251 adas
\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)}
496 251 adas
\quad
497 251 adas
\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) }
498 251 adas
\]
499 251 adas
\[
500 251 adas
\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  }
501 251 adas
\]
502 251 adas
with the usual side conditions and where, in $\rigrul{\exists}$, $(\vec u ; \vec x)$ is compatible with $t$.