Révision 227

CSL17/arithmetic.tex (revision 227)
10 10
%$$ (s=t) = (s\leq t) \cand (t\leq s), \quad (s\neq t) = \neg(s=t).$$ 
11 11
\textit{Atomic formulas} formulas are of the form $(s\leq t)$, for terms $s,t$.
12 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
 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.
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 these 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.
14 17

  
15 18

  
16 19
The theories we introduce are directly inspired from bounded arithmetic, namely the theories $S^i_2$.
......
19 22

  
20 23
The $\basic$ axioms of bounded arithmetic give the inductive definitions and interrelationships of the various function symbols.
21 24
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$.
22
\begin{definition}
23
	[Basic theory]
24
	The theory $\basic$ consists of the axioms from Appendix \ref{appendix:arithmetic}.
25
	\end{definition}
25
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
\[
27
\begin{array}{l}
28
\forall u^\normal. \safe(u) \\
29
\safe (0) \\
30
\forall x^\safe . \safe (\succ{} x) \\
31
\forall x^\safe . 0 \neq \succ{} (x) \\
32
\forall x^\safe , y^\safe . (\succ{} x = \succ{} y \cimp x = y) \\
33
\forall x^\safe . (x = 0 \cor \exists y^\safe.\  x = \succ{} y   )  
34
\end{array}
35
\qquad
36
\begin{array}{l}
37
\forall x^\safe, y^\safe . \safe(x+y)\\
38
\forall u^\normal, x^\safe . \safe(u\times x) \\
39
\forall u^\normal , v^\normal . \safe (u \smsh v)\\
40
\forall u^\safe .\safe(\hlf{u})\\
41
\forall u^\normal .\safe(|x|)
42
\end{array}
43
\]
44
Notice that we have $\normal \subseteq \safe$.
45
A full list of our $\basic$ axioms can be found in Appendix \ref{appendix:arithmetic}.
26 46

  
47
%\begin{definition}
48
%	[Basic theory]
49
%	The theory $\basic$ consists of the axioms from Appendix \ref{appendix:arithmetic}.
50
%	\end{definition}
27 51

  
28
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)$.
52

  
53
%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)$.
29 54
  
30
\begin{definition}
31
[Derived functions and notations]
32
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.
33
We define the functions $\succ 0 x , \succ 1 x$ as $2 x$ and $2x +1$ respectively.
55
%\begin{definition}
56
%[Derived functions and notations]
57
%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
%We define the functions $\succ 0 x , \succ 1 x$ as $2 x$ and $2x +1$ respectively.
59
%
60
%Need $bit$, $\beta$ , $\pair{}{}{}$.
61
%\end{definition}
62
%
63
%(Here use a variation of S12 with sharply bounded quantifiers and safe quantifiers)
64
%
65
%Use base theory + sharply bounded quantifiers.
34 66

  
35
Need $bit$, $\beta$ , $\pair{}{}{}$.
36
\end{definition}
37 67

  
38
(Here use a variation of S12 with sharply bounded quantifiers and safe quantifiers)
39

  
40
Use base theory + sharply bounded quantifiers.
41

  
42

  
43 68
\begin{definition}
44 69
[Quantifier hierarchy]
45
$\Sigma^\safe_0 = \Pi^\safe_0 $ is the set of formulae whose only quantifiers are sharply bounded.
70
$\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.
46 71
We define $\Sigma^\safe_{i+1}$ as the closure of $\Pi^\safe_i $ under $\cor, \cand $, safe existentials and sharply bounded quantifiers.
47 72
We define $\Pi^\safe_{i+1}$ as the closure of $\Sigma^\safe_i $ under $\cor, \cand $, safe universals and sharply bounded quantifiers.
48 73
\end{definition}
49 74

  
50 75

  
51
\anupam{Collection principles for prenexing? Otherwise need to add closure under sharply bounded quantifiers.}
52
\begin{definition}\label{def:polynomialinduction}
76
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
The criterion is purely to give an appropriate definition of the hierarchy above.
78

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

  
81

  
82
\begin{definition}
53 83
[Polynomial induction]
54
The \emph{polynomial induction} axiom schema, $\pind$, consists of the following axioms,
84
\label{def:polynomialinduction}
85
The \emph{polynomial induction} axiom schema, $\pind$, consists of the following axioms, for each formula $A(x)$:
55 86
\[
87
\left(
56 88
A(0) 
57
\cimp (\forall x^{\normal} . ( A(x) \cimp A(\succ{0} x) ) )
58
\cimp  (\forall x^{\normal} . ( A(x) \cimp A(\succ{1} x) ) ) 
89
\cand (\forall x^{\normal} . ( A(x) \cimp A(\succ{0} x) ) )
90
\cand  (\forall x^{\normal} . ( A(x) \cimp A(\succ{1} x) ) ) 
91
\right)
59 92
\cimp  \forall x^{\normal} . A(x)
60 93
\]
61
for each formula $A(x)$.
94
For a class $\Xi$ of formulae, $\cax{\Xi}{\pind}$ denotes the set of $\pind$ axioms where $A(x) \in \Xi$. 
62 95

  
63
For a class $\Xi$ of formulae, $\cax{\Xi}{\pind}$ denotes the set of induction axioms when $A(x) \in \Xi$. 
64

  
65 96
%We write $I\Xi$ to denote the theory consisting of $\basic$ and $\cax{\Xi}{\ind}$.
66 97
\end{definition}
67 98

  
68 99

  
69 100
\begin{definition}\label{def:ariththeory}
70
Define the theory $\arith^i$ consisting of the following axioms:
71
\begin{itemize}
72
	\item $\basic$;
73
	\item $\cpind{\Sigma^\safe_i } $:
74
\end{itemize}
75
and an inference rule, called $\rais$, for closed formulas $\exists y^\normal . A$:
101
Define the theory $\arith^i$ consisting of the $\basic$ axioms, $\cpind{\Sigma^\safe_i } $,
102
%\begin{itemize}
103
%	\item $\basic$;
104
%	\item $\cpind{\Sigma^\safe_i } $:
105
%\end{itemize}
106
and a particular inference rule, called $\rais$, for closed formulas $\forall x. \exists y. A$:
76 107
\[
77
 \dfrac{\forall \vec x^\normal . \exists  y^\safe .  A }{ \forall \vec x^\normal .\exists y^\normal . A}
108
 \dfrac{\proves \forall \vec x^\normal . \exists  y^\safe .  A }{ \proves \forall \vec x^\normal .\exists y^\normal . A}
78 109
\]
110
We will write $\arith^i \proves A$ if $A$ is a logical consequence of the axioms of $\arith^i$, in the usual way.
79 111
\end{definition}
80
\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)}
112
%\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
%
114
%\anupam{In induction,for inductive cases, need $u\neq 0$ for $\succ 0$ case.}
81 115

  
82
\anupam{In induction,for inductive cases, need $u\neq 0$ for $\succ 0$ case.}
116
\begin{remark}
117
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
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
	\end{remark}
83 120

  
84
It is often useful for us to work with \emph{length-induction}, which is equivalent to polynomial induction and well known from bounded arithmetic:
85
\begin{proposition}
86
	[Length induction]
87
	The axiom schema of formulae,
88
\begin{equation}
89
\label{eqn:lind}
90
	( A(0) \cand \forall x^\normal . (A(x) \cimp A(\succ{} x)) ) \cimp \forall x^\safe. A(|x|)
91
\end{equation}
92
	for formulae $A \in \Sigma^\safe_i$
93
	is equivalent to $\cpind{\Sigma^\safe_i}$.
94
\end{proposition}
95
\begin{proof}
96
	Suppose we have $A(0)$ and $A(a) \cimp A(\succ{} a)$ for each $a \in \normal$.
97
	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|)$.
98
\end{proof}
99 121

  
100
Let us refer to the axiom schema in \eqref{eqn:lind} as $\clind{\mathcal C}$, when $A \in \mathcal C$.
101
We will freely use this in place of polynomial induction whenever it is convenient.
102 122

  
103 123

  
104 124

  
105

  
106 125
\subsection{Graphs of some basic functions}\label{sect:graphsbasicfunctions}
107 126
%Todo: $+1$,  
108 127

  
109
We say that a function $f$ is represented by a formula $A_f$ if the arithmetic can prove (in the forthcoming proof system) 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 result of $f(\vec u; \vec x)$.
128
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)$.
110 129
 
111
Let us give a few examples of formulas representing basic functions.
130
Let us give a few examples for basic functions representable in $\arith^1$:
112 131
\begin{itemize}
113 132
\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$.
114 133
\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.
......
143 162

  
144 163

  
145 164
\subsection{A sequent calculus presentation}
165
\begin{figure}
166
	\[
167
	\small
168
	\begin{array}{l}
169
	\begin{array}{cccc}
170
	%\vlinf{\lefrul{\bot}}{}{p, \lnot{p} \seqar }{}
171
	%& \vlinf{\id}{}{p \seqar p}{}
172
	%& \vlinf{\rigrul{\bot}}{}{\seqar p, \lnot{p}}{}
173
	%& \vliinf{\cut}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi}
174
	\vlinf{id}{}{\Gamma, p \seqar p, \Delta }{}
175
	& \vliinf{cut}{}{\Gamma \seqar \Delta }{ \Gamma \seqar \Delta, A }{\Gamma, A \seqar \Delta}
176
	&&
177
	\\
178
	\noalign{\bigskip}
179
	%\noalign{\bigskip}
180
	\vliinf{\lefrul{\cor}}{}{\Gamma, A \cor B \seqar \Delta}{\Gamma , A \seqar \Delta}{\Gamma, B \seqar \Delta}
181
	&
182
	\vlinf{\lefrul{\cand}}{}{\Gamma, A\cand B \seqar \Delta}{\Gamma, A , B \seqar \Delta}
183
	&
184
	%\vlinf{\lefrul{\laand}}{}{\Gamma, A\laand B \seqar \Delta}{\Gamma, B \seqar \Delta}
185
	%\quad
186
	\vlinf{\rigrul{\cor}}{}{\Gamma \seqar \Delta, A \cor B}{\Gamma \seqar \Delta, A, B}
187
	&
188
	%\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A\laor B}{\Gamma \seqar \Delta, B}
189
	%\quad
190
	\vliinf{\rigrul{\cand}}{}{\Gamma \seqar \Delta, A \cand B }{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, B}
191
	\\
192
	\noalign{\bigskip}
193
	
194
	\vlinf{\lefrul{\neg}}{}{\Gamma, \neg A \seqar \Delta}{\Gamma \seqar A, \Delta}
195
	&
196
	
197
	\vlinf{\lefrul{\neg}}{}{\Gamma, \seqar \neg A, \Delta}{\Gamma, A \seqar  \Delta}
198
	&
199
	&
200
	%\vliinf{\lefrul{\cimp}}{}{\Gamma, A \cimp B \seqar \Delta}{\Gamma \seqar A, \Delta}{\Gamma, B \seqar \Delta}
201
	%&
202
	%
203
	%\vlinf{\rigrul{\cimp}}{}{\Gamma \seqar \Delta, A \cimp B}{\Gamma, A \seqar \Delta,  B}
204
	
205
	
206
	\\
207
	
208
	\noalign{\bigskip}
209
	%\text{Structural:} & & & \\
210
	%\noalign{\bigskip}
211
	
212
	%\vlinf{\lefrul{\wk}}{}{\Gamma, A \seqar \Delta}{\Gamma \seqar \Delta}
213
	%&
214
	\vlinf{\lefrul{\cntr}}{}{\Gamma, A \seqar \Delta}{\Gamma, A, A \seqar \Delta}
215
	%&
216
	%\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, A }{\Gamma \seqar \Delta}
217
	&
218
	\vlinf{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, A, A}
219
	&
220
	&
221
	\\
222
	\noalign{\bigskip}
223
	\vlinf{\lefrul{\exists}}{}{\Gamma, \exists x . A(x) \seqar \Delta}{\Gamma, A(a) \seqar \Delta}
224
	&
225
	\vlinf{\lefrul{\forall}}{}{\Gamma, \forall x. A(x) \seqar \Delta}{\Gamma, A(t) \seqar \Delta}
226
	&
227
	\vlinf{\rigrul{\exists}}{}{\Gamma \seqar \Delta, \exists x . A(x)}{ \Gamma \seqar \Delta, A(t)}
228
	&
229
	\vlinf{\rigrul{\forall}}{}{\Gamma \seqar \Delta, \forall x . A(x)}{ \Gamma \seqar \Delta, A(a) } \\
230
	%\noalign{\bigskip}
231
	% \vliinf{mix}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta}{\Sigma \seqar \Pi} &&&
232
	\end{array}
233
	\end{array}
234
	\]
235
	\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
\end{figure}
146 237

  
147
 We denote sequence as $\Gamma \seqar \Delta$ where $\Gamma$, $\Delta$ are multi sets of formulas. The sequent calculus rules are displayed on Fig. \ref{fig:sequentcalculus} in Appendix~\ref{sect:app-sequent-calculus}.
238
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
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
We introduce the required technical material here only briefly, due to space constraints.
148 241

  
242
A \emph{sequent} is an expression $\Gamma \seqar \Delta$ where $\Gamma$ and $\Delta$ are multisets of formulas. 
243
The inference rules of the sequent calculus $\LK$ are displayed in Fig.~\ref{fig:sequentcalculus}.
244
Of course, we have the following:
245
\begin{proposition}
246
	$A$ is a first-order theorem if and only if there is an $\LK$ proof of $\seqar A$.
247
\end{proposition}
248

  
149 249
%We consider \emph{systems} of `nonlogical' rules extending this sequent calculus, which we write as follows,
150 250
% \[
151 251
% \begin{array}{cc}
......
181 281
%
182 282
%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$.
183 283

  
184
We extend the purely logical calculus with certain non-logical rules and initial sequents corresponding to our theories $\arith^i$.
284
We extend this purely logical calculus with certain non-logical rules and initial sequents corresponding to our theories $\arith^i$.
185 285
 For instance the axiom $\pind$ of Def. \ref{def:polynomialinduction} is represented by the following rule:
186 286
\begin{equation}
187 287
\label{eqn:ind-rule}
188 288
\small
189 289
\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  }
190 290
\end{equation}
191
where $I=2$ and  in all cases, $t$ varies over arbitrary terms and the eigenvariable $a$ does not occur in the lower sequent of the $\pind$ rule.
192

  
193
Similarly the $\rais$ inference rule of Def. \ref{def:ariththeory} is represented by the nonlogical rule:
291
where $t$ varies over arbitrary terms and the eigenvariable $a$ does not occur in the lower sequent.
292
%
293
Similarly the $\rais$ inference rule of Dfn.~\ref{def:ariththeory} is represented by the nonlogical rule,
194 294
 \[
195 295
 \begin{array}{cc}
196 296
    \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}
......
204 304
%\end{array}
205 305
%\]
206 306
%}
207

  
208
The $\basic$ axioms are equivalent to the following nonlogical rules, that we will also designate by $\basic$:
307
%
308
and the $\basic$ axioms are represented by designated initial sequents.
309
For instance here are some initial sequents corresponding to some of the $\basic$ axioms:
209 310
\[
210 311
\small
211 312
\begin{array}{l}
......
226 327
\end{array}
227 328
\]
228 329

  
229
 The sequent calculus for $\arith^i$ is that of Fig. \ref{fig:sequentcalculus} extended with the $\basic$,  $\cpind{\Sigma^\safe_i } $ and $\rais$ nonlogical rules.
330
The sequent system for $\arith^i$ extends $\LK$ by the $\basic$,  $\cpind{\Sigma^\safe_i } $ and $\rais$ nonlogical rules.
331
 Naturally, by completeness, we have that $\arith^i \proves A$ if and only if there is a sequent proof of $\seqar A$.
332
 In fact, by \emph{free-cut elimination} results \cite{Takeuti87,Cook:2010:LFP:1734064} we may actually say something much stronger.
230 333
 
231
\todo{Present typed variable free-cut free form.}
232
\anupam{I cut-and-pasted the rest of this section into appendices to save space. Move things back gradually.}
233

  
334
 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
 
234 336
\begin{theorem}
235 337
	[Typed variable normal form]
236 338
	\label{thm:normal-form}
237
\end{theorem}
339
	If $\arith^i\proves  A$ then there is a $\arith^i$ sequent proof $\pi$ of $A$ such that each line has the form:
340
	\[
341
	\normal(\vec u), \safe (\vec x), \Gamma \seqar \Delta
342
	\]
343
	where $\Gamma \seqar \Delta$ contains only $\Sigma^\safe_i$ formulae for which the sorting $(\vec u ;\vec x)$ is compatible.
344
\end{theorem}
345

  
346
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
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.
CSL17/ph-macros.tex (revision 227)
38 38
\newcommand{\proves}{\vdash}
39 39

  
40 40
\renewcommand{\epsilon}{\varepsilon}
41
\newcommand{\pred}{p}
42
\renewcommand{\succ}[1]{s_{#1}}
41
\newcommand{\pred}{\mathsf{p}}
42
\renewcommand{\succ}[1]{\mathsf{s}_{#1}}
43 43
\newcommand{\hlf}[1]{\lfloor \frac{#1}{2}\rfloor}
44 44
\newcommand{\cond}{C}
45 45
\newcommand{\smsh}{\#}
......
106 106
	\newcommand{\cntr}{\mathit{cntr}}
107 107
	\newcommand{\rais}{\mathit{raise}}
108 108
 
109
	
109
	\newcommand{\LK}{\mathit{LK}}
110 110
% theories
111 111
	\newcommand{\theory}{\mathcal T}
112 112
	\newcommand{\system}{\mathcal S}
CSL17/appendix-arithmetic.tex (revision 227)
4 4
%$\succ{0}(x)$ stand for $2\cdot x$ and $\succ{1}(x)$ stand for $\succ{}(2\cdot x)$,
5 5
 
6 6
 
7
 \[
8
 \begin{array}{l}
9
 \safe (0) \\
10
 \forall x^\safe . \safe (\succ{} x) \\
11
 \forall x^\safe . 0 \neq \succ{} (x) \\
12
 \forall x^\safe , y^\safe . (\succ{} x = \succ{} y \cimp x = y) \\
13
 \forall x^\safe . (x = 0 \cor \exists y^\safe.\  x = \succ{} y   )\\
14
 \forall x^\safe, y^\safe . \safe(x+y)\\
15
 \forall u^\normal, x^\safe . \safe(u\times x) \\
16
 \forall u^\normal , v^\normal . \safe (u \smsh v)\\
17
 \forall u^\normal \safe(u) \\
18
 \forall u^\safe \safe(\hlf{u})\\
19
 \forall u^\normal \safe(|x|)  
20
 \end{array}
21
 \]
22
 
23 7
$$
24 8
%\begin{equation}
25 9
\begin{array}{l}
......
57 41
   \forall x^{\safe}, y^{\normal}.     x= \hlf{y} \leftrightarrow (\succ{0}x=y \cor \succ{}(\succ{0}x)=y)
58 42
 \end{array}
59 43
%\end{equation}
60
$$
44
$$
45

  
46
It is often useful for us to work with \emph{length-induction}, which is equivalent to polynomial induction and well known from bounded arithmetic:
47
\begin{proposition}
48
	[Length induction]
49
	The axiom schema of formulae,
50
	\begin{equation}
51
	\label{eqn:lind}
52
	( A(0) \cand \forall x^\normal . (A(x) \cimp A(\succ{} x)) ) \cimp \forall x^\safe. A(|x|)
53
	\end{equation}
54
	for formulae $A \in \Sigma^\safe_i$
55
	is equivalent to $\cpind{\Sigma^\safe_i}$.
56
\end{proposition}
57
\begin{proof}
58
	Suppose we have $A(0)$ and $A(a) \cimp A(\succ{} a)$ for each $a \in \normal$.
59
	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|)$.
60
\end{proof}
61

  
62
Let us refer to the axiom schema in \eqref{eqn:lind} as $\clind{\mathcal C}$, when $A \in \mathcal C$.
63
We will freely use this in place of polynomial induction whenever it is convenient.
CSL17/appendix-sequent-calculus.tex (revision 227)
2 2
\label{sect:app-sequent-calculus}
3 3

  
4 4

  
5
\begin{figure}
6
	\[
7
	\small
8
	\begin{array}{l}
9
	\begin{array}{cccc}
10
	%\vlinf{\lefrul{\bot}}{}{p, \lnot{p} \seqar }{}
11
	%& \vlinf{\id}{}{p \seqar p}{}
12
	%& \vlinf{\rigrul{\bot}}{}{\seqar p, \lnot{p}}{}
13
	%& \vliinf{\cut}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi}
14
	\vlinf{id}{}{\Gamma, p \seqar p, \Delta }{}
15
	& \vliinf{cut}{}{\Gamma \seqar \Delta }{ \Gamma \seqar \Delta, A }{\Gamma, A \seqar \Delta}
16
	&&
17
	\\
18
	\noalign{\bigskip}
19
	%\noalign{\bigskip}
20
	\vliinf{\lefrul{\cor}}{}{\Gamma, A \cor B \seqar \Delta}{\Gamma , A \seqar \Delta}{\Gamma, B \seqar \Delta}
21
	&
22
	\vlinf{\lefrul{\cand}}{}{\Gamma, A\cand B \seqar \Delta}{\Gamma, A , B \seqar \Delta}
23
	&
24
	%\vlinf{\lefrul{\laand}}{}{\Gamma, A\laand B \seqar \Delta}{\Gamma, B \seqar \Delta}
25
	%\quad
26
	\vlinf{\rigrul{\cor}}{}{\Gamma \seqar \Delta, A \cor B}{\Gamma \seqar \Delta, A, B}
27
	&
28
	%\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A\laor B}{\Gamma \seqar \Delta, B}
29
	%\quad
30
	\vliinf{\rigrul{\cand}}{}{\Gamma \seqar \Delta, A \cand B }{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, B}
31
	\\
32
	\noalign{\bigskip}
5

  
33 6
	
34
	\vlinf{\lefrul{\neg}}{}{\Gamma, \neg A \seqar \Delta}{\Gamma \seqar A, \Delta}
35
	&
36 7
	
37
	\vlinf{\lefrul{\neg}}{}{\Gamma, \seqar \neg A, \Delta}{\Gamma, A \seqar  \Delta}
38
	&
39
	&
40
	%\vliinf{\lefrul{\cimp}}{}{\Gamma, A \cimp B \seqar \Delta}{\Gamma \seqar A, \Delta}{\Gamma, B \seqar \Delta}
41
	%&
42
	%
43
	%\vlinf{\rigrul{\cimp}}{}{\Gamma \seqar \Delta, A \cimp B}{\Gamma, A \seqar \Delta,  B}
44 8
	
45
	
46
	\\
47
	
48
	\noalign{\bigskip}
49
	%\text{Structural:} & & & \\
50
	%\noalign{\bigskip}
51
	
52
	%\vlinf{\lefrul{\wk}}{}{\Gamma, A \seqar \Delta}{\Gamma \seqar \Delta}
53
	%&
54
	\vlinf{\lefrul{\cntr}}{}{\Gamma, A \seqar \Delta}{\Gamma, A, A \seqar \Delta}
55
	%&
56
	%\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, A }{\Gamma \seqar \Delta}
57
	&
58
	\vlinf{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, A, A}
59
	&
60
	&
61
	\\
62
	\noalign{\bigskip}
63
	\vlinf{\lefrul{\exists}}{}{\Gamma, \exists x . A(x) \seqar \Delta}{\Gamma, A(a) \seqar \Delta}
64
	&
65
	\vlinf{\lefrul{\forall}}{}{\Gamma, \forall x. A(x) \seqar \Delta}{\Gamma, A(t) \seqar \Delta}
66
	&
67
	\vlinf{\rigrul{\exists}}{}{\Gamma \seqar \Delta, \exists x . A(x)}{ \Gamma \seqar \Delta, A(t)}
68
	&
69
	\vlinf{\rigrul{\forall}}{}{\Gamma \seqar \Delta, \forall x . A(x)}{ \Gamma \seqar \Delta, A(a) } \\
70
	%\noalign{\bigskip}
71
	% \vliinf{mix}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta}{\Sigma \seqar \Pi} &&&
72
	\end{array}
73
	\end{array}
74
	\]
75
	\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}
76
	\end{figure}
77
	
78
	
79
	
80 9
	 \begin{lemma}
81 10
	 	For any term $t$, its free variables can be split in two sets $\vec{x}$ and $\vec{y}$ such  that the sequent $\normal(\vec x), \safe(\vec y) \seqar \safe(t)$ is provable. 
82 11
	 \end{lemma}
CSL17/soundness.tex (revision 227)
43 43
%
44 44
%Notice that $\eq$ is a polymax bounded polyomial checking function on its normal input, and so can be added to $\mubc$ without problems.
45 45

  
46
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$-types of terms (see App.~\ref{appendix:arithmetic}). 
46

  
47 47
In the presence of a compatible sorting, we may easily define functions that \emph{evaluate} safe formulae in $\mubc$:
48 48

  
49 49

  
......
55 55
We will use the programs $\charfn{}{}$ in the witness functions we define below.
56 56
Let us write $\charfn{}{i}$ to denote the class of functions $\charfn{}{A}$ for $A \in \Pi^\safe_{i-1}$.
57 57
For the notion of bounding polynomial below we are a little informal with bounds, using `big-oh' notation, since it will suffice just to be `sufficiently large'.
58
Notice that, while we write $p(l)$ below, we really mean a polynomial in the \emph{length} of $l$, as a slight abuse of notation.
58 59

  
59 60

  
60 61
\begin{definition}
......
156 157
		Suppose $\arith^i \proves \forall \vec u^\normal . \exists x^\safe . A(\vec u ; x)$. By inversion and Thm.~\ref{thm:normal-form} there is a $\arith^i$ proof $\pi$ of $\normal (\vec u ) \seqar \exists x^\safe. A(\vec u ; x )$ in typed variable normal form.
157 158
By Lemma~\ref{lem:proof-interp}, we have a $\mubci{i-1}$ function $f^\pi$ with $\wit{\vec u ;}{\exists x^\safe . A} (l, \vec u ; f(\vec u \mode l;)) =1$.
158 159
By the definition of $\wit{}{}$ and Prop.~\ref{prop:wit-rfn} we have that $\exists x . A(\vec u \mode l; x)$ is true just if $A(\vec u \mode l ; \beta (q(l), 1 ; f(\vec u \mode l;) ))$ is true.
159
Now, since all $\vec u$ are normal, we may simply set $l$ to have a longer length than all of these arguments, so the function $f(\vec u;) \dfn \beta (q(\sum \vec u), 1 ; f(\vec u \mode \sum \vec u;) ))$ suffices.
160
Now, since all $\vec u$ are normal, we may simply set $l$ to have a longer length than all of these arguments, so the function $f(\vec u;) \dfn \beta (q(\sum \vec u), 1 ; f(\vec u \mode \sum \vec u;) ))$ suffices to finish the proof.
160 161
	\end{proof}

Formats disponibles : Unified diff