Statistiques
| Révision :

root / CSL16 / final-version / main.tex @ 254

Historique | Voir | Annoter | Télécharger (141,32 ko)

1 123 adas
%\documentclass[a4paper]{article}
2 123 adas
\documentclass[a4paper,UKenglish]{lipics-v2016}
3 123 adas
%This is a template for producing LIPIcs articles.
4 123 adas
%See lipics-manual.pdf for further information.
5 123 adas
%for A4 paper format use option "a4paper", for US-letter use option "letterpaper"
6 123 adas
%for british hyphenation rules use option "UKenglish", for american hyphenation rules use option "USenglish"
7 123 adas
% for section-numbered lemmas etc., use "numberwithinsect"
8 123 adas
9 123 adas
\usepackage{microtype}%if unwanted, comment out or use option "draft"
10 123 adas
11 123 adas
%\graphicspath{{./graphics/}}%helpful if your graphic files are in another directory
12 123 adas
13 123 adas
\bibliographystyle{plainurl}% the recommended bibstyle
14 123 adas
15 123 adas
16 123 adas
17 123 adas
18 123 adas
\usepackage[lutzsyntax]{virginialake}
19 123 adas
\usepackage{amsmath}
20 123 adas
\usepackage{amssymb}
21 123 adas
\usepackage{amsthm}
22 123 adas
\usepackage{times}
23 123 adas
%\usepackage{sans}
24 123 adas
\usepackage{cmll}
25 123 adas
\usepackage{bm}
26 123 adas
27 123 adas
28 126 adas
29 126 adas
%\newtheorem{theorem}{Theorem}    %% Patrick: added for 'article' class version
30 126 adas
%\newtheorem{maintheorem}[theorem]{Main Theorem}
31 126 adas
%\newtheorem{observation}[theorem]{Observation}
32 126 adas
%\newtheorem{corollary}[theorem]{Corollary}
33 126 adas
%\newtheorem{lemma}[theorem]{Lemma}
34 126 adas
\theoremstyle{plain}
35 126 adas
\newtheorem{proposition}[theorem]{Proposition}
36 126 adas
%\newtheorem{conjecture}[theorem]{Conjecture}
37 126 adas
%
38 126 adas
%\theoremstyle{definition}
39 126 adas
%\newtheorem{definition}[theorem]{Definition}
40 126 adas
%\newtheorem{example}[theorem]{Example}
41 126 adas
%\newtheorem{notation}[theorem]{Notation}
42 126 adas
%\newtheorem{convention}[theorem]{Convention}
43 126 adas
%\newtheorem{remark}[theorem]{Remark}
44 126 adas
%\newtheorem{discussion}[theorem]{Discussion}
45 126 adas
46 126 adas
\newcommand{\todo}[1]{{\color{red}{\textbf{Todo:} #1}}}
47 126 adas
\newcommand{\anupam}[1]{{\color{orange}{\textbf{Anupam:} #1}}}
48 126 adas
\newcommand{\patrick}[1]{{\color{blue}{\textbf{Patrick:} #1}}}
49 126 adas
50 126 adas
\newcommand{\IH}{\mathit{IH}}
51 126 adas
52 126 adas
\newcommand{\defined}{:=}
53 126 adas
54 126 adas
\newcommand{\LL}{\it{LL}}
55 126 adas
\vllineartrue
56 126 adas
57 126 adas
58 126 adas
\newcommand{\FV}{\mathit{FV}}
59 126 adas
60 126 adas
61 126 adas
%specification
62 126 adas
63 126 adas
\newcommand{\eqspec}{\mathcal E}
64 126 adas
\newcommand{\closure}[1]{\overline{#1}}
65 126 adas
66 126 adas
\newcommand{\conv}{\mathit{Conv}}
67 126 adas
68 126 adas
% theories
69 126 adas
\newcommand{\theory}{\mathcal T}
70 126 adas
\newcommand{\system}{\mathcal S}
71 126 adas
72 126 adas
73 126 adas
%terms
74 126 adas
\newcommand{\pred}{p}
75 126 adas
\newcommand{\cond}{C}
76 126 adas
\renewcommand{\succ}{\mathsf{s}}
77 126 adas
\renewcommand{\epsilon}{\varepsilon}
78 126 adas
79 126 adas
% linear connectives
80 126 adas
81 126 adas
\newcommand{\limp}{\multimap}
82 126 adas
\renewcommand{\land}{\otimes}
83 126 adas
\newcommand{\laand}{\&}
84 126 adas
\newcommand{\laor}{\oplus}
85 126 adas
\renewcommand{\lor}{\vlpa}
86 126 adas
\renewcommand{\lnot}[1]{{#1^{\perp}}}
87 126 adas
\newcommand{\lnotnot}[1]{#1^{\perp \perp}}
88 126 adas
89 126 adas
% classical connectives
90 126 adas
91 126 adas
\newcommand{\cimp}{\rightarrow}
92 126 adas
\newcommand{\cand}{\wedge}
93 126 adas
\newcommand{\cor}{\vee}
94 126 adas
\newcommand{\cnot}{\neg}
95 126 adas
96 126 adas
97 126 adas
\newcommand{\Ax}{\mathit{(Ax)}}
98 126 adas
\newcommand{\Rl}{\mathit{(Rl)}}
99 126 adas
100 126 adas
\newcommand{\MELL}{\mathit{MELL}}
101 126 adas
\newcommand{\MEAL}{\mathit{MELLW}}
102 126 adas
\newcommand{\MELLW}{\mathit{MELL(W)}}
103 126 adas
104 126 adas
\newcommand{\Aonetwo}{\mathcal{A}^1_2}
105 126 adas
\newcommand{\logic}{\mathit{L}_{\mathcal A} }
106 126 adas
107 126 adas
% predicates
108 126 adas
\newcommand{\nat}{N}
109 126 adas
\newcommand{\word}{W}
110 126 adas
111 126 adas
\newcommand{\Nat}{\mathbb{N}}
112 126 adas
\newcommand{\Word}{\mathbb{W}}
113 126 adas
114 126 adas
%axioms
115 126 adas
\newcommand{\wk}{\mathit{wk}}
116 126 adas
\newcommand{\impl}{\cimp\text{-}\mathit{l}}
117 126 adas
\newcommand{\impcomm}{\mathit{com}}
118 126 adas
\newcommand{\conint}{\cand\text{-}\mathit{i}}
119 126 adas
\newcommand{\conel}{\cand\text{-}\mathit{e}}
120 126 adas
\newcommand{\negclass}{\cnot}
121 126 adas
122 126 adas
%equality
123 126 adas
\newcommand{\refl}{\mathit{ref}}
124 126 adas
\newcommand{\symm}{\mathit{sym}}
125 126 adas
\newcommand{\trans}{\mathit{trans}}
126 126 adas
\newcommand{\subst}{\mathit{sub}}
127 126 adas
128 126 adas
%rules
129 126 adas
\newcommand{\inv}[1]{#1\text{-inv}}
130 126 adas
131 126 adas
\renewcommand{\mp}{\mathit{mp}}
132 126 adas
\newcommand{\gen}{\mathit{gen}}
133 126 adas
\newcommand{\inst}{\mathit{ins}}
134 126 adas
\newcommand{\id}{\it{id}}
135 126 adas
\newcommand{\cut}{\it{cut}}
136 126 adas
\newcommand{\multicut}{\it{mcut}}
137 126 adas
\newcommand{\indr}{\mathit{PIND}}
138 126 adas
\newcommand{\nec}{\mathit{nec}}
139 126 adas
\newcommand{\tax}{\mathit{T}}
140 126 adas
\newcommand{\four}{\mathit{4}}
141 126 adas
\newcommand{\kax}{\mathit{K}}
142 126 adas
\newcommand{\cntr}{\mathit{cntr}}
143 126 adas
144 126 adas
\newcommand{\lefrul}[1]{#1\text{-}\mathit{l}}
145 126 adas
\newcommand{\rigrul}[1]{#1\text{-}\mathit{r}}
146 126 adas
147 126 adas
%consequence relations
148 126 adas
\newcommand{\admits}{\vDash}
149 126 adas
\newcommand{\seqar}{\vdash}
150 126 adas
\newcommand{\proves}{\vdash_e}
151 126 adas
152 126 adas
%induction
153 126 adas
\newcommand{\ind}{\mathit{PIND}}
154 126 adas
\newcommand{\pind}{\mathit{PIND}}
155 126 adas
\newcommand{\cax}[2]{#1\text{-}#2}
156 126 adas
157 126 adas
\newcommand{\sigone}{\Sigma^{\word^+}_1 }
158 126 adas
\newcommand{\sigzer}{\Sigma^{\word^+}_0}
159 126 adas
\newcommand{\bharith}{\mathcal A^1_2}
160 126 adas
\newcommand{\arith}{I\sigone}
161 126 adas
162 126 adas
163 126 adas
164 126 adas
% sizes
165 126 adas
\newcommand{\height}[1]{\mathit{h}(#1)}
166 126 adas
167 126 adas
168 123 adas
\begin{document}
169 123 adas
170 123 adas
% Author macros::begin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
171 123 adas
\title{Free-cut elimination in linear logic and an application to a feasible arithmetic\footnote{
172 123 adas
This work was supported by by the ANR Project ELICA ANR-14-CE25-0005 and by the LABEX MILYON (ANR-10-LABX-0070) of Universit\'e de Lyon, within the program "Investissements d'Avenir" (ANR-11-IDEX-
173 123 adas
0007) operated by the French National Research Agency (ANR).}
174 123 adas
}
175 123 adas
%\titlerunning{A Sample LIPIcs Article} %optional, in case that the title is too long; the running title should fit into the top page column
176 123 adas
177 123 adas
%% Please provide for each author the \author and \affil macro, even when authors have the same affiliation, i.e. for each author there needs to be the  \author and \affil macros
178 123 adas
\author{Patrick Baillot}
179 123 adas
\author{Anupam Das}
180 123 adas
\affil{Univ Lyon, CNRS, ENS de Lyon, UCB Lyon 1, LIP
181 123 adas
%	\\
182 123 adas
%	\texttt{open@dummyuniversity.org}
183 123 adas
	}
184 123 adas
%\affil[1]{Dummy University Computing Laboratory, Address/City, Country\\
185 123 adas
%  \texttt{open@dummyuniversity.org}}
186 123 adas
%\affil[2]{Department of Informatics, Dummy College, Address/City, Country\\
187 123 adas
%  \texttt{access@dummycollege.org}}
188 123 adas
\authorrunning{P.\ Baillot and A.\ Das} %mandatory. First: Use abbreviated first/middle names. Second (only in severe cases): Use first author plus 'et. al.'
189 123 adas
190 123 adas
\Copyright{Patrick Baillot and Anupam Das}%mandatory, please use full first names. LIPIcs license is "CC-BY";  http://creativecommons.org/licenses/by/3.0/
191 123 adas
192 123 adas
%\subjclass{Dummy classification -- please refer to \url{http://www.acm.org/about/class/ccs98-html}}% mandatory: Please choose ACM 1998 classifications from http://www.acm.org/about/class/ccs98-html . E.g., cite as "F.1.1 Models of Computation".
193 123 adas
%\keywords{Dummy keyword -- please provide 1--5 keywords}% mandatory: Please provide 1-5 keywords
194 123 adas
%% Author macros::end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
195 123 adas
196 123 adas
%Editor-only macros:: begin (do not touch as author)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
197 123 adas
%\EventEditors{John Q. Open and Joan R. Acces}
198 123 adas
%\EventNoEds{2}
199 123 adas
%\EventLongTitle{42nd Conference on Very Important Topics (CVIT 2016)}
200 123 adas
%\EventShortTitle{CVIT 2016}
201 123 adas
%\EventAcronym{CVIT}
202 123 adas
%\EventYear{2016}
203 123 adas
%\EventDate{December 24--27, 2016}
204 123 adas
%\EventLocation{Little Whinging, United Kingdom}
205 123 adas
%\EventLogo{}
206 123 adas
%\SeriesVolume{42}
207 123 adas
%\ArticleNo{23}
208 123 adas
% Editor-only macros::end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
209 123 adas
210 123 adas
\maketitle
211 123 adas
212 123 adas
\begin{abstract}
213 123 adas
We prove a general form of `free-cut elimination' for first-order theories in linear logic, yielding normal forms of proofs where cuts are anchored to nonlogical steps. To demonstrate the usefulness of this result, we consider a version of arithmetic in linear logic, based on a previous axiomatisation by Bellantoni and Hofmann. We prove a witnessing theorem for a fragment of this arithmetic via the `witness function method', showing that the provably convergent functions are precisely the polynomial-time functions. The programs extracted are implemented in the framework of `safe' recursive functions, due to Bellantoni and Cook, where the ! modality of linear logic corresponds to normal inputs of a safe recursive program.
214 123 adas
%We conclude with some comments for further applications of the free-cut elimination result.
215 123 adas
 \end{abstract}
216 123 adas
217 123 adas
218 123 adas
219 126 adas
\section{Introduction}
220 126 adas
%\anupam{i put all the notes/suggestions at the end, before references.}
221 123 adas
222 126 adas
\emph{Free-cut elimination}\footnote{Also known as \emph{anchored} or \emph{directed} completeness, \emph{partial} cut-elimination or \emph{weak} cut-elimination in other works.} is a normalisation procedure on formal proofs in systems including nonlogical rules, e.g.\ the axioms and induction rules in arithmetic, introduced in \cite{Takeuti87}. It yields proofs in a form where, essentially, each cut step has at least one of its cut formulas principal for a nonlogical step. It is an important tool for proving witnessing theorems in first-order theories, and in particular it has been extensively used in \emph{bounded arithmetic} for proving complexity bounds on representable functions, by way of the \textit{witness function method} \cite{Buss86book}.
223 123 adas
224 126 adas
Linear logic \cite{Girard87} is a decomposition of both intuitionistic and classical logic, based on a careful analysis of duplication and erasure of formulas. It has been useful in proofs-as-programs correspondences, proof search \cite{Andreoli92} and logic programming \cite{Miller04}. By controlling  structural rules with designated modalities, the \textit{exponentials}, linear logic has allowed for a fine study of complexity bounds in the Curry-Howard interpretation, inducing variants with polynomial-time complexity \cite{GirardSS92:bounded-ll} \cite{Girard98} \cite{Lafont04}.
225 126 adas
%   However most of this work has been done for 'purely logical' linear logic, or at least for variants with full cut elimination procedure.
226 123 adas
227 126 adas
In this work we explore how the finer granularity of linear logic can be used to control complexity in \emph{first-order theories}, restricting the provably convergent functions rather than the typable terms as in the propositional setting.
228 126 adas
%     aim at exploring in which way the complementary techniques of free-cut elimination and linear logic can be combined to analyze properties of first-order theories in which structural rules play a critical r\^ole.
229 126 adas
We believe this to be of general interest, in particular to understand the effect of substructural restrictions on nonlogical rules, e.g.\ induction, in mathematical theories. Some related works exist, e.g.\ the na\"ive set theories of Girard and Terui \cite{Girard94:lll} \cite{Terui04}, but overall it seems that the first-order proof theory of linear logic is still rather undeveloped; in particular, to our knowledge, there seems to be no general form of free-cut elimination available in the literature (although special cases occur in \cite{LincolnMSS92} and \cite{Baelde12}). Thus our first contribution, in Sect.~\ref{sect:free-cut-elim}, is to provide general sufficient conditions on nonlogical rules for a first-order linear logic system to admit free-cut elimination.
230 123 adas
231 126 adas
\newcommand{\FP}{\mathbf{FP}}
232 123 adas
233 123 adas
234 126 adas
We illustrate the usefulness of this result by proving a witnessing theorem for an arithmetic in linear logic, showing that the provably convergent functions are precisely the polynomial-time computable functions (Sects.~\ref{sect:bc-convergence} and \ref{sect:wfm}), henceforth denoted $\FP$. Our starting point is an axiomatisation $\mathcal{A}_2^1$ from \cite{BelHof:02}, based on a modal logic, already known to characterise $\FP$.
235 126 adas
%    In this system ,following Leivant \cite{Leivant94:intrinsic-theories} functions are defined by first-order equational specifications.
236 126 adas
%    The main result of $\mathcal{A}_2^1$ is then that the provably total functions are exactly the polynomial time class.
237 126 adas
This approach, and that of \cite{Leivant94:found-delin-ptime} before, differs from the bounded arithmetic approach since it does not employ bounds on quantifiers, but rather restricts nonlogical rules by substructural features of the modality \cite{BelHof:02} or by \emph{ramification} of formulas  \cite{Leivant94:intrinsic-theories}. The proof technique employed in both cases is a realisability argument, for which \cite{Leivant94:found-delin-ptime} operates directly in intuitionistic logic, whereas \cite{BelHof:02} obtains a result for a classical logic via a double-negation translation, relying on a higher-type generalisation of \emph{safe recursion}
238 126 adas
%     which is applied to an intuitionistic version of the theory. In  \cite{BelHof:02} the target language of the realizability argument is a higher-order language \cite{Hofmann00}, SLR, based on safe recursion
239 126 adas
\cite{BellantoniCook92}.
240 126 adas
%     In a second step the result is extended to the classical variant $\mathcal{A}_2^1$ by using the Friedman A translation.
241 123 adas
242 126 adas
We show that Buss' witness function method can be employed to extract functions directly for classical systems similar to $\mathcal{A}_2^1$ based in linear logic, by taking advantage of free-cut elimination. The De Morgan normal form available in classical (linear) logic means that the functions we extract remain at ground type, based on the usual safe recursive programs of \cite{BellantoniCook92}. A similar proof method was used by Cantini in \cite{Cantini02}, who uses combinatory terms as the model of computation as opposed to the equational specifications in this work.\footnote{This turns out to be important due to the handling of right-contraction steps in the witnessing argument.}
243 123 adas
244 126 adas
%    We show that the witness function method can be employed to extract functions directly for classical systems similar to $\mathcal{A}_2^1$ based on linear logic, taking advantage of free-cut elimination. De Morgan normal forms available in classical (linear) logic mean that extracted functions remain at ground type, based on the safe recursive programs of \cite{BellantoniCook92}. A similar proof method was used by Cantini \cite{Cantini02} using combinatory logic as the model of computation as opposed to the equational specifications in this work.\footnote{This turns out to be important due to the handling of right-contraction steps in the witnessing argument.}
245 123 adas
246 126 adas
Our result holds for an apparently weaker theory than $\mathcal{A}_2^1$, with induction restricted to positive existential formulas in a way similar to Leivant's $\mathit{RT}_0$ system in \cite{Leivant94:intrinsic-theories} (see also \cite{Marion01}), but the precise relationship between the two logical settings is unclear.
247 126 adas
%
248 126 adas
%   Our result holds for an apparently weaker theory than $\mathcal{A}_2^1$, with induction restricted to positive existential formulas in a way similar to Leivant's $\mathit{RT}_0$ system in \cite{Leivant94:intrinsic-theories}, but the precise relationship between the two logical settings is unclear.
249 126 adas
%    We illustrate in the same time the relationship between  $\mathcal{A}_2^1$ and linear logic, which was hinted but not investigated in the original paper  \cite{BelHof:02}.
250 126 adas
We conclude in Sect.~\ref{sect:conclusions} with a survey of related work and some avenues for further applications of the free-cut elimination result.
251 126 adas
252 126 adas
%More detailed proofs of the various results herein can be found in the appendices, Sects.~\ref{sect:app-preliminaries}-\ref{sect:app-wfm}.
253 126 adas
254 126 adas
A version of this article containing further proof details in appendices is available \cite{BaiDas}.
255 126 adas
%in the appendices, Sects.~\ref{sect:app-preliminaries}-\ref{sect:app-wfm}.
256 126 adas
%Everything else remains the same, with the exception of this paragraph.
257 126 adas
258 126 adas
259 126 adas
\section{Preliminaries}
260 126 adas
\label{sect:preliminaries}
261 126 adas
%
262 126 adas
%\todo{consider removing and just have a section on linear logic, including free-cut elimination.}
263 126 adas
264 126 adas
265 126 adas
%
266 126 adas
%
267 126 adas
%\paragraph*{Notation}
268 126 adas
%Fix conventions here for use throughout:
269 126 adas
%\begin{itemize}
270 126 adas
%\item Eigenvariables: $a, b , c$.
271 126 adas
%\item (Normal) variables: $u,v,w$. (only when distinction is important, e.g.\ $u^{!\nat}$).
272 126 adas
%\item (Safe) variables: $x,y,z$. (as above, e.g.\ $x^\nat$.)
273 126 adas
%\item Terms: $r,s,t$.
274 126 adas
%\item Formulae: $A,B,C$.
275 126 adas
%\item Atomic formulae: $p,q$.
276 126 adas
%\item Free variables in a term, formula, sequent: $FV(u)$, $FV(A)$, $FV(\Gamma)$
277 126 adas
%\item Sequents: $\Gamma, \Delta, \Sigma, \Pi$.
278 126 adas
%\item lists of formulas $A(\vec{x})$, $!A(\vec{x})$ (in particular for $A=N$).
279 126 adas
%\item Proofs: $\pi, \rho, \sigma$.
280 126 adas
%\item Theories: $\mathcal T$. Sequent systems: $\mathcal S$.
281 126 adas
%\end{itemize}
282 126 adas
%
283 126 adas
%\subsection{Linear logic}
284 126 adas
285 126 adas
%\anupam{use a system that is already in De Morgan form, for simplicity.}
286 126 adas
%\anupam{Have skipped units, can reconsider this when in arithmetic. Also in affine setting can be recovered by any contradiction/tautology.}
287 126 adas
288 126 adas
We formulate linear logic without units with usual notation for the multiplicatives, additives and exponentials from \cite{Girard87}. We restrict negation to the atoms, so that formulae are always in De Morgan normal form,
289 126 adas
%and this is reflected in the sequent system below. We have included
290 126 adas
and we also consider
291 126 adas
rules for arbitrary weakening when working in affine settings.
292 126 adas
293 126 adas
%\anupam{positive and negative.}
294 126 adas
295 126 adas
296 126 adas
297 126 adas
298 126 adas
299 126 adas
\begin{definition}
300 126 adas
	%[Sequent calculus for linear logic]
301 126 adas
	%[Sequent calculus for affine linear logic]
302 126 adas
	\label{def:LLsequentcalculus}
303 126 adas
	The sequent calculus for (affine) linear logic is as follows:\footnote{We consider a two-sided system since it is more intuitive for certain nonlogical rules, e.g.\ induction, and also convenient for the witness function method we use in Sect.~\ref{sect:wfm}.}
304 126 adas
	\[
305 126 adas
	\small
306 126 adas
	\begin{array}{l}
307 126 adas
	\begin{array}{cccc}
308 126 adas
	\vlinf{\lefrul{\bot}}{}{p, \lnot{p} \seqar }{}
309 126 adas
	& \vlinf{\id}{}{p \seqar p}{}
310 126 adas
	& \vlinf{\rigrul{\bot}}{}{\seqar p, \lnot{p}}{}
311 126 adas
	& \vliinf{\cut}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi}
312 126 adas
	\\
313 126 adas
	\noalign{\bigskip}
314 126 adas
	%\text{Multiplicatives:} & & & \\
315 126 adas
	%\noalign{\bigskip}
316 126 adas
	\vliinf{\lefrul{\lor}}{}{\Gamma,\Sigma, A \lor B \seqar \Delta, \Pi}{\Gamma, A \seqar \Delta}{\Sigma , B \seqar \Pi}
317 126 adas
	&
318 126 adas
	\vlinf{\lefrul{\land}}{}{\Gamma, A\land B \seqar \Delta}{\Gamma, A , B \seqar \Delta}
319 126 adas
	&
320 126 adas
	\vlinf{\rigrul{\lor}}{}{\Gamma \seqar \Delta, A \lor B}{\Gamma \seqar \Delta, A, B}
321 126 adas
	&
322 126 adas
	\vliinf{\rigrul{\land}}{}{\Gamma, \Sigma \seqar \Delta , \Pi , A \land B}{\Gamma \seqar \Delta , A}{\Sigma \seqar \Pi , B}
323 126 adas
	\\
324 126 adas
	\noalign{\bigskip}
325 126 adas
	%\text{Additives:} & & & \\
326 126 adas
	%\noalign{\bigskip}
327 126 adas
	\vliinf{\lefrul{\laor}}{}{\Gamma, A \laor B \seqar \Delta}{\Gamma , A \seqar \Delta}{\Gamma, B \seqar \Delta}
328 126 adas
	&
329 126 adas
	\vlinf{\lefrul{\laand}}{}{\Gamma, A_1\laand A_2 \seqar \Delta}{\Gamma, A_i \seqar \Delta}
330 126 adas
	&
331 126 adas
	%\vlinf{\lefrul{\laand}}{}{\Gamma, A\laand B \seqar \Delta}{\Gamma, B \seqar \Delta}
332 126 adas
	%\quad
333 126 adas
	\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A_1\laor A_2}{\Gamma \seqar \Delta, A_i}
334 126 adas
	&
335 126 adas
	%\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A\laor B}{\Gamma \seqar \Delta, B}
336 126 adas
	%\quad
337 126 adas
	\vliinf{\rigrul{\laand}}{}{\Gamma \seqar \Delta, A \laand B }{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, B}
338 126 adas
	\\
339 126 adas
	\noalign{\bigskip}
340 126 adas
	%\text{Exponentials:} & & & \\
341 126 adas
	%\noalign{\bigskip}
342 126 adas
	\vlinf{\lefrul{?}}{}{!\Gamma, ?A \seqar ?\Delta}{!\Gamma , A \seqar ?\Delta}
343 126 adas
	&
344 126 adas
	\vlinf{\lefrul{!}}{}{\Gamma, !A \seqar \Delta}{\Gamma, A \seqar \Delta}
345 126 adas
	&
346 126 adas
	\vlinf{\rigrul{?}}{}{\Gamma \seqar \Delta, ?A}{\Gamma \seqar \Delta, A}
347 126 adas
	&
348 126 adas
	\vlinf{\rigrul{!}}{}{!\Gamma \seqar ?\Delta, !A}{!\Gamma \seqar ?\Delta, A}
349 126 adas
	\\
350 126 adas
	\noalign{\bigskip}
351 126 adas
	%\text{Structural:} & & & \\
352 126 adas
	%\noalign{\bigskip}
353 126 adas
354 126 adas
	%\vlinf{\lefrul{\wk}}{}{\Gamma, !A \seqar \Delta}{\Gamma \seqar \Delta}  %% linear logic weakening
355 126 adas
	\vlinf{\lefrul{\wk}}{}{\Gamma, A \seqar \Delta}{\Gamma \seqar \Delta}
356 126 adas
	&
357 126 adas
	\vlinf{\lefrul{\cntr}}{}{\Gamma, !A \seqar \Delta}{\Gamma, !A, !A \seqar \Delta}
358 126 adas
	&
359 126 adas
	%\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, ?A }{\Gamma \seqar \Delta}   %% linear logic weakening
360 126 adas
361 126 adas
	\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, A }{\Gamma \seqar \Delta}
362 126 adas
	&
363 126 adas
	\vlinf{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, ?A}{\Gamma \seqar \Delta, ?A, ?A}
364 126 adas
	\\
365 126 adas
	\noalign{\bigskip}
366 126 adas
	\vlinf{\lefrul{\exists}}{}{\Gamma, \exists x . A(x) \seqar \Delta}{\Gamma, A(a) \seqar \Delta}
367 126 adas
	&
368 126 adas
	\vlinf{\lefrul{\forall}}{}{\Gamma, \forall x. A(x) \seqar \Delta}{\Gamma, A(t) \seqar \Delta}
369 126 adas
	&
370 126 adas
	\vlinf{\rigrul{\exists}}{}{\Gamma \seqar \Delta, \exists x . A(x)}{ \Gamma \seqar \Delta, A(t)}
371 126 adas
	&
372 126 adas
	\vlinf{\rigrul{\forall}}{}{\Gamma \seqar \Delta, \forall x . A(x)}{ \Gamma \seqar \Delta, A(a) } \\
373 126 adas
	%\noalign{\bigskip}
374 126 adas
	% \vliinf{mix}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta}{\Sigma \seqar \Pi} &&&
375 126 adas
	\end{array}
376 126 adas
	\end{array}
377 126 adas
	\]
378 126 adas
	where $p$ is atomic, $i \in \{ 1,2 \}$, $t$ is a term and the eigenvariable $a$ does not occur free in $\Gamma$ or $\Delta$.
379 126 adas
\end{definition}
380 126 adas
%\todo{$\limp$ abbreviation for ...}
381 126 adas
%\todo{bracketing}
382 126 adas
383 126 adas
We do not formally include a symbol for implication but we sometimes write $A \limp B$ as shorthand for $\lnot{A} \lor B$, where $\lnot A$ is the De Morgan dual of $A$. We often omit brackets under associativity, and when writing long implications we assume the right-most bracketing.
384 126 adas
385 126 adas
We will use standard terminology to track formulae in proofs, as presented in e.g.\ \cite{Buss98:intro-proof-theory}.
386 126 adas
In particular, each rule has a distinguished \textit{principal formula}, e.g.\
387 126 adas
$A \lor B$ in the rule $\lefrul{\lor}$ (and similarly for all rules for the binary connectives) and $?A$ in the rule $\rigrul{\cntr}$, and \emph{active formulae}, e.g.\ $A$ and $B$ in $\lefrul{\lor}$ and so on. These induce the notions of (direct) descendants and ancestors in proofs, as in \cite{Buss98:intro-proof-theory}.
388 126 adas
%The  \textit{direct ancestor} relation on occurrences of formulas in a proof is defined to keep track of identity of formulas from line to line, in the usual way.
389 126 adas
390 126 adas
391 126 adas
% Observe that we do not consider here any exchange rules, the sequence are made of multisets of formulas and exchanges are implicit. Note that this system is \textit{affine} in the sense that it includes general weakening rules $\rigrul{\wk}$ and  $\lefrul{\wk}$, while in linear logic   $\rigrul{\wk}$ (resp. $\lefrul{\wk}$) is restricted to formulas of the form $?A$ (resp. $!A$).   In the following though, by linear logic we will mean affine linear logic.
392 126 adas
\subsection{Theories and systems}
393 126 adas
394 126 adas
%  \anupam{need to add a note on semantics}
395 126 adas
%  \anupam{mention equality rules}
396 126 adas
%  \anupam{mention equality axioms and first-order theories and models at some point.}
397 126 adas
398 126 adas
A \emph{language} is a set of nonlogical symbols (i.e.\ constants, functions, predicates) and a \emph{theory} is a set of closed formulae over some language. We assume that all theories contain the axioms of equality:
399 126 adas
% \[
400 126 adas
% \begin{array}{rl}
401 126 adas
%\refl & \forall x . x = x \\
402 126 adas
%\symm & \forall x, y. (x = y \limp y = x )\\
403 126 adas
%\trans & \forall x , y , z . ( x = y \limp y = z \limp x = z ) \\
404 126 adas
%\subst_f & \forall \vec x , \vec y . (\vec x = \vec y \limp f(\vec x) = f(\vec y) ) \\
405 126 adas
%\subst_P & \forall \vec x , \vec y. (\vec x = \vec y \limp P(\vec x) \limp P(\vec y)  )
406 126 adas
% \end{array}
407 126 adas
%\left\{
408 126 adas
\begin{equation}
409 126 adas
\label{eqn:equality-theory}
410 126 adas
\begin{array}{l}
411 126 adas
\forall x . x = x \quad, \quad \forall x, y. (x = y \limp y = x )\quad, \quad \forall x , y , z . ( x = y \limp y = z \limp x = z ) \\ \forall \vec x , \vec y . (\vec x = \vec y \limp f(\vec x) = f(\vec y) )  \quad , \quad \forall \vec x , \vec y. (\vec x = \vec y \limp P(\vec x) \limp P(\vec y)  )
412 126 adas
\end{array}
413 126 adas
\end{equation}
414 126 adas
%\right\}
415 126 adas
% \]
416 126 adas
where $\vec x = \vec y$ is shorthand for $x_1 = y_1 \land \vldots \land x_n = y_n$.
417 126 adas
418 126 adas
\newcommand{\init}{\mathit{init}}
419 126 adas
We consider \emph{systems} of `nonlogical' rules extending Dfn.~\ref{def:LLsequentcalculus}, which we write as follows,
420 126 adas
\[
421 126 adas
\begin{array}{cc}
422 126 adas
\vlinf{\init}{}{ \seqar A}{}  &  \vlinf{(R)}{}{ !\Gamma , \Sigma' \seqar \Delta' , ? \Pi  }{ \{!\Gamma , \Sigma_i \seqar \Delta_i , ? \Pi \}_{i \in I} }
423 126 adas
\end{array}
424 126 adas
\]
425 126 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:
426 126 adas
\begin{enumerate}
427 126 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
428 126 adas
	$ !\Gamma,  ? \Pi$ are called \textit{context formulas}. In $\init$ $A$ is called a principal formula.
429 126 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$.
430 126 adas
	\item A system $\system$ 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).
431 126 adas
	\item  In $(R)$  the sequent $ \Sigma'$ (resp. $\Delta'$) does not contain any formula of the shape $?B$ (resp. $!B$), and  in $\init$ the formula $A$ is not of the form  $!B$.
432 126 adas
\end{enumerate}
433 126 adas
434 126 adas
%The distinction between modal and nonmodal formulae in $(R)$ induces condition 1
435 126 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. Condition 4
436 126 adas
% and the conventions of 1
437 126 adas
is peculiar to our linear logic setting in order to carry out certain proof-theoretic manipulations for the free-cut elimination argument in Sect.~\ref{sect:free-cut-elim}.
438 126 adas
%
439 126 adas
440 126 adas
441 126 adas
Observe that $\init$ rules can actually be seen as particular cases of $(R)$ rules, with no premise, so in the following we will only consider $(R)$ rules.
442 126 adas
443 126 adas
444 126 adas
%  \patrick{Anupam: note that I had to strengthen the conditions for the rules (R). Condition (1) is needed
445 126 adas
%  to be able to commute a cut with (R), in the case where this cut is with a principal formula of a   ($\rigrul{!}$) rule.
446 126 adas
%
447 126 adas
%  Condition (2) is a sufficient condition to avoid the following situation: cut between a principal formula in say $\Delta'$ in the conclusion of an (R) rule (left premise), and a context formula in $!\Gamma$ in the conclusion of another (R) rule (right premise). Indeed this is not an anchored cut in our sense, but we cannot eliminate it in general (because we cannot commute the cut with (R) up the right premise).
448 126 adas
%  }
449 126 adas
450 126 adas
451 126 adas
452 126 adas
453 126 adas
To each theory $\theory$ we formally associate the system of $\init$ rules $\seqar A$ for each $A \in \theory$.\footnote{Notice that this naively satisfies condition 3 since theories consist of only closed formulae.}  A proof in such a system will be called a \textit{ $\mathcal T$-proof}, or just {proof} when there is no risk of confusion.
454 126 adas
455 126 adas
456 126 adas
457 126 adas
458 126 adas
%
459 126 adas
%
460 126 adas
%  In what follows we will be interested in an example of theory  $\mathcal T$ which is a form of arithmetic.
461 126 adas
462 126 adas
%   Let us give an example of a possible nonlogical rule that appears later in Sect.~\ref{sect:arithmetic}:
463 126 adas
%
464 126 adas
%   \[
465 126 adas
%	\vliinf{\ind}{}{ !\word(t), !\Gamma , A(\epsilon) \seqar A(t) , ?\Delta }{!\Gamma , !\word(a), A(a) \seqar A(s_0 a ), ?\Delta }{ !\Gamma , !\word(a), A(a) \seqar A(s_1 a ), ?\Delta }
466 126 adas
%\]
467 126 adas
%
468 126 adas
%So here we have $I=\{0,1\}$ (two premises), $\Sigma_i=!\word(a), A(a)$ and $\Delta_i= A(s_i a )$ for $i=0,1$, $\Sigma'= !\word(t), A(\epsilon)$, $\Delta'= A(t)$. So condition 2 is satisfied provided $a\notin FV(!\Gamma, ?\Delta)$ and $a \notin FV(t)$.
469 126 adas
470 126 adas
471 126 adas
%\[
472 126 adas
%	\vliinf{}{(x \notin \FV(\Gamma, \Delta))}{ !\Gamma , A(\epsilon) \seqar A(t) , ?\Delta }{ !\Gamma , A(x) \seqar A(s_0 x ), ?\Delta }{ !\Gamma, A(x) \seqar A( s_1 x ) , ?\Delta}
473 126 adas
%	\]
474 126 adas
475 126 adas
476 126 adas
%  A proof in such a system will be called a \textit{ $\mathcal T$-proof}, or just \textit{proof} when there is no risk of confusion.
477 126 adas
%   The rules of Def. \ref{def:LLsequentcalculus} are called \textit{logical rules} while the rules (ax) and (R) of $\mathcal T$  are called \textit{non-logical}.
478 126 adas
%
479 126 adas
%  As usual rules come with a notion of \textit{principal formulas}, which are a subset of the rules in the conclusion, e.g.:
480 126 adas
%  $A \lor B$ in rule $\lefrul{\lor}$ (and similarly for all rules for connectives); $?A$ in rule $\rigrul{\cntr}$; all conclusion formulas in axiom rules;
481 126 adas
%   $\Sigma', \Delta'$ in rule (R).
482 126 adas
483 126 adas
484 126 adas
% \anupam{15/04: add definitions of theories and systems, unions, rules vs axioms etc. and abuses of notation:
485 126 adas
% 	sometimes use same symbol for theory and system if fixed in advance;
486 126 adas
% 	sometimes coincide axiom with initial rule;
487 126 adas
% 	}
488 126 adas
489 126 adas
490 126 adas
\begin{remark}
491 126 adas
	[Semantics]
492 126 adas
	The models we consider are usual Henkin models, with linear connectives interpreted by their classical counterparts. Consequently, we do not have any completeness theorem for our theories, but we do have soundness.
493 126 adas
\end{remark}
494 126 adas
495 126 adas
496 126 adas
\subsection{Some basic proof-theoretic results}
497 126 adas
We briefly survey some well-known results for theories of linear logic.
498 126 adas
499 126 adas
A rule is \emph{invertible} if each of its upper sequents is derivable from its lower sequent.
500 126 adas
\begin{proposition}
501 126 adas
	[Invertible rules, folklore]
502 126 adas
	\label{prop:invertible-rules}
503 126 adas
	The rules $\lefrul{\land}, \rigrul{\lor}, \lefrul{\laor}, \rigrul{\laand}, \lefrul{\exists}, \rigrul{\forall}$ are invertible.
504 126 adas
\end{proposition}
505 126 adas
We will typically write $\inv{c}$ to denote the inverse derivation for a logical symbol $c$.
506 126 adas
507 126 adas
%[cite Avron:`semantics and proof theory of linear logic']
508 126 adas
%
509 126 adas
%We will make much use of the deduction theorem, allowing us to argue informally within a theory for hypotheses that have been promoted.
510 126 adas
%
511 126 adas
%%$$
512 126 adas
%%	\vliiinf{}{}{ \seqar A}{ \seqar C}
513 126 adas
%%	$$
514 126 adas
%
515 126 adas
%%\[
516 126 adas
%%	\vliiinf{R}{}{ !\Gamma , \Sigma' \seqar \Delta' , ? \Pi  }{ \{!\Gamma , \Sigma_i \seqar \Delta_i , ? \Pi \}_{i \in I} }
517 126 adas
%%	\]
518 126 adas
519 126 adas
We also rely on the following result, which is also folklore but appeared before in \cite{Avron88}.
520 126 adas
521 126 adas
\begin{theorem}
522 126 adas
	[Deduction, folklore]
523 126 adas
	\label{thm:deduction}
524 126 adas
	For any theory $\theory$ and closed formula $A $, $\mathcal T \cup\{A\}$ proves $B$ if and only if $\mathcal{T}$ proves $!A \limp B$.
525 126 adas
\end{theorem}
526 126 adas
527 126 adas
%The occurrence of $!$ in the deduction theorem above is crucial; this restriction is one of the reasons it can be difficult to reason informally in theories over linear logic.
528 126 adas
529 126 adas
530 126 adas
Due to these results notice that, in place of the equality axioms, we can work in a quantifier-free system of rules:
531 126 adas
\begin{proposition}
532 126 adas
	[Equality rules]
533 126 adas
	\eqref{eqn:equality-theory} is equivalent to the following system of rules,
534 126 adas
	\[
535 126 adas
	\vlinf{}{}{\seqar t = t}{}
536 126 adas
	\qquad
537 126 adas
	\vlinf{}{}{s = t \seqar t = s}{}
538 126 adas
	\qquad
539 126 adas
	\vlinf{}{}{r = s, s= t \seqar r = t}{}
540 126 adas
	\qquad
541 126 adas
	\vlinf{}{}{\vec s = \vec t \seqar f(\vec s) = f(\vec t)}{}
542 126 adas
	\qquad
543 126 adas
	\vlinf{}{}{\vec s = \vec t, P(\vec s) \seqar P(\vec t)}{}
544 126 adas
	\]
545 126 adas
	where $r,s,t $ range over terms.
546 126 adas
\end{proposition}
547 126 adas
548 126 adas
549 126 adas
550 126 adas
551 126 adas
552 126 adas
%\subsection{Converting axioms to rules in $\MELLW$}
553 126 adas
%
554 126 adas
%\begin{proposition}
555 126 adas
%	An axiom $\Ax$ of the form,
556 126 adas
%	\[
557 126 adas
%	A_1 \limp \vldots \limp A_m \limp !B_1 \limp \vldots \limp !B_n \limp C
558 126 adas
%	\]
559 126 adas
%	is equivalent (over propositional $\LL$) to the rule $\Rl$:
560 126 adas
%	\[
561 126 adas
%	\vliiinf{\Rl}{}{ !\Gamma , A_1 , \dots , A_m \seqar C , ? \Delta  }{ !\Gamma \seqar B_1 , ?\Delta }{\vldots }{ !\Gamma \seqar B_n , ?\Delta}
562 126 adas
%	\]
563 126 adas
%\end{proposition}
564 126 adas
%\begin{proof}
565 126 adas
%	Let us first assume $\Ax$ and derive $\Rl$. From the axiom and Currying, we have a proof of:
566 126 adas
%	\begin{equation}\label{eqn:curried-axiom}
567 126 adas
%	A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C
568 126 adas
%	\end{equation}
569 126 adas
%
570 126 adas
%	This can simply be cut against each of the premisses of $\Rl$, applying appropriate contractions and necessitations, to derive it:
571 126 adas
%	\[
572 126 adas
%	\vlderivation{
573 126 adas
%		\vliq{c}{}{!\Gamma , A_1 , \dots , A_m \seqar C , ?\Delta }{
574 126 adas
%			\vliin{\cut}{}{!\Gamma, \dots , !\Gamma , A_1 , \dots , A_m \seqar C , ?\Delta, \dots , ?\Delta }{
575 126 adas
%				\vlin{!}{}{!\Gamma \seqar !B_n, ?\Delta }{\vlhy{!\Gamma \seqar B_n , ?\Delta }}
576 126 adas
%			}{
577 126 adas
%			\vliin{\cut}{}{\qquad \qquad \qquad \qquad  \vlvdots \qquad \qquad \qquad \qquad }{
578 126 adas
%				\vlin{!}{}{!\Gamma \seqar !B_1 , ?\Delta}{\vlhy{!\Gamma \seqar B_1, ?\Delta }}
579 126 adas
%			}{\vlhy{ A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C } }
580 126 adas
%		}
581 126 adas
%	}
582 126 adas
%}
583 126 adas
%\]
584 126 adas
%
585 126 adas
%Now let us prove $\Ax$ (again in the form of \eqref{eqn:curried-axiom}) by using $\Rl$ as follows:
586 126 adas
%\[
587 126 adas
%\vliiinf{\Rl}{}{ A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C }{  \vlderivation{
588 126 adas
%		\vlin{w}{}{ !B_1 , \dots , !B_n \seqar B_1 }{
589 126 adas
%			\vlin{!}{}{!B_1 \seqar B_1 }{
590 126 adas
%				\vlin{\id}{}{B_1 \seqar B_1 }{\vlhy{}}
591 126 adas
%			}
592 126 adas
%		}
593 126 adas
%	}  }{\vldots}{
594 126 adas
%	\vlderivation{
595 126 adas
%		\vlin{w}{}{ !B_1 , \dots , !B_n \seqar B_n }{
596 126 adas
%			\vlin{!}{}{!B_n \seqar B_n }{
597 126 adas
%				\vlin{\id}{}{B_n \seqar B_n }{\vlhy{}}
598 126 adas
%			}
599 126 adas
%		}
600 126 adas
%	}
601 126 adas
%}
602 126 adas
%\]
603 126 adas
%\end{proof}
604 126 adas
%
605 126 adas
%
606 126 adas
%\textbf{NB:} The proof does not strictly require side formulae $? \Delta$ on the right of the sequent arrow $\seqar$, it would work without them, e.g.\ for the intuitionistic case. In a one-sided setting there is no difference.
607 126 adas
%
608 126 adas
%
609 126 adas
%
610 126 adas
%\begin{corollary}
611 126 adas
%	The induction axiom of $A^1_2$ is equivalent to the rule:
612 126 adas
%	\[
613 126 adas
%	\vliinf{}{(x \notin \FV(\Gamma, \Delta))}{ !\Gamma , !N(t), A(\epsilon) \seqar A(t) , ?\Delta }{ !\Gamma , !N(x), A(x) \seqar A(s_0 x ), ?\Delta }{ !\Gamma, !N(x),  A(x) \seqar A( s_1 x ) , ?\Delta}
614 126 adas
%	\]
615 126 adas
%\end{corollary}
616 126 adas
%\begin{proof}
617 126 adas
%	By proposition above, generalisation and Currying.
618 126 adas
%\end{proof}
619 126 adas
%
620 126 adas
%\begin{proposition}
621 126 adas
% The following induction rule is derivable from the one of the previous corollary:
622 126 adas
%\[
623 126 adas
%	\vliinf{}{(a, \vec{v}, \vec{x} \notin \FV(\Gamma, \Delta))}{ !\Gamma , !N(\vec{w}), N(\vec{y}), !N(t)  \seqar A(t,\vec{w},\vec{y}) , ?\Delta }{ !\Gamma ,  !N(\vec{v}), N(\vec{x}) \seqar A(\epsilon,\vec{v},\vec{x}), ?\Delta }{ !\Gamma ,  !N(\vec{v}), N(\vec{x}),    A(a,\vec{v},\vec{x}) \seqar  A(s_ia,\vec{v},\vec{x}) , ?\Delta}
624 126 adas
%	\]
625 126 adas
%where the second premise corresponds actually to two premises, one for $i=0$ and one for $i=1$.
626 126 adas
%\end{proposition}
627 126 adas
%\subsection{Prenexing}
628 126 adas
%%In the presence of weakening we have a prenex normal form due to the following:
629 126 adas
%%
630 126 adas
%%\[
631 126 adas
%%\vlderivation{
632 126 adas
%%	\vlin{}{}{\exists x . A \lor B \seqar \exists x . (A(x) \lor B) }{
633 126 adas
%%
634 126 adas
%%		}
635 126 adas
%%	}
636 126 adas
%%\]
637 126 adas
%
638 126 adas
%Cannot derive prenexing operations, e.g.\ a problem with $\exists x . A \lor B \seqar \exists x . (A(x) \lor B)$. Can safely add prenexing rules? Or not a problem due to Witness predicate?
639 126 adas
640 126 adas
\section{Free-cut elimination in linear logic}
641 126 adas
\label{sect:free-cut-elim}
642 126 adas
% While in plain logical systems such as linear logic cut rules can be eliminated, this is in general not the case anymore when one considers extension with a theory $\mathcal T$ . For this reason we need now to define the kind of cuts that  will remain in proofs after reduction. We will call these \textit{anchored cuts}.
643 126 adas
We first define which cut instances may remain in proofs after free-cut elimination.
644 126 adas
%  They are called \textit{anchored cuts}.
645 126 adas
%   Our first idea would be to consider as anchored  a cut whose cut-formulas  $A$ in the two premises are both principal for their rule, and at least one of these rules is non-logical. Now, the problem with this tentative definition is that a rule (R) of  $\mathcal T$ can contain several principal formulas  (in $\Sigma'$, $\Delta'$) and so we would like to allow an anchored cut on each of these principal formulas.
646 126 adas
%  % Consider for instance the following derivation, where we have underlined principal formulas:
647 126 adas
%  See for instance (the principal formulas are underlined):
648 126 adas
%  \patrick{Anupam, could you please display this derivation in a suitable way?}
649 126 adas
%  \[
650 126 adas
%  \vlderivation{
651 126 adas
%\vliin{cut_2}{}{ \seqar  \Delta}{
652 126 adas
%\vliin{cut_1}{}{\seqar A_2 }{\vlin{\rigrul{\lor}}{}{\seqar \underline{A_1}}{}}{\vliin{(R)}{}{\underline{A_1}\seqar \underline{A_2}}{}{} }
653 126 adas
%}{
654 126 adas
%\vliin{\lefrul{\land}}{}{\underline{A_2}\seqar \Delta}{}{}
655 126 adas
%}
656 126 adas
%}
657 126 adas
%\]
658 126 adas
%  Here $cut_1$ is anchored in this sense, but not $cut_2$.   Therefore we propose a more general definition:
659 126 adas
Since our nonlogical rules may have many principal formulae on which cuts may be anchored, we need a slightly more general notion of principality.
660 126 adas
\begin{definition}\label{def:anchoredcut}
661 126 adas
	We define the notions of \textit{hereditarily principal formula} and \textit{anchored cut} in a $\system$-proof, for a system $\system$, by mutual induction as follows:
662 126 adas
	\begin{itemize}
663 126 adas
		\item A formula $A$ in a sequent $\Gamma \seqar \Delta$ is \textit{hereditarily principal} for a rule instance (S) if either (i) the sequent is in the conclusion of (S) and $A$ is principal in it, or
664 126 adas
		(ii)  the sequent is in the conclusion of an anchored cut, the direct ancestor of $A$ in the corresponding premise is hereditarily principal for the rule instance (S), and the rule (S) is nonlogical.
665 126 adas
		\item A cut-step is an \textit{anchored cut} if the two occurrences of its cut-formula $A$ in each premise are hereditarily principal for nonlogical steps, or one is hereditarily principal for a nonlogical step and the other one is principal for a logical step.
666 126 adas
	\end{itemize}
667 126 adas
	A cut which is not anchored will also be called a \textit{free-cut}.
668 126 adas
\end{definition}
669 126 adas
As a consequence of this definition, an anchored cut on a formula $A$ has the following properties:
670 126 adas
\begin{itemize}
671 126 adas
	\item At least one of the two premises of the cut has above it a sub-branch of the proof which starts (top-down) with a nonlogical step (R) with $A$ as one of its principal formulas, and then a sequence of anchored cuts in which $A$ is part of the context.
672 126 adas
	\item The other premise is either of the same form or is a logical step with principal formula $A$.
673 126 adas
\end{itemize}
674 126 adas
%
675 126 adas
%  Now, for instance a cut on a (principal) formula $A \lor B$ between a rule $\rigrul{\lor}$ and a rule (R) (where  $A \lor B$ occurs in $\Sigma'$) is anchored, while a cut between
676 126 adas
%  a rule $\rigrul{\lor}$ and a rule $\lefrul{\lor}$ is not.
677 126 adas
%
678 126 adas
679 126 adas
680 126 adas
%  With this new definition both $cut_1$ and $cut_2$ in the previous example are anchored.
681 126 adas
682 126 adas
%   \patrick{@Anupam: if we need to shorten this part, I think we should anyway keep the key lemmas \ref{lem:hereditaryprincipalnonlogical} and \ref{lem:keycommutations}.  In the proof of the thm itself, I would give priority to keep the first case, maybe by skipping the first situation and keeping the second item, $S_1$=$!r$, $?l$ or $R$. Second case could be kept too, and third case could be briefly summarized and pushed in the appendix or online version.}
683 126 adas
684 126 adas
%   Let us first prove a key lemma on hereditarily principal formulas:
685 126 adas
Due to condition 4 in Sect.~\ref{sect:preliminaries}, we have the following:
686 126 adas
\begin{lemma}\label{lem:hereditaryprincipalnonlogical}
687 126 adas
	A formula occurrence $A$ on the LHS (resp.\ RHS) of a sequent and hereditarily principal for a nonlogical rule (R)
688 126 adas
	cannot be of the form $A=?A'$ (resp. $A=!A'$).
689 126 adas
\end{lemma}
690 126 adas
691 126 adas
692 126 adas
Now we can state the main result of this section:
693 126 adas
\begin{theorem}
694 126 adas
	[Free-cut elimination]
695 126 adas
	\label{thm:free-cut-elim}
696 126 adas
	Given a system  $\system$, any  $\system$-proof $\pi$ can be transformed into a $\system$-proof $\pi'$ with same end sequent and without any free-cut.
697 126 adas
\end{theorem}
698 126 adas
%The proof will be given below. It will proceed
699 126 adas
The proof proceeds in a way similar to the classical proof of cut elimination for linear logic,
700 126 adas
%, but here for eliminating only free-cuts, and one has to check that all steps of the reasoning are compatible with the fact that the proof here also contains $\mathcal{T}$ rules.
701 126 adas
%%     Define the \textit{degree} of a formula as the number of logical connectives or quantifiers in it.  Let us first state an easy building-block of the proof, which comes from standard linear logic:
702 126 adas
%%    \begin{lemma}[Logical non-exponential cut-elimination steps]\label{lem:logical steps}
703 126 adas
%%    Any cut $c$ whose cut-formulas $A$ are both principal formulas of logical rules distinct from $?$, $!$, $wk$, $cntr$ rules can be replaced in one step by cuts on formulas of strictly lower degree (0, 1 or 2 cuts).
704 126 adas
%%    \end{lemma}
705 126 adas
%%    \begin{proof}
706 126 adas
%%    This is exactly as in plain linear logic. Just note that the case of a quantifier formula involves a substitution by a term $t$ throughout the proof, and this is where we need condition 3 on non-logical rules requiring that they are closed by substitution.
707 126 adas
%%    \end{proof}
708 126 adas
%    Actually the most important part of the proof of Thm \ref{thm:free-cut-elim} is  the handling of the commutation steps, since this is where the new non-logical rules could raise some problems.
709 126 adas
but eliminating only free-cuts and verifying compatibility with our notion of nonlogical rule, in particular for the commutation cases.
710 126 adas
711 126 adas
First, observe that the only rules in which there is a condition on the context are the following ones: $(\rigrul{\forall})$, $(\lefrul{\exists})$, $(\rigrul{!})$, $(\lefrul{?})$, $(R)$. These are thus the rules for which the commutation with cut steps are not straightforward. Commutations with logical rules  other than $(\rigrul{!})$, $(\lefrul{?})$ are done in the standard way, as in pure linear logic:\footnote{Note that, for the $(\rigrul{\forall})$, $(\lefrul{\exists})$ rules, there might also be a global renaming of eigenvariables if necessary.}
712 126 adas
\begin{lemma}[Standard commutations]\label{lem:standardcommutations}
713 126 adas
	Any logical rule  distinct from $(\rigrul{!})$, $(\lefrul{?})$ can be commuted under a cut. If the logical rule is binary this may produce two cuts, each in a separate branch.
714 126 adas
\end{lemma}
715 126 adas
716 126 adas
717 126 adas
%     In the following we will need to be more careful about rules $(\rigrul{!})$, $(\lefrul{?})$, $(R)$. For that we establish our second key lemma:
718 126 adas
For rules $(\rigrul{!})$, $(\lefrul{?})$, $(R)$ we establish our second key lemma:
719 126 adas
\begin{lemma}[Key commutations]\label{lem:keycommutations}
720 126 adas
	A cut of the following form, where $?A$ is not principal for $(R)$, can be commuted above the $(R)$ step:
721 126 adas
	\[
722 126 adas
	\vliinf{cut}{}{ !\Gamma', \Gamma,  \Sigma'   \seqar \Delta', ?A, ?\Pi, ?\Pi'}
723 126 adas
	{ \vlinf{(R)}{}{!\Gamma, \Sigma'  \seqar \Delta', ?A, ?\Pi}{  \{ !\Gamma, \Sigma_i  \seqar \Delta_i, ?A, ?\Pi \}_{i\in I} } }
724 126 adas
	{
725 126 adas
		%                    	\vlinf{}{}{?A, !\Gamma' \seqar  ?\Pi'}{}
726 126 adas
		?A, !\Gamma' \seqar  ?\Pi'
727 126 adas
	}
728 126 adas
	\]
729 126 adas
	Similarly if $(R)$ is replaced with $(\rigrul{!})$, with $?A$ in its RHS context, and also for the symmetric situations:
730 126 adas
	cut on the LHS of the conclusion of an $(R)$ or a $(\lefrul{?})$ step on a (non-principal) formula $!A$, with a sequent $!\Gamma' \seqar  ?\Pi', !A$.
731 126 adas
\end{lemma}
732 126 adas
\begin{proof}
733 126 adas
	The derivation is transformed as follows:
734 126 adas
	\[
735 126 adas
	\vlinf{(R)}{}{ !\Gamma', !\Gamma,  \Sigma'   \seqar \Delta', ?\Pi, ?\Pi'}
736 126 adas
	{ \vliinf{cut}{}{\{!\Gamma', !\Gamma, \Sigma_i  \seqar \Delta_i, ?\Pi,?\Pi' \}_{i\in I}} {
737 126 adas
			%                                 		 \vlinf{}{}{ !\Gamma, \Sigma_i  \seqar \Delta_i, ?A, ?\Pi}{}
738 126 adas
			!\Gamma, \Sigma_i  \seqar \Delta_i, ?A, ?\Pi
739 126 adas
		} {
740 126 adas
		%                                 		  \vlinf{}{}{?A, !\Gamma' \seqar  ?\Pi'}{}
741 126 adas
		?A, !\Gamma' \seqar  ?\Pi'
742 126 adas
	} }
743 126 adas
	\]
744 126 adas
	Here if an eigenvariable in $\Sigma_i, \Delta_i$ happens to be free in $!\Gamma', ?\Pi'$ we rename it to avoid the collision, which is possible because by condition 2 on nonlogical rules these eigenvariables do not appear in $\Sigma', \Delta'$ or $!\Gamma, ?\Pi$. So the occurrence of $(R)$ in this new subderivation is valid.
745 126 adas
746 126 adas
	Similarly  for the symmetric derivation with a cut on the LHS of the conclusion of an $(R)$ on a formula $!A$.
747 126 adas
	The analogous situations with rules  $(\rigrul{!})$ and $(\lefrul{?})$ are handled in the same way, as usual in linear logic.
748 126 adas
\end{proof}
749 126 adas
%Now we have all the necessary lemmas to proceed with the proof of the theorem.
750 126 adas
751 126 adas
Now we can prove the main free-cut elimination result:
752 126 adas
\begin{proof}[Proof sketch of Thm.~\ref{thm:free-cut-elim}]
753 126 adas
	Given a cut step $c$ in a proof $\pi$, we call  \emph{degree} $\deg( c)$  the number of connectives and quantifiers of its  cut-formula. Now the \emph{degree} of $\pi$, $\deg( \pi)$, is the multiset of the degrees of its non-anchored cuts. We consider the usual Dershowitz-Manna ordering on multisets of natural numbers \cite{Dershowitz:1979:PTM:359138.359142}.\footnote{Let $M,N: \Nat \to \Nat$ be two multisets of natural numbers. Then $M<N$ if $M\neq N$ and, whenever $M(x) > N(x)$ there is some $y >x$ such that $N(y) > M(y)$. When $M$ and $N$ are finite, i.e.\ have finite support, $<$ is well-founded.}
754 126 adas
	The proof proceeds by induction on $\deg( \pi)$.  For a given degree we proceed with a sub-induction on the \textit{height} $\height{\pi}$ of the proof.
755 126 adas
756 126 adas
	Consider a proof $\pi$ of non-null degree. We want to show how to reduce it to a proof of strictly lower degree. Consider a top-most non-anchored cut $c$ in $\pi$, i.e.\ such that there is no non-anchored cut above $c$.  Let us call $A$ the cut-formula, and $(S_1)$ (resp. $(S_2)$) the rule above the left (resp. right) premise of $c$.
757 126 adas
	\[
758 126 adas
	\vliinf{c \; \; \cut}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \vlinf{S_1}{}{\Gamma \seqar \Delta, A}{} }{\vlinf{S_2}{}{\Sigma, A \seqar \Pi}{}}
759 126 adas
	\]
760 126 adas
	Intuitively we proceed as follows: if $A$ is not hereditarily principal in one of its premises  we try to commute $c$ with the rule along its left premise  $(S_1)$, and if not possible then commute it with the rule along its right premise $(S_2)$, by Lemmas \ref{lem:hereditaryprincipalnonlogical}, \ref{lem:standardcommutations} and \ref{lem:keycommutations}. If $A$ is hereditarily principal in both premises we proceed with a cut-elimination step, as in standard linear logic. For this second step, the delicate part is the elimination of exponential cuts, for which we use a big-step reduction. This works because the contexts in the nonlogical rules $(R)$ are marked with $!$ (resp. $?$) on the LHS (resp. RHS).
761 126 adas
	%    See the appendix for the full proof.
762 126 adas
\end{proof}
763 126 adas
764 126 adas
%   \begin{itemize}
765 126 adas
%    \item \textbf{First case}: the cut-formula $A$ on the l.h.s. of  $c$ is non hereditarily principal.
766 126 adas
%
767 126 adas
%\begin{itemize}
768 126 adas
%\item Consider first the situation where $(S_1)$ is not one of the rules $(\rigrul{!})$, $(\lefrul{?})$, $(R)$.
769 126 adas
%
770 126 adas
%In this case the commutation of $c$ with $(S_1)$ can be done in the usual way, by using Lemma \ref{lem:standardcommutations}. Let us handle as an example the case where $(S_1)=(\rigrul{\laand})$.
771 126 adas
%{\small
772 126 adas
%\[
773 126 adas
%\vlderivation{
774 126 adas
%\vliin{c}{}{ \Gamma, \Sigma \seqar B_1\vlan B_2, \Delta, \Pi }{ \vliin{S_1=\rigrul{\vlan}}{}{\Gamma  \seqar B_1\vlan B_2, \Delta, A}{ \vlhy{\Gamma  \seqar B_1, \Delta, A} }{\vlhy{\Gamma  \seqar  B_2,\Delta, A}}}{ \vlhy{ \Sigma, A \seqar  \Pi} }
775 126 adas
%}
776 126 adas
%\quad\to\quad
777 126 adas
%\vlderivation{
778 126 adas
%\vliin{\rigrul{\vlan}}{}{  \Gamma, \Sigma \seqar B_1\vlan B_2, \Delta, \Pi  }{
779 126 adas
%\vliin{c_1}{}{\Gamma,\Sigma \seqar B_1, \Delta, \Pi }{ \vlhy{\Gamma  \seqar B_1, \Delta, A} }{\vlhy{ \Sigma, A \seqar  \Pi} }
780 126 adas
%}{
781 126 adas
%\vliin{c_2}{}{\Gamma,\Sigma \seqar B_2, \Delta, \Pi }{ \vlhy{\Gamma  \seqar B_2, \Delta, A} }{\vlhy{ \Sigma, A \seqar  \Pi} }
782 126 adas
%}
783 126 adas
%}
784 126 adas
%\]
785 126 adas
%}
786 126 adas
%
787 126 adas
%Observe that here $c$ is replaced by two cuts $c_1$ and $c_2$. Call $\pi_i$ the sub-derivation of last rule $c_i$, for $i=1,2$. As for $i=1, 2$ we have
788 126 adas
%$\deg{\pi_i}\leq \deg{\pi}$ and $\height{\pi_i}< \height{\pi}$ we can apply the induction hypothesis, and reduce $\pi_i$ to a proof $\pi'_i$ of same conclusion and with
789 126 adas
%$\deg{\pi'_i} < \deg{\pi_i}$. Therefore  by replacing $\pi_i$ by $\pi'_i$ for $i=1, 2$ we obtain a proof $\pi'$ such that $\deg{\pi'}<\deg{\pi}$.
790 126 adas
%
791 126 adas
%The case (S)=($\lefrul{\laor}$) is identical, and the other cases are similar. % (see the Appendix for more examples).
792 126 adas
%
793 126 adas
%\item Consider now the case where $(S_1)$ is equal to $(\rigrul{!})$, $(\lefrul{?})$ or $(R)$. Let us also assume that the cut-formula is hereditarily principal in its r.h.s. premise, because if this does not hold we can move to the second case below.
794 126 adas
%
795 126 adas
%First consider  $(S_1)=(\rigrul{!})$. As $A$ is not principal in the conclusion of $(\rigrul{!})$ it is of the form $A=?A'$. By assumption we know that  $A=?A'$ in the conclusion of $(S_2)$ is hereditarily principal on the l.h.s., so by Lemma \ref{lem:hereditaryprincipalnonlogical} it cannot be hereditarily principal for a non-logical rule, so by definition of hereditarily principal we deduce that $(S_2)$ is not an $(R)$ rule. It cannot be an  $(\rigrul{!})$ rule either because then $?A'$ could not be a principal formula in its conclusion. Therefore the only possibility is that
796 126 adas
% $(S_2)$ is an  $(\lefrul{?})$ rule. So the r.h.s. premise is of the shape $?A',!\Gamma' \seqar ?\Pi'$ and by Lemma \ref{lem:keycommutations} the commutation on the l.h.s. is possible. We can conclude as previously. The case where  $(S_1)=(\lefrul{?})$ is the same.
797 126 adas
%
798 126 adas
% Now consider the case where $(S_1)=(R)$.  As $A$ is not hereditarily principal in the conclusion of $(R)$, it is a context formula and it is on the r.h.s., so by definition of $(R)$ rules it is  the form $A=?A'$. So as before by Lemma \ref{lem:hereditaryprincipalnonlogical} we deduce that   $(S_2)=(\lefrul{?})$, and  so the r.h.s. premise is of the shape $?A',!\Gamma' \seqar ?\Pi'$.  By Lemma \ref{lem:keycommutations} the commutation on the l.h.s. is possible, and so again we conclude as previously.
799 126 adas
% \end{itemize}
800 126 adas
%    \item \textbf{Second case}: the cut-formulas on the l.h.s. and r.h.s. of  $c$ are both non hereditarily principal.
801 126 adas
%
802 126 adas
%   After the first case we are here left with the situation where  $(S_1)$ is equal to $(\rigrul{!})$, $(\lefrul{?})$ or $(R)$.
803 126 adas
%   \begin{itemize}
804 126 adas
%    \item Consider the case where  $(S_1)$=$(\rigrul{!})$, $(\lefrul{?})$, so $A$ is of the form $A=?A'$. All cases of commutation of $c$ with $(S_2)$ are as in standard linear logic, except if $(S_2)=(R)$. In this case though we cannot have $A=?A'$ because of the shape of rule $(R)$. So we are done.
805 126 adas
%    \item Consider  $(S_1)=(R)$. Again as $A$ is not principal in the conclusion of $(S_1)$ and on the r.h.s. of the sequent it is a context formula, and thus of the form  $A=?A'$. As $?A'$ is not principal in the conclusion of $(S_2)$, it is thus a context formula on the l.h.s. of sequent, and therefore $(S_2)$ is not a rule $(R)$. So $(S_2)$ is a logical rule. If it is not an $(\rigrul{!})$ or an $(\lefrul{?})$ it admits commutation with the cut, and we are done. If it is equal to $(\rigrul{!})$ or $(\lefrul{?})$ it cannot have $?A'$ as a context formula in the l.h.s. of its conclusion, so these subcases do not occur.
806 126 adas
%   \end{itemize}
807 126 adas
%
808 126 adas
%
809 126 adas
%    \item \textbf{Third case}: the cut-formulas on the l.h.s. and r.h.s. of  $c$ are both  hereditarily principal.
810 126 adas
%
811 126 adas
%    By assumption $c$ is non anchored, so none of the two cut-formulas is hereditarily principal for a non-logical rule $(R)$. We can deduce from that
812 126 adas
%    that the l.h.s. cut-formula is principal for $(S_1)$ and the r.h.s. cut-formula is principal for $(S_2)$. Call $\pi_1$ (resp. $\pi_2$) the subderivation
813 126 adas
%    of last rule $(S_1)$ (resp. $(S_2)$).
814 126 adas
%
815 126 adas
%    Then we consider the following sub-cases, in order:
816 126 adas
%     \begin{itemize}
817 126 adas
%         \item \textbf{weakening sub-case}: this is the case  when one of the premises of $c$ is a $wk$ rule. W.l.o.g. assume that it is the left premise of $c$ which is conclusion of $\rigrul{\wk}$, with principal formula $A$. We eliminate the cut by keeping only the l.h.s. proof $\pi_1$, removing the last cut $c$ and last    $\rigrul{\wk}$ rule    on $A$, and by adding enough
818 126 adas
%        $\rigrul{\wk}$, $\lefrul{\wk}$ rules to introduce all the new formulas in the final sequent.  The degree has decreased.
819 126 adas
%
820 126 adas
%      \item \textbf{exponential sub-case}: this is when one of the premises of $c$ is conclusion of a $cntr$, $\rigrul{?}$ or $\lefrul{!}$ rule on a formula $?A$ or $!A$, and the other one is not a conclusion of $\wk$.
821 126 adas
%
822 126 adas
%       Assume w.l.o.g. that it is the right premise which is conclusion of $\lefrul{\cntr}$ or $\lefrul{!}$ on $!A$, and thus the only possibility for the left premise is to  be conclusion of $\rigrul{!}$.  This is rule $(S_1)$ on the picture, last rule of the subderivation $\pi_1$, and we denote its conclusion as $!\Gamma' \seqar ?\Delta', !A$. We will use here a global rewriting step. For that consider in $\pi_2$ all the top-most direct ancestors of the cut-formula $!A$, that is to say direct ancestors which do not have any more direct ancestors above. Let us denote them as $!A^{j}$ for $1\leq j \leq k$. Observe that each $!A^{j}$ is principal formula of a rule $\lefrul{!}$ or $\lefrul{wk}$. Denote by $\rho$ the subderivation
823 126 adas
%       of $\pi_2$ which has as leaves the sequents premises of these  $\lefrul{!}$ or $\lefrul{wk}$ rules with conclusion containing $!A^{j}$.
824 126 adas
%       Let $\rho'$ be a derivation obtained from $\rho$ by renaming if necessary eigenvariables occurring in premises of rules $\lefrul{\exists}$, $\rigrul{\forall}$, $(R)$  so that none of them belongs to $FV(!\Gamma', ?\Delta')$, where we recall that $!\Gamma' \seqar ?\Delta',!A$ is the l.h.s. premise of the cut $c$.
825 126 adas
%  Now, let $\pi'_1$ be the immediate subderivation of $\pi_1$, of conclusion       $!\Gamma' \seqar ?\Delta',A$.  We then define the derivation
826 126 adas
%  $\rho''$ obtained from   $\rho'$ in the following way:
827 126 adas
%  \begin{itemize}
828 126 adas
%  \item add a cut $c_j$ with (a copy) of $\pi'_1$ on $A^j$ at each leaf which is premise of a rule  $\lefrul{!}$;
829 126 adas
%  \item add to each sequent coming from $\rho'$  an additional context $!\Gamma'$ on the l.h.s. and an additional context $?\Delta'$ on the r.h.s., and additional $wk$ rules to introduce these formulas below the $\lefrul{wk}$ rules on formulas $!A^{j}$;
830 126 adas
%  \item introduce suitable $\lefrul{cntr}$ and $\rigrul{cntr}$ rules after multiplicative binary rules $\rigrul{\land}$, $\lefrul{\lor}$  in such a way to replace $!\Gamma', !\Gamma'$ (resp. $?\Delta', ?\Delta'$) by  $!\Gamma'$ (resp. $?\Delta'$).
831 126 adas
%  \end{itemize}
832 126 adas
%
833 126 adas
%  It can be checked that  $\rho''$ is a valid derivation, because all the conditions for context-sensitive rules $(\rigrul{\forall})$, $(\lefrul{\exists})$, $(\rigrul{!})$, $(\lefrul{?})$, $(R)$ are satisfied. In particular the rules $(\rigrul{!})$, $(\lefrul{?})$, $(R)$ are satisfied because the contexts have been enlarged with $!$ formulas on the l.h.s. of the sequents ($!\Gamma'$) and ?  formulas on the r.h.s. of the sequents ($?\Gamma'$).
834 126 adas
%
835 126 adas
%  Now, let $\pi'$ be the derivation obtained from $\pi$ by removing the cut $c$ and replacing the subderivation $\rho$ by $\rho''$. The derivation $\pi'$ is a valid one, it has the same conclusion $!\Gamma', \Sigma \seqar ?\Delta', \Pi$ and with respect to $\pi$ we have replaced one non-anchored cut $c$ with at most $k$ ones $c_j$, but which are of strictly lower degree. So $\deg(\pi')<\deg(\pi)$ and we are done.
836 126 adas
%
837 126 adas
%
838 126 adas
%      \item \textbf{logical sub-case}: we are now left with the case where both premises of $c$ are conclusions of rules others than $?$, $!$, $wk$, $cntr$. We can thus apply Lemma \ref{lem:logical steps}.
839 126 adas
%         If one of the premises is an axiom $\lefrul{\bot}$, $\id$ or $\rigrul{\bot}$, then $\pi$ can be rewritten to a suitable proof $\pi'$ by removing $c$ and the axiom rule. Otherwise both premises introduce the same connective, either  $\land$, $\lor$, $\laor$, $\laand$, $\forall$ or $\exists$. In each case a specific rewriting rule replaces the cut $c$ with one cut of strictly lower degree.
840 126 adas
%      %See the Appendix.
841 126 adas
%           \end{itemize}
842 126 adas
%     \end{itemize}
843 126 adas
%     \end{proof}
844 126 adas
845 126 adas
846 126 adas
\section{A variant of arithmetic in linear logic}
847 126 adas
\label{sect:arithmetic}
848 126 adas
For the remainder of this article we will consider an implementation of arithmetic in the sequent calculus based on the theory $\bharith$ of Bellantoni and Hofmann in \cite{BelHof:02}. The axioms that we present are obtained from $\bharith$ by using linear logic connectives in place of their classical analogues, calibrating the use of additives or multiplicatives in order to be compatible with the completeness and witnessing arguments that we present in Sects.~\ref{sect:bc-convergence} and \ref{sect:wfm}. We also make use of free variables and the structural delimiters of the sequent calculus to control the logical complexity of nonlogical rules.
849 126 adas
850 126 adas
851 126 adas
We will work in the \emph{affine} variant of linear logic, which validates weakening: $(A \land B )\limp A$. There are many reasons for this; essentially it does not have much effect on complexity while also creating a more robust proof theory. For example it induces the equivalence:
852 126 adas
\(
853 126 adas
!(A\land B) \equiv (!A \land !B)
854 126 adas
\).\footnote{Notice that the right-left direction is already valid in usual linear logic, but the left-right direction requires weakening.}
855 126 adas
856 126 adas
857 126 adas
%We define a variant of arithmetic inspired by Bellantoni and Hofmann's $A^1_2$. We describe later some connections to bounded arithmetic.
858 126 adas
859 126 adas
860 126 adas
\newcommand{\lang}{\mathcal L}
861 126 adas
862 126 adas
\subsection{Axiomatisation and an equivalent rule system}
863 126 adas
864 126 adas
%\begin{definition}
865 126 adas
%[Language]
866 126 adas
We consider the language $\lang$ consisting of the constant symbol $\epsilon$, unary function symbols $\succ_0 , \succ_1$ and the predicate symbol  $\word$, together with function symbols $f,g,h$ etc.
867 126 adas
%\end{definition}
868 126 adas
$\lang$-structures are typically extensions of $\Word = \{ 0,1 \}^*$, in which $\epsilon, \succ_0, \succ_1$ are intended to have their usual interpretations. The $\word$ predicate is intended to indicate those elements of the model that are binary words (in the same way as Peano's $N$ predicate indicates those elements that are natural numbers).
869 126 adas
870 126 adas
As an abbreviation, we write $\word (\vec t)$ for $\bigotimes^{|\vec t|}_{i=1} \word(t_i)$.
871 126 adas
872 126 adas
\begin{remark}
873 126 adas
	[Interpretation of natural numbers]
874 126 adas
	Notice that the set $\Nat^+$ of positive integers is $\lang$-isomorphic to $\Word$ under the interpretation $\{ \epsilon \mapsto 1 , \succ_0 (x) \mapsto 2x , \succ_1 (x) \mapsto 2x+1 \}$, so we could equally consider what follows as theories over $\Nat^+$.
875 126 adas
\end{remark}
876 126 adas
877 126 adas
878 126 adas
The `basic' axioms are essentially the axioms of Robinson arithmetic (or Peano Arithmetic without induction) without axioms for addition and multiplication.
879 126 adas
%\footnote{They are also similar to the `generative' axioms of Leivant's intrinsic theories [cite] for this signature.}
880 126 adas
Let us write $\forall x^\word . A$ for $\forall x . ( \word(x) \limp A )$ and $\exists x^\word . A$ for $\exists x . ( \word(x) \land A )$. We use the abbreviations $\forall x^{!\word}$ and $\exists x^{!\word}$ similarly.
881 126 adas
882 126 adas
\newcommand{\wordcntr}{\word_\cntr}
883 126 adas
\newcommand{\natcntr}{\nat_\cntr}
884 126 adas
\newcommand{\geneps}{\word_{\epsilon}}
885 126 adas
\newcommand{\genzer}{\word_{0}}
886 126 adas
\newcommand{\genone}{\word_{1}}
887 126 adas
888 126 adas
889 126 adas
\newcommand{\sepeps}{\epsilon}
890 126 adas
\newcommand{\sepzer}{\succ_{0}}
891 126 adas
\newcommand{\sepone}{\succ_{1}}
892 126 adas
893 126 adas
\newcommand{\inj}{\mathit{inj}}
894 126 adas
\newcommand{\surj}{\mathit{surj}}
895 126 adas
896 126 adas
\newcommand{\basic}{\mathit{BASIC}}
897 126 adas
898 126 adas
\begin{definition}
899 126 adas
	[Basic axioms]
900 126 adas
	The theory $\basic$ consists of the following axioms:
901 126 adas
	\[
902 126 adas
	\small
903 126 adas
	\begin{array}{rl}
904 126 adas
	%\wk & (A \land B )\limp A \\
905 126 adas
	%\geneps
906 126 adas
	& \word(\epsilon) \\
907 126 adas
	%\genzer
908 126 adas
	& \forall x^\word . \word(\succ_0 x) \\
909 126 adas
	%\genone
910 126 adas
	& \forall x^\word . \word(\succ_1 x) \\
911 126 adas
	%\sepeps & \forall x^\word . (\epsilon \neq \succ_0 x \land \epsilon \neq \succ_1 x) \\
912 126 adas
	%\sepzer & \forall x^\word , y^\word. ( \succ_0 x = \succ_0 y \limp x=y ) \\
913 126 adas
	%\sepone & \forall x^\word , y^\word. ( \succ_1 x = \succ_1 y \limp x=y ) \\
914 126 adas
	%\inj & \forall x^\word . \succ_0 x \neq \succ_1 x \\
915 126 adas
	%\surj & \forall x^\word . (x = \epsilon \laor \exists y^\word . x = \succ_0 y \laor \exists y^\word . x = \succ_1 y ) \\
916 126 adas
	%\noalign{\smallskip}
917 126 adas
	%\wordcntr & \forall x^\word . (\word(x) \land \word(x))
918 126 adas
	\end{array}
919 126 adas
	%\quad
920 126 adas
	\begin{array}{rl}
921 126 adas
	%\wk & (A \land B )\limp A \\
922 126 adas
	%\geneps & \word(\epsilon) \\
923 126 adas
	%\genzer & \forall x^\word . \word(\succ_0 x) \\
924 126 adas
	%\genone & \forall x^\word . \word(\succ_1 x) \\
925 126 adas
	%\sepeps
926 126 adas
	& \forall x^\word . (\epsilon \neq \succ_0 x \land \epsilon \neq \succ_1 x) \\
927 126 adas
	%\sepzer
928 126 adas
	& \forall x^\word , y^\word. ( \succ_0 x = \succ_0 y \limp x=y ) \\
929 126 adas
	%\sepone
930 126 adas
	& \forall x^\word , y^\word. ( \succ_1 x = \succ_1 y \limp x=y ) \\
931 126 adas
	%\inj & \forall x^\word . \succ_0 x \neq \succ_1 x \\
932 126 adas
	%\surj & \forall x^\word . (x = \epsilon \laor \exists y^\word . x = \succ_0 y \laor \exists y^\word . x = \succ_1 y ) \\
933 126 adas
	%\noalign{\smallskip}
934 126 adas
	%\wordcntr & \forall x^\word . (\word(x) \land \word(x))
935 126 adas
	\end{array}
936 126 adas
	%\quad
937 126 adas
	\begin{array}{rl}
938 126 adas
	%\wk & (A \land B )\limp A \\
939 126 adas
	%\geneps & \word(\epsilon) \\
940 126 adas
	%\genzer & \forall x^\word . \word(\succ_0 x) \\
941 126 adas
	%\genone & \forall x^\word . \word(\succ_1 x) \\
942 126 adas
	%\sepeps & \forall x^\word . (\epsilon \neq \succ_0 x \land \epsilon \neq \succ_1 x) \\
943 126 adas
	%\sepzer & \forall x^\word , y^\word. ( \succ_0 x = \succ_0 y \limp x=y ) \\
944 126 adas
	%\sepone & \forall x^\word , y^\word. ( \succ_1 x = \succ_1 y \limp x=y ) \\
945 126 adas
	%\inj
946 126 adas
	& \forall x^\word . \succ_0 x \neq \succ_1 x \\
947 126 adas
	%\surj
948 126 adas
	& \forall x^\word . (x = \epsilon \laor \exists y^\word . x = \succ_0 y \laor \exists y^\word . x = \succ_1 y ) \\
949 126 adas
	%\noalign{\smallskip}
950 126 adas
	%\wordcntr
951 126 adas
	& \forall x^\word . (\word(x) \land \word(x))
952 126 adas
	\end{array}
953 126 adas
	\]
954 126 adas
\end{definition}
955 126 adas
956 126 adas
These axioms insist that, in any model, the set induced by $\word (x)$ has the free algebra $\Word$ as an initial segment.
957 126 adas
Importantly, there is also a form of contraction for the $\word$ predicate.
958 126 adas
We will consider theories over $\basic$ extended by induction schemata:
959 126 adas
960 126 adas
\begin{definition}
961 126 adas
	[Induction]
962 126 adas
	The \emph{(polynomial) induction} axiom schema, $\ind$, consists of the following axioms,
963 126 adas
	\[
964 126 adas
	%\begin{array}{rl}
965 126 adas
	%& A(\epsilon) \\
966 126 adas
	%\limp & !(\forall x^{!\word} . ( A(x) \limp A(\succ_0 x) ) ) \\
967 126 adas
	%\limp & !(\forall x^{!\word} . ( A(x) \limp A(\succ_1 x) ) ) \\
968 126 adas
	%\limp & \forall x^{!\word} . A(x)
969 126 adas
	%\end{array}
970 126 adas
	A(\epsilon)
971 126 adas
	\limp !(\forall x^{!\word} . ( A(x) \limp A(\succ_0 x) ) )
972 126 adas
	\limp  !(\forall x^{!\word} . ( A(x) \limp A(\succ_1 x) ) )
973 126 adas
	\limp  \forall x^{!\word} . A(x)
974 126 adas
	\]
975 126 adas
	for each formula $A(x)$.
976 126 adas
977 126 adas
	For a class $\Xi$ of formulae, $\cax{\Xi}{\ind}$ denotes the set of induction axioms when $A(x) \in \Xi$.
978 126 adas
979 126 adas
	We write $I\Xi$ to denote the theory consisting of $\basic$ and $\cax{\Xi}{\ind}$.
980 126 adas
\end{definition}
981 126 adas
982 126 adas
We use the terminology `polynomial induction' to maintain consistency with the bounded arithmetic literature, e.g.\ in \cite{Buss86book}, where it is distinguished from induction on the \emph{value} of a string (construed as a natural number). The two forms have different computational behaviour, specifically with regards to complexity, but we will restrict attention to $\ind$ throughout this work, and thus may simply refer to it as `induction'.
983 126 adas
984 126 adas
985 126 adas
%\anupam{in fact just give general case for a universal closed formula. Then remark about invertibility of negation giving purely positive initial steps. These occur in section 6 so no need to write them out here.}
986 126 adas
\begin{proposition}
987 126 adas
	[Equivalent rules]
988 126 adas
	\label{prop:equiv-rules}
989 126 adas
	$\basic$ is equivalent to the following set of rules,
990 126 adas
	\[
991 126 adas
	\small
992 126 adas
	\begin{array}{l}
993 126 adas
	\begin{array}{cccc}
994 126 adas
	\vlinf{\geneps}{}{\seqar \word (\epsilon)}{}&
995 126 adas
	\vlinf{\genzer}{}{\word(t) \seqar \word(\succ_0 t)}{}&
996 126 adas
	\vlinf{\sepeps_0}{}{ \word (t)   \seqar \epsilon \neq \succ_0 t}{} &
997 126 adas
	\vlinf{\sepzer}{}{\word (s) , \word (t)  , \succ_0 s = \succ_0 t\seqar s = t }{}\\
998 126 adas
	\vlinf{\inj}{}{\word(t) \seqar\succ_0 t \neq \succ_1 t}{}&
999 126 adas
	\vlinf{\genone}{}{\word(t) \seqar \word(\succ_1 t)}{}&
1000 126 adas
	\vlinf{\sepeps_1}{}{ \word (t)   \seqar \epsilon \neq \succ_1 t }{}&
1001 126 adas
	\vlinf{\sepone}{}{\word (s) , \word (t)  , \succ_1 s = \succ_1 t\seqar s = t }{}
1002 126 adas
	\end{array}
1003 126 adas
	\\
1004 126 adas
	\vlinf{\surj}{}{\word (t) \seqar t = \epsilon \laor \exists y^\word . t = \succ_0 y \laor \exists y^\word . t = \succ_1 y }{}
1005 126 adas
	\qquad
1006 126 adas
	\vlinf{\wordcntr}{}{\word(t) \seqar \word(t) \land \word(t) }{}
1007 126 adas
	\end{array}
1008 126 adas
	\]
1009 126 adas
	%\[
1010 126 adas
	%\vlinf{}{}{\seqar \word (\epsilon)}{}
1011 126 adas
	%\quad
1012 126 adas
	%\vlinf{}{}{\word(t) \seqar \word(\succ_0 t)}{}
1013 126 adas
	%\quad
1014 126 adas
	%\vlinf{}{}{\word(t) \seqar \word(\succ_1 t)}{}
1015 126 adas
	%\qquad \qquad
1016 126 adas
	%\vlinf{}{}{\word(t) \seqar \word(t) \land \word(t) }{}
1017 126 adas
	%\]
1018 126 adas
	%\[
1019 126 adas
	%\vlinf{}{}{ \word (t)  , \epsilon = \succ_0 t \seqar }{}
1020 126 adas
	%\quad
1021 126 adas
	%\vlinf{}{}{ \word (t)  , \epsilon = \succ_1 t \seqar }{}
1022 126 adas
	%\quad
1023 126 adas
	%\vlinf{}{}{\word (s) , \word (t)  , \succ_0 s = \succ_0 t\seqar s = t }{}
1024 126 adas
	%\quad
1025 126 adas
	%\vlinf{}{}{\word (s) , \word (t)  , \succ_1 s = \succ_1 t\seqar s = t }{}
1026 126 adas
	%\]
1027 126 adas
	%\[
1028 126 adas
	%\vlinf{}{}{\word(t), \succ_0 t = \succ_1 t \seqar}{}
1029 126 adas
	%\quad
1030 126 adas
	%\vlinf{}{}{\word (t) \seqar t = \epsilon \laor \exists y^\word . t = \succ_0 y \laor \exists y^\word . t = \succ_1 y }{}
1031 126 adas
	%\]
1032 126 adas
	%\vspace{1em}
1033 126 adas
	and $\ind$ is equivalent to,
1034 126 adas
	\begin{equation}
1035 126 adas
	\label{eqn:ind-rule}
1036 126 adas
	\small
1037 126 adas
	\vliinf{\ind}{}{ !\word(t) , !\Gamma , A(\epsilon) \seqar A(t), ?\Delta }{ !\word(a) , !\Gamma, A(a) \seqar A(\succ_0 a) , ?\Delta }{ !\word(a) , !\Gamma, A(a) \seqar A(\succ_1 a) , ?\Delta  }
1038 126 adas
	\end{equation}
1039 126 adas
	where, in all cases, $t$ varies over arbitrary terms and the eigenvariable $a$ does not occur in the lower sequent of the $\ind$ rule.
1040 126 adas
\end{proposition}
1041 126 adas
1042 126 adas
Note, in particular, that since this system of rules is closed under substitution of terms for free variables, free-cut elimination, Thm.~\ref{thm:free-cut-elim}, applies.
1043 126 adas
1044 126 adas
1045 126 adas
When converting from a $\ind$ axiom instance to a rule instance (or vice-versa) the induction formula remains the same. For this reason when we consider theories that impose logical restrictions on induction we can use either interchangeably.
1046 126 adas
1047 126 adas
\begin{remark}
1048 126 adas
	%\anupam{Mention that two induction rules are not the same. This is crucial in, e.g.\ the completeness section for the case of PRN.}
1049 126 adas
	Usually the induction axiom is also equivalent to a formulation with a designated premise for the base case:
1050 126 adas
	\begin{equation}
1051 126 adas
	\label{eqn:ind-rul-base-prem}
1052 126 adas
	\vliiinf{}{}{ !\word(t) , !\Gamma  \seqar A(t), ?\Delta }{!\Gamma \seqar A(\epsilon)}{ !\word(a) , !\Gamma, A(a) \seqar A(\succ_0 a) , ?\Delta }{ !\word(a) , !\Gamma, A(a) \seqar A(\succ_1 a) , ?\Delta  }
1053 126 adas
	\end{equation}
1054 126 adas
	However,
1055 126 adas
	%but
1056 126 adas
	this is not true in the linear logic setting since the proof that \eqref{eqn:ind-rul-base-prem} simulates \eqref{eqn:ind-rule} above relies on contraction on the formula $A(\epsilon)$, which is not in general available. Therefore \eqref{eqn:ind-rul-base-prem} is somewhat weaker than \eqref{eqn:ind-rule}, and is in fact equivalent to a version of the induction axiom with $!A(\epsilon)$ in place of $A(\epsilon)$. This distinction turns out to be crucial in Sect.~\ref{sect:bc-convergence}, namely when proving the convergence of functions defined by predicative recursion on notation.
1057 126 adas
\end{remark}
1058 126 adas
1059 126 adas
%
1060 126 adas
%\subsection{Equivalent rule systems}
1061 126 adas
%Instead of weakening and induction axioms, we consider the following rules, which are provably equivalent:
1062 126 adas
%
1063 126 adas
%\[
1064 126 adas
%\vlinf{\lefrul{\wk}}{}{\Gamma, A \seqar \Delta}{\Gamma \seqar \Delta}
1065 126 adas
%\quad
1066 126 adas
%\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta}
1067 126 adas
%\quad
1068 126 adas
%\vliinf{\pind}{}{ !N(t) , !\Gamma , A(\epsilon) \seqar A(t), ?\Delta }{ !N(a) , !\Gamma, A(a) \seqar A(\succ_0 a) , ?\Delta }{ !N(a) , !\Gamma, A(a) \seqar A(\succ_0 a) , ?\Delta  }
1069 126 adas
%\]
1070 126 adas
%
1071 126 adas
%\todo{provable equivalence, if necessary.}
1072 126 adas
%
1073 126 adas
%The inclusion of the first two rules places us in an \emph{affine} setting, whereas the induction rule allows better proof theoretic manipulation.
1074 126 adas
%
1075 126 adas
%Finally, for each universally quantified axiom, we consider instead the schema of initial rules with unbound terms in place of universally quantified variables, again for proof theoretic reasons:
1076 126 adas
%\[
1077 126 adas
%\vlinf{\natcntr}{}{\nat(t) \seqar \nat(t) \land \nat(t) }{}
1078 126 adas
%\quad
1079 126 adas
%\vlinf{\nat_\epsilon}{}{\seqar \nat (\epsilon)}{}
1080 126 adas
%\quad
1081 126 adas
%\vlinf{\nat_0}{}{\nat(t) \seqar \nat(\succ_0 t)}{}
1082 126 adas
%\quad
1083 126 adas
%\vlinf{\nat_1}{}{\nat(t) \seqar \nat(\succ_1 t)}{}
1084 126 adas
%\]
1085 126 adas
%\[
1086 126 adas
%\vlinf{\epsilon^0}{}{ \nat (t)  , \epsilon = \succ_0 t \seqar }{}
1087 126 adas
%\quad
1088 126 adas
%\vlinf{\epsilon^1}{}{ \nat (t)  , \epsilon = \succ_1 t \seqar }{}
1089 126 adas
%\quad
1090 126 adas
%\vlinf{\succ_0}{}{\nat (s) , \nat (t)  , \succ_0 s = \succ_0 t\seqar s = t }{}
1091 126 adas
%\quad
1092 126 adas
%\vlinf{\succ_1}{}{\nat (s) , \nat (t)  , \succ_1 s = \succ_1 t\seqar s = t }{}
1093 126 adas
%\]
1094 126 adas
%\[
1095 126 adas
%\vlinf{\inj}{}{\nat(t), \succ_0 t = \succ_1 t \seqar}{}
1096 126 adas
%\quad
1097 126 adas
%\vlinf{\surj}{}{\nat (t) \seqar t = \epsilon , \exists y^\nat . t = \succ_0 y , \exists y^\nat . t = \succ_1 y }{}
1098 126 adas
%\]
1099 126 adas
%%in place of their corresponding axioms.
1100 126 adas
%
1101 126 adas
%%\todo{in existential above, is there a prenexing problem?}
1102 126 adas
%
1103 126 adas
%
1104 126 adas
%\anupam{
1105 126 adas
%NEW INDUCTION STEP:
1106 126 adas
%\[
1107 126 adas
%\vliiinf{\pind}{}{!\Gamma, !\nat(t) , \nat (\vec x) \seqar A(t, \vec x) }{!\Gamma , \nat (\vec x) \seqar A(\epsilon, \vec x) }{ !\Gamma, !\nat (a) , \nat (\vec x) , A(a, \vec x) \seqar A(\succ_i a, \vec x) }{!\Gamma, !\nat (a) , \nat (\vec x) , A(a, \vec x) \seqar A(\succ_i a, \vec x)}
1108 126 adas
%\]
1109 126 adas
%
1110 126 adas
%Need to examine strength of this: somewhat weaker since needs actual premiss for base case (only significant because of linear logic), but somewhat stronger because of use of $\nat(\vec x)$ on the left in context.
1111 126 adas
%}
1112 126 adas
1113 126 adas
1114 126 adas
\subsection{Provably convergent functions}
1115 126 adas
%
1116 126 adas
%\anupam{Herbrand-G\"odel equational programs from Kle52, cited in Lei94b.}
1117 126 adas
%
1118 126 adas
%\anupam{`coherent' programs, defined by Leivant. = consistent so has a model.}
1119 126 adas
1120 126 adas
As in the work of Bellantoni and Hofmann \cite{BelHof:02} and Leivant before \cite{Leivant94:found-delin-ptime}, our model of computation is that of Herbrand-G\"odel style \emph{equational specifications}. These are expressive enough to define every partial recursive function, which is the reason why we also need the $\word$ predicate to have a meaningful notion of `provably convergent function'.
1121 126 adas
1122 126 adas
\begin{definition}
1123 126 adas
	[Equational specifications and convergence]
1124 126 adas
	An \emph{equational specification} (ES) is a set of equations between terms. We say that an ES is \emph{coherent} if the equality between any two distinct ground terms cannot be proved by equational logic.
1125 126 adas
	%	\footnote{This is the quantifier-free fragment of first-order logic with equality and no other predicate symbols.}
1126 126 adas
1127 126 adas
	The \emph{convergence statement} $\conv (f , \eqspec)$ for an equational specification $\eqspec$ and a function symbol $f$ (that occurs in $\eqspec$) is the following formula:
1128 126 adas
	\[
1129 126 adas
	\bigotimes_{A \in \eqspec} ! \forall \vec x . A
1130 126 adas
	\ \limp \
1131 126 adas
	\forall \vec x^{! \word} .  \word (f (\vec x) )
1132 126 adas
	\]
1133 126 adas
\end{definition}
1134 126 adas
1135 126 adas
1136 126 adas
The notion of coherence appeared in \cite{Leivant94:found-delin-ptime} and it is important to prevent a convergence statement from being a vacuous implication. In this work we will typically consider only coherent ESs, relying on the following result which is also essentially in \cite{Leivant94:found-delin-ptime}:
1137 126 adas
\begin{proposition}
1138 126 adas
	\label{prop:eq-spec-model}
1139 126 adas
	%	For every equational specification $\eqspec$, its universal closure has a model.
1140 126 adas
	The universal closure of a coherent ES $\eqspec$ has a model satisfying $\basic + \ind$.
1141 126 adas
\end{proposition}
1142 126 adas
1143 126 adas
%\begin{proof}
1144 126 adas
%%\todo{ take $\Word \cup \{\bot\}$ or use completeness? Omit if no time. }
1145 126 adas
%Consider the standard model $\Word $ extended by an element $\infty$ with $\succ_0 \infty = \succ_1 \infty = \infty$. Setting $\word = \Word$ means this model satisfies $\basic$. Now, for each function symbol $f$, define $f(\sigma) = \tau$ for every $\sigma, \tau \in \Word$ for which this equation is forced by $\eqspec$. Otherwise define $f(\sigma) = f(\infty) = \infty$.
1146 126 adas
%\todo{replace with argument using completeness.}
1147 126 adas
%\end{proof}
1148 126 adas
1149 126 adas
One issue is that a convergence statement contains universal quantifiers, which is problematic for the extraction of functions by the witness function method later on.
1150 126 adas
%	\footnote{Intuitively universal quantifiers can be interpreted by type 1 functions. From here, in an intuitionistic setting, a $\forall$-right step can be directly realised, but in the classical setting the presence of side-formulae on the right can cause issues for constructivity.}
1151 126 adas
We avoid this problem by appealing to the deduction theorem and further invertibility arguments:
1152 126 adas
1153 126 adas
1154 126 adas
Let us write $\closure{\eqspec}$ for the closure of a specification $\eqspec$ under substitution of terms for free variables.
1155 126 adas
1156 126 adas
\begin{lemma}
1157 126 adas
	\label{lemma:spec-norm-form}
1158 126 adas
	A system $\system$ proves $\conv (f , \eqspec)$ if and only if $\system \cup \closure{\eqspec}$ proves $!\word (\vec a) \seqar \word ( f (\vec a) )$.
1159 126 adas
\end{lemma}
1160 126 adas
\begin{proof}[Proof sketch]
1161 126 adas
	By deduction, Thm.~\ref{thm:deduction}, and invertibility arguments.
1162 126 adas
\end{proof}
1163 126 adas
1164 126 adas
Notice that the initial rules from $ \closure{\eqspec}$ are also closed under term substitution, and so compatible with free-cut elimination, and that $\closure{\eqspec}$ and $\word (\vec a) \seqar \word ( f (\vec a) )$ are free of negation and universal quantifiers.
1165 126 adas
1166 126 adas
1167 126 adas
\subsection{$\word$-guarded quantifiers, rules and cut-reduction cases}
1168 126 adas
We consider a quantifier hierarchy here analogous to the arithmetical hierarchy, where each class is closed under positive multiplicative operations. In the scope of this work we are only concerned with the first level:
1169 126 adas
1170 126 adas
%We now introduce a quantifier hierarchy of formulae so we can identify the theories that we will be concerned with for the remainder of this article.
1171 126 adas
%
1172 126 adas
%
1173 126 adas
\begin{definition}
1174 126 adas
	%[Quantifier hierarchy]
1175 126 adas
	We define $\sigzer $ as the class of multiplicative formulae that are free of quantifiers where $\word$ occurs positively.\footnote{Since our proof system is in De Morgan normal form, this is equivalent to saying that there is no occurrence of $\word^\bot$.}
1176 126 adas
	The class $\sigone$ is the closure of $\sigzer$ by $\exists$, $\lor$ and $\land$.
1177 126 adas
	%	For $i> 0$ we define $\Sigma^\word_i$ and $\Pi^\word_i$ as follows:
1178 126 adas
	%	\begin{itemize}
1179 126 adas
	%		\item If $A \in \Sigma^\word_{i-1} \cup \Pi^\word_{i-1}$ then $A \in \Sigma^\word_i$ and $A \in \Pi^\word_i$.
1180 126 adas
	%		\item If $A \in \Sigma^\word_i$ then $\exists x^\word . A \in \Sigma^\word_i$.
1181 126 adas
	%		\item If $A \in \Pi^\word_i$ then $\forall x^\word . A \in \Pi^\word_i$.
1182 126 adas
	%		\item If $A,B \in \Sigma^\word_i$ then $A \lor B$ and $A\land B \in \Sigma^\word_i$.
1183 126 adas
	%		\item If $A,B \in \Pi^\word_i$ then $A \lor B$ and $A\land B \in \Pi^\word_i$.
1184 126 adas
	%	\end{itemize}
1185 126 adas
	%	We add $+$ in superscript to a class to restrict it to formulae where $\word$ occurs in only positive context.
1186 126 adas
\end{definition}
1187 126 adas
1188 126 adas
For the remainder of this article we mainly work with the theory $\arith$, i.e.\ $\basic + \cax{\sigone}{\ind}$.
1189 126 adas
1190 126 adas
%\vspace{1em}
1191 126 adas
1192 126 adas
It will be useful for us to work with proofs using the `guarded' quantifiers $\forall x^\word$ and $\exists x^\word$ in place of their unguarded counterparts, in particular to carry out the argument in Sect.~\ref{sect:wfm}.
1193 126 adas
%To this end we introduce rules for these guarded quantifiers and show that they are compatible with free-cut elimination.
1194 126 adas
%
1195 126 adas
%For the quantifiers $\exists x^N $ and $\forall x^N$ we introduce the following rules, which are compatible with free-cut elimination:
1196 126 adas
%For the quantifiers $\exists x^\word $ and $\forall x^\word$ we
1197 126 adas
Therefore we define the following rules, which are already derivable:
1198 126 adas
\[
1199 126 adas
%\begin{array}{cc}
1200 126 adas
%\vlinf{}{}{\Gamma \seqar \Delta, \forall x^\word . A(x)}{\Gamma, \word(a) \seqar \Delta , A(a)}
1201 126 adas
%\quad & \quad
1202 126 adas
%\vlinf{}{}{\Gamma, \word(t),\forall x^\word A(x) \seqar \Delta}{\Gamma,  A(t) \seqar \Delta}
1203 126 adas
%\\
1204 126 adas
%\noalign{\bigskip}
1205 126 adas
%\vlinf{}{}{\Gamma , \exists x^\word A(x) \seqar \Delta}{\Gamma, \word(a), A(a) \seqar \Delta}
1206 126 adas
%\quad &\quad
1207 126 adas
%\vlinf{}{}{\Gamma, \word(t) \seqar \Delta , \exists x^\word . A(x)}{\Gamma  \seqar \Delta, A(t)}
1208 126 adas
%\end{array}
1209 126 adas
\vlinf{}{}{\Gamma \seqar \Delta, \forall x^\word . A(x)}{\Gamma, \word(a) \seqar \Delta , A(a)}
1210 126 adas
\quad
1211 126 adas
\vlinf{}{}{\Gamma, \word(t),\forall x^\word A(x) \seqar \Delta}{\Gamma,  A(t) \seqar \Delta}
1212 126 adas
\quad
1213 126 adas
\vlinf{}{}{\Gamma , \exists x^\word A(x) \seqar \Delta}{\Gamma, \word(a), A(a) \seqar \Delta}
1214 126 adas
\quad
1215 126 adas
\vlinf{}{}{\Gamma, \word(t) \seqar \Delta , \exists x^\word . A(x)}{\Gamma  \seqar \Delta, A(t)}
1216 126 adas
\]
1217 126 adas
1218 126 adas
%\begin{proposition}
1219 126 adas
%	Any principal cut between the quantifier rules above and a logical step is reducible.
1220 126 adas
%	\end{proposition}
1221 126 adas
1222 126 adas
We now show that these rules are compatible with free-cut elimination.
1223 126 adas
1224 126 adas
\begin{proposition}\label{prop:logicalstepguardedquantifer}
1225 126 adas
	Any cut between the principal formula of a quantifier rule above and the principal formula of  a logical step is reducible.
1226 126 adas
\end{proposition}
1227 126 adas
\begin{proof}
1228 126 adas
	For a cut on $\forall x^\word . A(x)$, the reduction is obtained by performing successively the two reduction steps for the $\forall$ and $\limp$ connectives. The case of $\exists x^\word A(x)$ is similar.
1229 126 adas
\end{proof}
1230 126 adas
1231 126 adas
\begin{corollary}
1232 126 adas
	[Free-cut elimination for guarded quantifiers]
1233 126 adas
	\label{cor:free-cut-elim-guarded-quants}
1234 126 adas
	Given a system  $\system$, any  $\system$-proof $\pi$ using $\exists x^\word $ and $\forall x^\word$  rules can be transformed into free-cut free form.
1235 126 adas
\end{corollary}
1236 126 adas
%\begin{proof}
1237 126 adas
%  First translate the proof $\pi$ into the proof $\pi_0$ where all guarded quantifiers rules have been replaced by their derivation, and say that two rule instances in $\pi_0$ are \textit{siblings} if they come from the same derivation of a guarded quantifier rule. So in $\pi_0$ any two sibling rules are consecutive. Now observe that in the free-cut elimination procedure:
1238 126 adas
%  \begin{itemize}
1239 126 adas
%  \item when we do a commutation step of a cut with a $\forall$ (resp. $\exists$ rule) that has a sibling, we can follow it by another commutation of cut with its sibling,
1240 126 adas
%  \item when we do a logical cut-elimination step on a $\forall$ (resp. $\exists$ rule) that has a sibling, we can follow it by a logical cut-elimination step on its sibling, as illustrated by Prop. \ref{prop:logicalstepguardedquantifer}.
1241 126 adas
%  \end{itemize}
1242 126 adas
%  In this way sibling rules remain consecutive in the proof-tree throughout the reduction, and the procedure transforms the proof into one with only anchored cuts.
1243 126 adas
%\end{proof}
1244 126 adas
1245 126 adas
As a consequence of this Corollary observe that any $I\Sigma^{\word^+}_{1}$-proof can be transformed into a proof which is free-cut free and whose formulas contain only $\exists x^\word$ quantifiers.
1246 126 adas
1247 126 adas
1248 126 adas
\section{Bellantoni-Cook characterisation of polynomial-time functions}
1249 126 adas
1250 126 adas
We recall the Bellantoni-Cook  algebra BC of functions defined by \emph{safe} (or \emph{predicative}) recursion on notation \cite{BellantoniCook92}. These will be employed for proving both the completeness   (all polynomial time functions are provably convergent) and the soundness result (all provably total functions are polynomial time) of $\arith$. We consider function symbols $f$ over the domain  $\Word$ with sorted arguments $(\vec u ; \vec x)$, where the inputs $\vec u$ are called \textit{normal} and $\vec x$ are called \textit{safe}.
1251 126 adas
%Each symbol is given with an arity $m$ and a number $n\leq m$ of normal arguments, and will be denoted as $f(\vec{u};\vec{x})$ where $\vec{u}$ (resp. $\vec{x}$) are the normal (resp. safe) arguments.
1252 126 adas
%We say that an expression is well-sorted if the arities of function symbols in it is respected.
1253 126 adas
1254 126 adas
%\patrick{Note that below I used the terminology 'BC programs', to distinguish them from 'functions' in the extensional sense, which I find clearer. But if you prefer to keep 'BC functions' it is all right for me.}
1255 126 adas
\begin{definition}
1256 126 adas
	[BC programs]
1257 126 adas
	BC is the set of functions generated as follows:
1258 126 adas
	%	\paragraph{Initial functions}
1259 126 adas
	%	The initial functions are:
1260 126 adas
	\begin{enumerate}
1261 126 adas
		\item The constant functions $\epsilon^k$ which takes $k$ arguments and outputs $\epsilon \in \Word$.
1262 126 adas
		\item The projection functions $\pi^{m,n}_k ( x_1 , \dots , x_m ; x_{m+1} , \dots, x_{m+n} )  := x_k$ for $n,m \in \Word$ and $1 \leq k \leq m+n$.
1263 126 adas
		\item The successor functions $\succ_i ( ; x) := xi$ for $i = 0,1$.
1264 126 adas
		\item The predecessor function $\pred (; x) := \begin{cases}
1265 126 adas
		\epsilon &  \mbox{ if }  x = \epsilon \\
1266 126 adas
		x' &  \mbox{ if }  x = x'i
1267 126 adas
		\end{cases}$.
1268 126 adas
		\item The conditional function
1269 126 adas
		\[
1270 126 adas
		%\begin{array}{rcl}
1271 126 adas
		%C (; \epsilon, y_\epsilon , y_0, y_1  ) & = & y_\epsilon \\
1272 126 adas
		%C(; x0 , y_\epsilon , y_0, y_1) & = & y_0 \\
1273 126 adas
		%C(; x1 , y_\epsilon , y_0, y_1) & = & y_1
1274 126 adas
		%\end{array}
1275 126 adas
		C (; \epsilon, y_\epsilon , y_0, y_1  ) := y_\epsilon
1276 126 adas
		\quad
1277 126 adas
		C(; x0 , y_\epsilon , y_0, y_1) := y_0
1278 126 adas
		\quad
1279 126 adas
		C(; x1 , y_\epsilon , y_0, y_1) := y_1
1280 126 adas
		\]
1281 126 adas
		%		$\cond (;x,y,z) := \begin{cases}
1282 126 adas
		%		y & \mbox{ if } x=x' 0 \\
1283 126 adas
		%		z & \text{otherwise}
1284 126 adas
		%		\end{cases}$.
1285 126 adas
	\end{enumerate}
1286 126 adas
1287 126 adas
	%	One considers the following closure schemes:
1288 126 adas
	\begin{enumerate}
1289 126 adas
		\setcounter{enumi}{5}
1290 126 adas
		\item Predicative recursion on notation (PRN). If $g, h_0, h_1 $ are in BC then so is $f$ defined by,
1291 126 adas
		\[
1292 126 adas
		\begin{array}{rcl}
1293 126 adas
		f(0, \vec v ; \vec x) & := & g(\vec v ; \vec x) \\
1294 126 adas
		f (\succ_i u , \vec v ; \vec x ) & := & h_i ( u , \vec v ; \vec x , f (u , \vec v ; \vec x) )
1295 126 adas
		\end{array}
1296 126 adas
		\]
1297 126 adas
		for $i = 0,1$,  so long as the expressions are well-formed. % (i.e.\ in number/sort of arguments).
1298 126 adas
		\item Safe composition. If $g, \vec h, \vec h'$ are in BC then so is $f$ defined by,
1299 126 adas
		\[
1300 126 adas
		f (\vec u ; \vec x) \quad := \quad g ( \vec h(\vec u ; ) ; \vec h' (\vec u ; \vec x) )
1301 126 adas
		\]
1302 126 adas
		so long as the expression is well-formed.
1303 126 adas
	\end{enumerate}
1304 126 adas
\end{definition}
1305 126 adas
%Note that the  programs of this class can be defined by equational specifications in a natural way, and in the following we will thus silently identify a BC program with the corresponding equational specification.
1306 126 adas
1307 126 adas
We will implicitly identify a BC function with the equational specification it induces.
1308 126 adas
The main property of BC programs is:
1309 126 adas
\begin{theorem}[\cite{BellantoniCook92}]
1310 126 adas
	The class of functions representable by BC programs is $\FP$.
1311 126 adas
\end{theorem}
1312 126 adas
Actually this property remains true if one replaces the PRN scheme by the following more general simultaneous PRN scheme \cite{BellantoniThesis}:
1313 126 adas
1314 126 adas
$(f^j)_{1\leq j\leq n}$ are defined by simultaneous PRN scheme  from $(g^j)_{1\leq j\leq n}$, $(h^j_0, h^j_1)_{1\leq j\leq n}$ if for $1\leq j\leq n$ we have:
1315 126 adas
\[
1316 126 adas
\begin{array}{rcl}
1317 126 adas
f^j(0, \vec v ; \vec x) & := & g^j(\vec v ; \vec x) \\
1318 126 adas
f^j(\succ_i u , \vec v ; \vec x ) & := & h^j_i ( u , \vec v ; \vec x , \vec{f} (u , \vec v ; \vec x) )
1319 126 adas
\end{array}
1320 126 adas
\]
1321 126 adas
for $i = 0,1$,  so long as the expressions are well-formed.
1322 126 adas
1323 126 adas
%\anupam{simultaneous recursion?}
1324 126 adas
1325 126 adas
%\anupam{also identity, hereditarily safe, expressions, etc.}
1326 126 adas
1327 126 adas
%\anupam{we implicitly associate a BC program with its equational specification}
1328 126 adas
1329 126 adas
Consider a well-formed expression $t$ built from function symbols and variables. We say that a variable $y$ occurs \textit{hereditarily safe} in $t$ if, for every subexpression $f(\vec{r}; \vec{s})$ of $t$, the terms in $\vec{r}$ do not contain $y$.
1330 126 adas
For instance $y$ occurs hereditarily safe in $f(u;y,g(v;y))$, but not in $f(g(v;y);x)$.
1331 126 adas
\begin{proposition}
1332 126 adas
	[Properties of BC programs]
1333 126 adas
	\label{prop:bc-properties}
1334 126 adas
	We have the following properties:
1335 126 adas
	\begin{enumerate}
1336 126 adas
		\item The identity function is in BC.
1337 126 adas
		\item Let $t$ be a well-formed expression built from BC functions and variables, denote its free variables as $\{u_1,\dots, u_n,x_1,\dots, x_k\}$, and assume for each $1\leq i\leq k$, $x_i$ is hereditarily safe in $t$. Then the function $f(u_1,\dots, u_n; x_1,\dots, x_k):=t$ is in BC.
1338 126 adas
		\item If $f$ is a BC function, then the function $g(\vec{u},v;\vec{x})$ defined as $f(\vec{u};v,\vec{x})$
1339 126 adas
		is also a BC program.
1340 126 adas
	\end{enumerate}
1341 126 adas
1342 126 adas
	%\begin{proposition}
1343 126 adas
	%[Properties of BC programs]
1344 126 adas
	%\label{prop:bc-properties}
1345 126 adas
	%We have the following properties:
1346 126 adas
	%\begin{enumerate}
1347 126 adas
	%\item Hereditarily safe expressions over BC programs are BC definable.
1348 126 adas
	%\item Can pass safe input to normal input.
1349 126 adas
	%\end{enumerate}
1350 126 adas
\end{proposition}
1351 126 adas
1352 126 adas
1353 126 adas
\section{Convergence of Bellantoni-Cook programs in $\arith$}
1354 126 adas
\label{sect:bc-convergence}
1355 126 adas
%\anupam{In this section, use whatever form of the deduction theorem is necessary and reverse engineer precise statement later.}
1356 126 adas
1357 126 adas
In this section we show that $I\sigzer$, and so also $\arith$, proves the convergence of any equational specification induced by a BC program, hence any function in $\FP$.
1358 126 adas
%Since BC programs can compute any polynomial-time function, we obtain a completeness result. In the next section we will show the converse, that any provably convergent function of $\arith$ is polynomial-time computable.
1359 126 adas
%
1360 126 adas
The underlying construction of the proof here is similar in spirit to those occurring in \cite{Cantini02} and \cite{Leivant94:found-delin-ptime}. In fact, like in those works, only quantifier-free positive induction is required, but here we moreover must take care to respect additive and multiplicative behaviour of linear connectives.
1361 126 adas
1362 126 adas
We will assume the formulation of BC programs with regular PRN, not simultaneous PRN.
1363 126 adas
1364 126 adas
1365 126 adas
%\subsection{Convergence in arithmetic}
1366 126 adas
1367 126 adas
%\begin{theorem}
1368 126 adas
%	[Convergence]
1369 126 adas
%	If $\Phi(f)$ is an equational specification corresponding to a BC-program defining $f$, then $\cax{\Sigma^N_1}{\pind} \proves  \ !\Phi(f) \limp \forall \vec{x}^{!N} . N(f(\vec x))$.
1370 126 adas
%\end{theorem}
1371 126 adas
1372 126 adas
%We first want to show that the system ${\Sigma^{\word}_1}-{\pind}$ is expressive enough, that is to say that all polynomial-time functions can be represented by some equational specifications that are provably total. To do so   we consider equational specifications of BC-programs.
1373 126 adas
\begin{theorem}
1374 126 adas
	%	[Convergence]
1375 126 adas
	\label{thm:arith-proves-bc-conv}
1376 126 adas
	If $\eqspec$ is a BC program defining a function $f$, then $I\sigzer$ proves $\conv(f, \eqspec)$.
1377 126 adas
\end{theorem}
1378 126 adas
1379 126 adas
%\anupam{Consider informalising some of these arguments under (some version of) the deduction theorem. Formal stuff can be put in an appendix. Maybe add a remark somewhere about arguing informally under deduction, taking care for non-modalised formulae.}
1380 126 adas
1381 126 adas
\begin{proof}[Proof sketch]
1382 126 adas
	%	We write function symbols in $\arith$ with arguments delimited by $;$, as for BC-programs.
1383 126 adas
	We appeal to Lemma~\ref{lemma:spec-norm-form} and show that $\closure{\eqspec} \cup I\sigzer$ proves $\forall \vec{u}^{!\word} . \forall \vec{x}^\word . \word(f(\vec u ; \vec x))$.
1384 126 adas
	%	\begin{equation}
1385 126 adas
	%	\label{eqn:prv-cvg-ih}
1386 126 adas
	%\forall \vec{u}^{!\word} . \forall \vec{x}^\word . \word(f(\vec u ; \vec x))
1387 126 adas
	%	\end{equation}
1388 126 adas
	We proceed by induction on the structure of a BC program for $f$, and sketch only the key cases here.
1389 126 adas
	%	We give some key cases in what follows.
1390 126 adas
1391 126 adas
	Suppose $f(u, \vec v ; \vec x)$ is defined by PRN from functions $g(\vec v ; \vec x), h_i ( u , \vec v ; \vec x , y )$.
1392 126 adas
	%	\[
1393 126 adas
	%	\begin{array}{rcl}
1394 126 adas
	%	f(\epsilon,\vec v ; \vec x) & = & g(\vec v ; \vec x) \\
1395 126 adas
	%	f(\succ_i u , \vec v; \vec x) & = & h_i (u, \vec v ; \vec x , f(u , \vec v ; \vec x))
1396 126 adas
	%	\end{array}
1397 126 adas
	%	\]
1398 126 adas
	%	By the inductive hypothesis we have \eqref{eqn:prv-cvg-ih} for $g,h_0,h_1$ in place of $f$.
1399 126 adas
	From the inductive hypothesis for $g$, we construct the following proof,
1400 126 adas
	\begin{equation}
1401 126 adas
	\label{eqn:prn-cvg-base}
1402 126 adas
	\small
1403 126 adas
	\vlderivation{
1404 126 adas
		\vliq{\beta}{}{!\word(\vec v) , \word (\vec x) \seqar \word(f (\epsilon , \vec v ; \vec x)) }{
1405 126 adas
			\vliq{\alpha}{}{!\word (\vec v) , \word (\vec x) \seqar \word (g (\vec v ; \vec x) ) }{
1406 126 adas
				%					\vltr{\IH}{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x)) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
1407 126 adas
				%				\vliq{}{}{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x))}{\vlhy{}}
1408 126 adas
				\vlhy{\seqar \forall \vec v^{!\word} . \forall \vec x^\word . \word (g (\vec v ; \vec x))}
1409 126 adas
			}
1410 126 adas
		}
1411 126 adas
	}
1412 126 adas
	\end{equation}
1413 126 adas
	where $\alpha $ is purely logical and $\beta$ is obtained from $\closure{\eqspec}$ and equality.
1414 126 adas
	%	We first prove,
1415 126 adas
	%	\begin{equation}
1416 126 adas
	%	!\word (a) , !\word (\vec v) , \word (\vec x) \land \word (f( a , \vec v ; \vec x ) )
1417 126 adas
	%	\seqar
1418 126 adas
	%	\word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) )
1419 126 adas
	%	\end{equation}
1420 126 adas
	%	for $i=0,1$, whence we will apply $\ind$. We construct the following proofs:
1421 126 adas
	We also construct the proofs,
1422 126 adas
	\begin{equation}
1423 126 adas
	\label{eqn:prn-cvg-ind}
1424 126 adas
	%\vlderivation{
1425 126 adas
	%	\vlin{\rigrul{\limp}}{}{ \word(\vec x) \limp \word ( f(u, \vec v ; \vec x) )  \seqar \word (\vec x) \limp \word( f(\succ_i u , \vec v ; \vec x) ) }{
1426 126 adas
	%	\vliq{\gamma}{}{\word(\vec x), \word(\vec x) \limp \word ( f(u, \vec v ; \vec x) )  \seqar \word( f(\succ_i u , \vec v ; \vec x) )   }{
1427 126 adas
	%		\vliin{\lefrul{\limp}}{}{\word(\vec x), \word(\vec x), \word(\vec x) \limp \word ( f(u, \vec v ; \vec x) )  \seqar \word( f(\succ_i u , \vec v ; \vec x) )    }{
1428 126 adas
	%			\vlin{\id}{}{\word(\vec x) \seqar \word (\vec x) }{\vlhy{}}
1429 126 adas
	%			}{
1430 126 adas
	%			\vliq{\beta}{}{  \word (\vec x) , \word (f(u , \vec v ; \vec x) ) \seqar \word ( f(\succ_i u , \vec v ; \vec x) ) }{
1431 126 adas
	%				\vliq{\alpha}{}{ \word (\vec x) , \word (f(u , \vec v ; \vec x) ) \seqar \word ( h_i( u , \vec v ; \vec x , f( u, \vec v ; \vec x )) ) }{
1432 126 adas
	%					\vltr{IH}{ \seqar \forall  u^{!\word}, \vec v^{!\word} . \forall \vec x^\word , y^\word . \word( h_i (u, \vec v ; \vec x, y) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
1433 126 adas
	%					}
1434 126 adas
	%				}
1435 126 adas
	%			}
1436 126 adas
	%		}
1437 126 adas
	%	}
1438 126 adas
	%	}
1439 126 adas
	\small
1440 126 adas
	\vlderivation{
1441 126 adas
		\vlin{\lefrul{\land}}{}{ !\word (a) , !\word (\vec v) , \word (\vec x) \land \word (f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) ) }{
1442 126 adas
			\vlin{\lefrul{\cntr}}{}{  !\word (a) , !\word (\vec v) , \word (\vec x) , \word (f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) )}{
1443 126 adas
				\vliin{\rigrul{\land}}{}{   !\word (a) , !\word (\vec v) , \word(\vec x),  \word (\vec x) , \word (f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word (f( \succ_i a , \vec v ; \vec x ) )}{
1444 126 adas
					\vlin{\id}{}{\word (\vec x) \seqar \word (\vec x)}{\vlhy{}}
1445 126 adas
				}{
1446 126 adas
				\vliq{\beta}{}{ !\word (u) , !\word(\vec v)  , \word (\vec x) , \word (f ( u , \vec v ; \vec x ) ) \seqar \word (f (\succ_i u , \vec{v} ; \vec x ) )  }{
1447 126 adas
					\vliq{\alpha}{}{  !\word (u) , !\word (\vec v)  , \word (\vec x) , \word (f ( u , \vec v ; \vec x ) ) \seqar \word ( h_i ( u , \vec v ; \vec x , f( u , \vec v ; \vec x ) ) )   }{
1448 126 adas
						%					\vltr{\IH}{ \seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word , y^\word  .  \word ( h_i ( u, \vec v ; \vec x, y ) ) }{ \vlhy{\quad} }{\vlhy{}}{\vlhy{\quad}}
1449 126 adas
						%\vliq{}{}{ \seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word , y^\word  .  \word ( h_i ( u, \vec v ; \vec x, y ) ) }{\vlhy{}}
1450 126 adas
						\vlhy{\seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word , y^\word  .  \word ( h_i ( u, \vec v ; \vec x, y ) )}
1451 126 adas
					}
1452 126 adas
				}
1453 126 adas
			}
1454 126 adas
		}
1455 126 adas
	}
1456 126 adas
}
1457 126 adas
\end{equation}
1458 126 adas
from the inductive hypotheses for $h_i$, where $\alpha$ and $\beta$ are similar to before.
1459 126 adas
%%	so let us suppose that $\word(\vec v)$ and prove,
1460 126 adas
%	\begin{equation}
1461 126 adas
%% \forall u^{!\word} .  (\word(\vec x) \limp \word(f(u , \vec v ; \vec x)  )
1462 126 adas
%!\word (u) , !\word (\vec v) , \word (\vec x) \seqar \word ( f(u, \vec v ; \vec x) )
1463 126 adas
%	\end{equation}
1464 126 adas
%	by $\cax{\Sigma^N_1}{\pind}$ on $u$. After this the result will follow by $\forall$-introduction for $u, \vec v , \vec x$.
1465 126 adas
1466 126 adas
%	In the base case we have the following proof,
1467 126 adas
%	\[
1468 126 adas
%	\vlderivation{
1469 126 adas
%	\vlin{\rigrul{\limp}}{}{ \seqar \word (\vec x) \limp \word (f(\epsilon , \vec v ; \vec x )) }{
1470 126 adas
%		\vliq{\beta}{}{ \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x) ) }{
1471 126 adas
%			\vliq{\alpha}{}{ \word (\vec x) \seqar \word ( g (\vec v ; \vec x) ) }{
1472 126 adas
%				\vltr{IH}{\seqar \forall v^{!\word} . \forall x^\word . \word( g(\vec v ; \vec x) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
1473 126 adas
%				}
1474 126 adas
%			}
1475 126 adas
%		}
1476 126 adas
%		}
1477 126 adas
Finally we compose these proofs as follows:
1478 126 adas
\[
1479 126 adas
\small
1480 126 adas
\vlderivation{
1481 126 adas
	\vliq{\rigrul{\forall}}{}{ \seqar \forall u^{!\word} , \vec v^{!\word} . \forall \vec x^\word . \word ( f(u , \vec v ;\vec x)  ) }{
1482 126 adas
		\vliq{\lefrul{\cntr}}{}{ !\word (u), !\word (\vec v) , \word (\vec x) \seqar  \word ( f(u , \vec v ;\vec x)  )  }
1483 126 adas
		{
1484 126 adas
			\vliin{\cut}{}{  !\word (u), !\word(\vec v), !\word (\vec v) , \word (\vec x) , \word (\vec x) \seqar  \word ( f(u , \vec v ;\vec x)  )   }{
1485 126 adas
				%\vltr{\pi_\epsilon}{ !\word (\vec v) , \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x ) ) }{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
1486 126 adas
				\vlhy{ !\word (\vec v) , \word (\vec x) \seqar \word ( f( \epsilon , \vec v ; \vec x ) ) }
1487 126 adas
			}
1488 126 adas
			{
1489 126 adas
				\vliq{\wk}{}{ !\word (u), !\word (\vec v) , \word (\vec x), \word ( f( \epsilon , \vec v ; \vec x ) ) \seqar \word ( f( u , \vec v ; \vec x ) ) }{
1490 126 adas
					\vliq{\land\text{-}\mathit{inv}}{}{  !\word (u), !\word (\vec v) , \word (\vec x) ,\word ( f( \epsilon , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word ( f( u , \vec v ; \vec x ) )  }{
1491 126 adas
						\vlin{\ind}{}{   !\word (u), !\word (\vec v) , \word (\vec x) \land \word ( f( \epsilon , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word ( f( u , \vec v ; \vec x ) )  }
1492 126 adas
						{
1493 126 adas
							\vlhy{
1494 126 adas
								\left\{
1495 126 adas
								%\vltreeder{\pi_i}{   !\word (a), !\word (\vec v) , \word (\vec x) \word ( f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word ( f( \succ_i u , \vec v ; \vec x ) )  }{\quad}{}{}
1496 126 adas
								!\word (a), !\word (\vec v) , \word (\vec x) \word ( f( a , \vec v ; \vec x ) ) \seqar \word (\vec x) \land \word ( f( \succ_i u , \vec v ; \vec x ) )
1497 126 adas
								\right\}_i
1498 126 adas
							}
1499 126 adas
						}
1500 126 adas
					}
1501 126 adas
				}
1502 126 adas
			}
1503 126 adas
		}
1504 126 adas
	}
1505 126 adas
}
1506 126 adas
\]
1507 126 adas
for $i=0,1$, where the steps $\inv{\land}$ are obtained from invertibility of $\lefrul{\land}$.
1508 126 adas
1509 126 adas
%For the inductive step, we suppose that $\word (u)$ and the proof is as follows,
1510 126 adas
%
1511 126 adas
%where the steps indicated $\alpha$ and $\beta$ are analogous to those for the base case.
1512 126 adas
%%, and $\gamma$ is an instance of the general scheme:
1513 126 adas
%%\begin{equation}
1514 126 adas
%%\label{eqn:nat-cntr-left-derivation}
1515 126 adas
%%\vlderivation{
1516 126 adas
%%	\vliin{\cut}{}{ \word (t) , \Gamma \seqar \Delta }{
1517 126 adas
%%		\vlin{\wordcntr}{}{ \word (t) \seqar \word (t) \land \word (t) }{\vlhy{}}
1518 126 adas
%%		}{
1519 126 adas
%%		\vlin{\lefrul{\land}}{}{\word (t)  \land \word (t) , \Gamma \seqar \Delta}{ \vlhy{\word (t)  ,\word (t) , \Gamma \seqar \Delta} }
1520 126 adas
%%		}
1521 126 adas
%%	}
1522 126 adas
%%\end{equation}
1523 126 adas
%
1524 126 adas
%%
1525 126 adas
%%For the inductive step, we need to show that,
1526 126 adas
%%\[
1527 126 adas
%%\forall x^{!N} . (( N(\vec y) \limp N( f(x, \vec x ; \vec y) ) ) \limp N(\vec y) \limp N(f(\succ_i x , \vec x ; \vec y) )   )
1528 126 adas
%%\]
1529 126 adas
%%so let us suppose that $N(x)$ and we give the following proof:
1530 126 adas
%%\[
1531 126 adas
%%\vlderivation{
1532 126 adas
%%	\vlin{N\cntr}{}{N(y) \limp ( N(y ) \limp N(f( x , \vec x ; \vec y ) ) ) \limp N(f (\succ_i x , \vec x ; \vec y)  ) }{
1533 126 adas
%%		\vliin{}{}{N(y) \limp N(y) \limp ( N(y ) \limp N(f( x , \vec x ; \vec y ) ) ) \limp N(f (\succ_i x , \vec x ; \vec y)  ) }{
1534 126 adas
%%			\vliin{}{}{ N(y) \limp N(y) \limp ( N(y) \limp N( f(x, \vec x ; \vec y) ) ) \limp N( h_i (x , \vec x ; \vec y , f(x , \vec x ; \vec y) ) ) }{
1535 126 adas
%%				\vltr{MLL}{( N(\vec y) \limp (N (\vec y) \limp N(f(x, \vec x ; \vec y) )) \limp N(f(x, \vec x ; \vec y)) }{\vlhy{\quad }}{\vlhy{\ }}{\vlhy{\quad }}
1536 126 adas
%%			}{
1537 126 adas
%%			\vlhy{2}
1538 126 adas
%%		}
1539 126 adas
%%	}{
1540 126 adas
%%	\vlhy{3}
1541 126 adas
%%}
1542 126 adas
%%}
1543 126 adas
%%}
1544 126 adas
%%\]
1545 126 adas
%%TOFINISH
1546 126 adas
1547 126 adas
Safe compositions are essentially handled by many cut steps, using $\alpha$ and $\beta$ like derivations again and, crucially, left-contractions on both $!\word$ and $\word $ formulae.\footnote{In the latter case, strictly speaking, we mean cuts against $\wordcntr$.} The initial functions are routine.
1548 126 adas
1549 126 adas
1550 126 adas
%We also give the case of the conditional initial function $C (; x, y_\epsilon , y_0, y_1)$, to exemplify the use of additives.
1551 126 adas
%%The conditional is defined equationally as:
1552 126 adas
%%\[
1553 126 adas
%%\begin{array}{rcl}
1554 126 adas
%%C (; \epsilon, y_\epsilon , y_0, y_1  ) & = & y_\epsilon \\
1555 126 adas
%%C(; \succ_0 x , y_\epsilon , y_0, y_1) & = & y_0 \\
1556 126 adas
%%C(; \succ_1 x , y_\epsilon , y_0, y_1) & = & y_1
1557 126 adas
%%\end{array}
1558 126 adas
%%\]
1559 126 adas
%Let $\vec y = ( y_\epsilon , y_0, y_1 )$ and construct the required proof as follows:
1560 126 adas
%\[
1561 126 adas
%\small
1562 126 adas
%\vlderivation{
1563 126 adas
%\vliq{}{}{ \word (x) , \word (\vec y) \seqar \word ( C(; x ,\vec y) )}{
1564 126 adas
%\vliin{2\cdot \laor}{}{ x = \epsilon \laor \exists z^\word . x = \succ_0 z \laor \exists z^\word x = \succ_1 z , \word (\vec y) \seqar \word ( C(;x \vec y) ) }{
1565 126 adas
%\vliq{}{}{ x = \epsilon , \word (\vec y) \seqar \word ( C(; x , \vec y) ) }{
1566 126 adas
%\vliq{}{}{ \word (\vec y) \seqar \word ( C( ; \epsilon , \vec y ) ) }{
1567 126 adas
%\vlin{\wk}{}{ \word (\vec y) \seqar \word (y_\epsilon) }{
1568 126 adas
%\vlin{\id}{}{\word (y_\epsilon) \seqar \word ( y_\epsilon )}{\vlhy{}}
1569 126 adas
%}
1570 126 adas
%}
1571 126 adas
%}
1572 126 adas
%}{
1573 126 adas
%\vlhy{
1574 126 adas
%\left\{
1575 126 adas
%\vlderivation{
1576 126 adas
%\vlin{\lefrul{\exists}}{}{ \exists z^\word . x = \succ_i z , \word (\vec y) \seqar \word ( C(;x , \vec y) ) }{
1577 126 adas
%\vliq{}{}{ x = \succ_i a , \word (\vec y ) \seqar \word (C(; x ,\vec y)) }{
1578 126 adas
%\vliq{}{}{ \word (\vec y) \seqar \word ( C(; \succ_i a , \vec y ) ) }{
1579 126 adas
%\vlin{\wk}{}{ \word (\vec y) \seqar \word (y_i) }{
1580 126 adas
%\vlin{\id}{}{\word (y_i) \seqar \word (y_i)}{\vlhy{}}
1581 126 adas
%}
1582 126 adas
%}
1583 126 adas
%}
1584 126 adas
%}
1585 126 adas
%}
1586 126 adas
%\right\}_{i = 0,1}
1587 126 adas
%}
1588 126 adas
%}
1589 126 adas
%}
1590 126 adas
%}
1591 126 adas
%\]
1592 126 adas
%whence the result follows by $\forall$-introduction.
1593 126 adas
%%The other initial functions are routine.
1594 126 adas
\end{proof}
1595 126 adas
1596 126 adas
1597 126 adas
\section{Witness function method}
1598 126 adas
\label{sect:wfm}
1599 126 adas
We now prove the converse to the last section: any provably convergent function in $\arith$ is polynomial-time computable,
1600 126 adas
%.
1601 126 adas
%To this end we use the \emph{witness function method} (WFM), a common technique in {bounded arithmetic} \cite{Buss86book}.
1602 126 adas
using the witness function method (WFM) \cite{Buss86book}.
1603 126 adas
1604 126 adas
The WFM differs from realisability and Dialectica style witnessing arguments mainly since it does not require functionals at higher type. Instead a translation is conducted directly from a proof in De Morgan normal form, i.e.\ with negation pushed to the atoms, relying on classical logic.
1605 126 adas
%Free-cut elimination is employed to control the quantifer complexity of formulae occurring in a proof, although here we furthermore use it to control the presence of \emph{contraction} in a proof, to which we have access via the modalities of linear logic. This
1606 126 adas
%Free-cut elimination is employed to control the logical complexity of formulae occurring in a proof, and a formal `witness' predicate plays a similar role to the realisability predicate.
1607 126 adas
1608 126 adas
The combination of De Morgan normalisation and free-cut elimination plays a similar role to the double-negation translation, and this is even more evident in our setting where the transformation of a classical proof to free-cut free form can be seen to be a partial `constructivisation' of the proof. As well as eliminating the (nonconstructive) occurrences of the $\forall$-right rule, as usual for the WFM, the linear logic refinement of the logical connectives means that right-contraction steps are also eliminated. This is important due to the fact that we are in a setting where programs are equational specifications, not formulae (as in bounded arithmetic \cite{Buss86book}) or combinatory terms (as in applicative theories \cite{Cantini02}), so we cannot in general decide atomic formulae.
1609 126 adas
1610 126 adas
%Some key features of this method are the following:
1611 126 adas
%\begin{itemize}
1612 126 adas
%	\item T
1613 126 adas
%\end{itemize}
1614 126 adas
%
1615 126 adas
%Key features/differences from realisability:
1616 126 adas
%\begin{itemize}
1617 126 adas
%	\item De Morgan normal form: reduces type level to $0$, complementary to double-negation translation that \emph{increases} type level.
1618 126 adas
%	\item Free-cut elimination: allows us to handles formulae of fixed logical complexity throughout the proof.
1619 126 adas
%	\item Respects logical properties of formulae, e.g.\ quantifier complexity, exponential complexity.
1620 126 adas
%\end{itemize}
1621 126 adas
%
1622 126 adas
%\todo{say some more here}
1623 126 adas
%
1624 126 adas
%\todo{compare with applicative theories}
1625 126 adas
%
1626 126 adas
%\anupam{in particular, need to point out that this argument is actually something in between, since usually the WFM requires programs to be defined by formulae, not equational specifications.}
1627 126 adas
1628 126 adas
\newcommand{\type}{\mathtt{t}}
1629 126 adas
\newcommand{\norm}{\nu}
1630 126 adas
\newcommand{\safe}{\sigma}
1631 126 adas
1632 126 adas
1633 126 adas
1634 126 adas
\subsection{The translation}
1635 126 adas
1636 126 adas
We will associate to each (free-cut free) proof of a convergence statement in $\arith$ a function on $\Word$ defined by a BC program. In the next section we will show that this function satisfies the equational specification of the convergence statement.
1637 126 adas
%, hence showing that any provably convergent function of $\arith$ is polynomial-time computable.\footnote{Strictly speaking, we will also require the equational specification at hand to be coherent, cf.\ Prop.~\ref{prop:eq-spec-model}.}
1638 126 adas
1639 126 adas
\begin{definition}
1640 126 adas
	[Typing]
1641 126 adas
	\label{dfn:typing}
1642 126 adas
	To each $(\forall, ?)$-free $\word^+$-formula $A$ we associate a sorted tuple of variables $\type (A)$, intended to range over $\Word$, as follows:
1643 126 adas
	\[
1644 126 adas
	%			\begin{array}{rcll}
1645 126 adas
	%			\type (\word (t)) & := & (;x^{\word (t)} ) & \\
1646 126 adas
	%			\type(s = t) & := & ( ; x^{s = t}) & \\
1647 126 adas
	%			\type (s \neq t) & := & ( ;x^{s\neq t} )\\
1648 126 adas
	%%			\type (A \lor B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$ and $\type(B) = (\vec v ; \vec y)$.} \\
1649 126 adas
	%			\type (A \star B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$, $\type(B) = (\vec v ; \vec y)$ and $\star \in \{ \lor, \land, \laor, \laand \}$.} \\
1650 126 adas
	%			\type (! A) & : = & ( \vec u ,\vec x  ; ) & \text{if $\type(A) = (\vec u ; \vec x )$.} \\
1651 126 adas
	%			\type (\exists x^\word . A) & := & (\vec u ; \vec x , y) & \text{if $\type (A) = (\vec u ; \vec x)$.}
1652 126 adas
	%			%	\type (\forall x^N . A) & := & \Nat \to \type(A)
1653 126 adas
	%			\end{array}
1654 126 adas
	%
1655 126 adas
	\begin{array}{rcll}
1656 126 adas
	\type (\word (t)) & := & (;x^{\word (t)} ) & \\
1657 126 adas
	\type(s = t) & := & ( ; x^{s = t}) &
1658 126 adas
	%			\\
1659 126 adas
	%			\type (s \neq t) & := & ( ;x^{s\neq t} )\\
1660 126 adas
	%%			\type (A \lor B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$ and $\type(B) = (\vec v ; \vec y)$.} \\
1661 126 adas
	%			\type (A \star B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$, $\type(B) = (\vec v ; \vec y)$ and $\star \in \{ \lor, \land, \laor, \laand \}$.} \\
1662 126 adas
	%			\type (! A) & : = & ( \vec u ,\vec x  ; ) & \text{if $\type(A) = (\vec u ; \vec x )$.} \\
1663 126 adas
	%			\type (\exists x^\word . A) & := & (\vec u ; \vec x , y) & \text{if $\type (A) = (\vec u ; \vec x)$.}
1664 126 adas
	%			%	\type (\forall x^N . A) & := & \Nat \to \type(A)
1665 126 adas
	\end{array}
1666 126 adas
	\quad
1667 126 adas
	\begin{array}{rcll}
1668 126 adas
	%						\type (\word (t)) & := & (;x^{\word (t)} ) & \\
1669 126 adas
	%						\type(s = t) & := & ( ; x^{s = t}) & \\
1670 126 adas
	\type (s \neq t) & := & ( ;x^{s\neq t} )\\
1671 126 adas
	%			\type (A \lor B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$ and $\type(B) = (\vec v ; \vec y)$.} \\
1672 126 adas
	%						\type (A \star B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$, $\type(B) = (\vec v ; \vec y)$ and $\star \in \{ \lor, \land, \laor, \laand \}$.} \\
1673 126 adas
	\type (! A) & : = & ( \vec u ,\vec x  ; ) &
1674 126 adas
	%						\text{if $\type(A) = (\vec u ; \vec x )$.} \\
1675 126 adas
	%						\type (\exists x^\word . A) & := & (\vec u ; \vec x , y) & \text{if $\type (A) = (\vec u ; \vec x)$.}
1676 126 adas
	%						%	\type (\forall x^N . A) & := & \Nat \to \type(A)
1677 126 adas
	\end{array}
1678 126 adas
	\quad
1679 126 adas
	\begin{array}{rcll}
1680 126 adas
	%									\type (\word (t)) & := & (;x^{\word (t)} ) & \\
1681 126 adas
	%									\type(s = t) & := & ( ; x^{s = t}) & \\
1682 126 adas
	%									\type (s \neq t) & := & ( ;x^{s\neq t} )\\
1683 126 adas
	%						%			\type (A \lor B)  & : = & (\vec u , \vec v ; \vec x , \vec y) & \text{if $\type(A) = (\vec u ; \vec x)$ and $\type(B) = (\vec v ; \vec y)$.} \\
1684 126 adas
	\type (A \star B)  & : = & (\vec u , \vec v ; \vec x , \vec y) &
1685 126 adas
	%									\text{if $\type(A) = (\vec u ; \vec x)$, $\type(B) = (\vec v ; \vec y)$ and $\star \in \{ \lor, \land, \laor, \laand \}$.}
1686 126 adas
	\\
1687 126 adas
	%									\type (! A) & : = & ( \vec u ,\vec x  ; ) & \text{if $\type(A) = (\vec u ; \vec x )$.} \\
1688 126 adas
	\type (\exists x^\word . A) & := & (\vec u ; \vec x , y) &
1689 126 adas
	%									\text{if $\type (A) = (\vec u ; \vec x)$.}
1690 126 adas
	%	\type (\forall x^N . A) & := & \Nat \to \type(A)
1691 126 adas
	\end{array}
1692 126 adas
	\]
1693 126 adas
	where $\type(A)  = (\vec u ; \vec x)$,  $\type(B)=(\vec v ;  \vec y)$  and $\star \in \{ \lor , \land, \laor, \laand \}$.
1694 126 adas
	%	where $\nu$ designates that the inputs are normal.
1695 126 adas
\end{definition}
1696 126 adas
1697 126 adas
1698 126 adas
%		\anupam{need to account for normality and safety somewhere. Attempting inlined and leaving types without this decoration.}
1699 126 adas
%
1700 126 adas
%		\begin{remark}
1701 126 adas
%			[Distribution of $!$]
1702 126 adas
%			There is a potential issue that the $!$ contains $\lor$ symbols in its scope, whence we do not in general have $!(A \lor B) \cong !A \lor !B$. However this will not be a problem here by inspection of a convergence statement: there are no $\lor$ symbols in the scope of a $!$. Therefore, after free-cut elimination, no formula in the proof will have this property either.
1703 126 adas
%
1704 126 adas
%			On the other hand, since we are working in affine logic, we do in general have $!(A \land B) \cong !A \land !B$.
1705 126 adas
%		\end{remark}
1706 126 adas
1707 126 adas
For a sorted tuple $(u_1 , \dots u_m ; x_1 , \dots ,x_n )$ we write $|(\vec u ; \vec x)|$ to denote its length, i.e.\ $m+n$. This sorted tuple corresponds to input variables, normal and safe respectively.
1708 126 adas
%		\footnote{It becomes important here that we are considering proofs of a convergence statement, since a free-cut free $\arith$-proof of a convergence statement cannot contain any $\lor$ symbols in the scope of a $!$. This could cause an issue in the above definition since we do not in general have the equivalence $!(A \lor B) \equiv !A \lor !B$. On the other hand, the equivalence $!(A\land B) \equiv !A \land !B$ follows since we are in the affine setting.}
1709 126 adas
1710 126 adas
1711 126 adas
Let us fix a particular (coherent) equational specification $\eqspec(f)$. Rather than directly considering $\arith$-proofs of $\conv ( f , \eqspec )$, we will consider a $\closure{\eqspec} \cup \arith $ sequent proof of $!\word (\vec x) \seqar \word (f (\vec x) )$, under Lemma~\ref{lemma:spec-norm-form}.
1712 126 adas
%
1713 126 adas
Free-cut elimination crucially yields strong regularity properties for proofs:
1714 126 adas
1715 126 adas
\begin{proposition}
1716 126 adas
	[Freedom]
1717 126 adas
	\label{prop:freedom}
1718 126 adas
	A free-cut free $\closure{\eqspec} \cup \arith $ sequent proof of $!\word (\vec x) \seqar \word (f (\vec x) )$ is:
1719 126 adas
	\begin{enumerate}
1720 126 adas
		\item\label{item:no-neg-word} Free of any negative occurrences of $\word$.
1721 126 adas
		\item\label{item:no-forall} Free of any $\forall$ symbols.
1722 126 adas
		\item\label{item:no-quest} Free of any $?$ symbols.
1723 126 adas
		\item\label{item:no-laor-step} Free of any $\laor$ or $\laand$ steps.\footnote{Because of the $\surj$ rule, the proof may still contain $\laor$ symbols, but these must be direct ancestors of some cut-step by free-cut freeness.}
1724 126 adas
	\end{enumerate}
1725 126 adas
\end{proposition}
1726 126 adas
1727 126 adas
1728 126 adas
For this reason we can assume that $\type$ is well-defined for all formulae occurring in a free-cut free proof of convergence, and so we can proceed with the translation from proofs to BC programs.
1729 126 adas
1730 126 adas
\begin{definition}
1731 126 adas
	[Translation]
1732 126 adas
	\label{dfn:translation-of-proofs}
1733 126 adas
	We give a translation from a free-cut free $\closure{\eqspec} \cup \arith $ proof $\pi$, satisfying properties \ref{item:no-neg-word}, \ref{item:no-forall}, \ref{item:no-quest}, \ref{item:no-laor-step} of Prop.~\ref{prop:freedom} above, of a sequent $\Gamma \seqar \Delta$ to BC programs for a tuple of functions $\vec f^\pi$ with arguments $\type \left(\bigotimes\Gamma\right)$ such that $|\vec f^\pi | = | \type\left(\bigparr\Delta\right)|$.
1734 126 adas
1735 126 adas
1736 126 adas
	The translation is by induction on the structure of $\pi$, so we proceed by inspection of its final step.
1737 126 adas
1738 126 adas
	If $\pi$ is an instance of the initial rules $\geneps, \sepeps^0 , \sepeps^1, \sepzer, \sepone$ or $\inj$ then $\vec f^\pi$ is simply the constant function $\epsilon$ (possibly with dummy inputs as required by $\type$).
1739 126 adas
	%			\footnote{This is because proofs of (in)equalities can be seen to carry no computational content.}
1740 126 adas
	If $\pi$ is an $\closure{\eqspec}$ or $=$ initial step it is also translated simply to $\epsilon$.
1741 126 adas
	%
1742 126 adas
	The initial steps $\genzer, \genone , \surj$ and $\wordcntr$ are translated to $\succ_0( ; x) , \succ_1 (; x), ( \epsilon , \pred ( ;x) , \pred (; x) )$ and $(\id (;x) , \id(;x))$ respectively.
1743 126 adas
	%
1744 126 adas
	Finally, suppose $\pi$ is a logical initial step. If $\pi $ is an instance of $\id$, i.e.\ $p \seqar p$, then we translate it to $\id$. Notice that, if $\pi$ is an instance of $\lefrul{\bot}$ (i.e.\ $p, p^\bot \seqar $ ) or $\rigrul{\bot}$ (i.e.\ $\seqar p, p^\bot$) then $p$ must be an equality $s=t$ for some terms $s,t$, since $p$ must be atomic and, by assumption, $\word$ does not occur negatively. Therefore $\pi$ is translated to tuples of $\epsilon$ as appropriate.
1745 126 adas
1746 126 adas
1747 126 adas
1748 126 adas
1749 126 adas
	Now we consider the inductive cases.
1750 126 adas
	%
1751 126 adas
	%		We will continue with similar notational conventions in the remainder of this argument.
1752 126 adas
	%
1753 126 adas
	%		%	\anupam{bad notation since need to include free variables of sequent too. (also of theory.) Reconsider.}
1754 126 adas
	%
1755 126 adas
	If $\pi$ ends with a $\rigrul{\land}$ or $\lefrul{\lor}$ step then we just rearrange the tuple of functions obtained from the inductive hypothesis.
1756 126 adas
	%		The case when $\pi$ ends with a $\lefrul{\lor}$ step is analogous to the $\rigrul{\land}$ case above.
1757 126 adas
	If $\pi$ consists of a subproof $\pi'$ ending with a $\lefrul{\land}$ or $\rigrul{\lor}$-step, then $\vec f^\pi$ is exactly $\vec f^{\pi'}$.
1758 126 adas
	By assumption, there are no $\laor$, $\laand$, $?$ or $\forall$ steps occurring in $\pi$, and if $\pi$ consists of a subproof $\pi'$ followed by a $\lefrul{\exists}$ step then $\vec f^\pi$ is exactly the same as $\vec f^{\pi'}$, under possible reordering of the tuple.
1759 126 adas
1760 126 adas
	Suppose $\pi$ consists of a subproof $\pi'$ followed by a $\rigrul{\exists}$ step,
1761 126 adas
	\[
1762 126 adas
	\vlderivation{
1763 126 adas
		\vlin{\rigrul{\exists}}{}{ \Gamma, \word(t) \seqar \Delta , \exists x^\word . A(x) }{
1764 126 adas
			%						\vltr{\pi'}{ \Gamma \seqar \Delta , A(t) }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
1765 126 adas
			\vlhy{ \Gamma \seqar \Delta , A(t) }
1766 126 adas
		}
1767 126 adas
	}
1768 126 adas
	\]
1769 126 adas
	so by the inductive hypothesis we have functions $\vec f^\Delta , \vec f^{A(t)}$ with arguments $(\vec u ; \vec x )= \type(\bigotimes \Gamma)$. We define
1770 126 adas
	%				$\vec f^\pi$ as follows:
1771 126 adas
	%				\[
1772 126 adas
	$
1773 126 adas
	\vec f^\pi (\vec u ; \vec x , y)
1774 126 adas
	%				\quad := \quad
1775 126 adas
	$ as $
1776 126 adas
	\left(
1777 126 adas
	\vec f^\Delta (\vec u ; \vec x) ,
1778 126 adas
	{\id (;y)},
1779 126 adas
	\vec f^{A(t)} (\vec u; \vec x)
1780 126 adas
	\right)
1781 126 adas
	$.
1782 126 adas
	%\]
1783 126 adas
	%		(The identity function on $y$ is defined from successor, predecessor and safe composition).
1784 126 adas
1785 126 adas
1786 126 adas
	%Suppose we have functions $\vec f^X (\vec x ; \vec y)$ from $\pi'$ for $X = \Delta$ or $ X=A$.
1787 126 adas
	%\[
1788 126 adas
	%\vec f(\vec x ; \vec y , z) \quad := \quad ( \vec f^\Delta (\vec x ; \vec y)   ,  z , \vec f^A ( \vec x ; \vec y ) )
1789 126 adas
	%\]
1790 126 adas
1791 126 adas
1792 126 adas
1793 126 adas
	%
1794 126 adas
	%Suppose we have functions $\vec f' (\vec u , \vec v ; x , \vec y , \vec z)$ from $\pi'$ with $(\vec u ; \vec x )$ corresponding to $\Gamma$, $(;x)$ corresponding to $N(a)$ and $(\vec v ; \vec z)$ corresponding to $A(a)$. We define:
1795 126 adas
	%\[
1796 126 adas
	%\vec f ( \vec u , \vec v ;  )
1797 126 adas
	%\]
1798 126 adas
1799 126 adas
	%				\anupam{should just be same? Consider variable naming, just in case.}
1800 126 adas
	%				\anupam{This is probably where the consideration for free variables is.}
1801 126 adas
1802 126 adas
	%Suppose we have functions $\vec g (\vec v  , \vec w ; \vec x , y , \vec z)$ where $(\vec v ; \vec x) $ corresponds to $\Gamma$, $y$ corresponds to $\word(a)$ and $(\vec w ; \vec z) $ corresponds to $A(a)$. Then we define:
1803 126 adas
	%\[
1804 126 adas
	%\vec f ( \vec v , \vec w ; \vec x , y , \vec z )
1805 126 adas
	%\]
1806 126 adas
1807 126 adas
1808 126 adas
1809 126 adas
	%	\[
1810 126 adas
	%	\vlderivation{
1811 126 adas
	%	\vliin{\rigrul{\laand}}{}{\Gamma \seqar \Delta, A \laand B}{
1812 126 adas
	%	\vltr{\pi_1}{  \Gamma \seqar \Delta, A}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
1813 126 adas
	%	}{
1814 126 adas
	%	\vltr{\pi_2}{  \Gamma \seqar \Delta, B}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
1815 126 adas
	%	}
1816 126 adas
	%	}
1817 126 adas
	%	\]
1818 126 adas
	%
1819 126 adas
	%	Suppose we have $\vec f^i (\vec x , \vec a ; \vec y , \vec b)$ from $\pi_i$.
1820 126 adas
	%
1821 126 adas
	%	\anupam{problem: does this require many tests, just like for contraction? Can we isolate a different complexity class? e.g.\ PH or Grzegorzyck?}
1822 126 adas
	%	\anupam{skip this case and consider later.}
1823 126 adas
1824 126 adas
	%		\anupam{commented stuff on additives. To remark later perhaps.}
1825 126 adas
1826 126 adas
1827 126 adas
	If $\pi$ consists of a subproof $\pi'$ followed by a $\rigrul{!}$ step then $\vec f^\pi$ is exactly the same as $\vec f^{\pi'}$. If $\pi$ ends with a $\lefrul{!}$ step then we just appeal to Prop.~\ref{prop:bc-properties} to turn a safe input into a normal input.
1828 126 adas
1829 126 adas
	Since there are no $?$ symbols in $\pi$, we can assume also that there are no $\rigrul{\cntr}$ steps in $\pi$.\footnote{Again, this is crucially important, since we cannot test the equality between arbitrary terms in the presence of nonlogical function symbols.}
1830 126 adas
1831 126 adas
	%		\anupam{This is important, so expand on this here or in a remark before/after.}
1832 126 adas
1833 126 adas
	If $\pi$ ends with a $\lefrul{\cntr}$ step then we duplicate some normal inputs of the functions obtained by the inductive hypothesis.
1834 126 adas
1835 126 adas
	%		(Notice that this is obtainable in BC by a trivial instance of safe composition.)
1836 126 adas
1837 126 adas
1838 126 adas
	%	cntr right
1839 126 adas
	%	\[
1840 126 adas
	%	\vlderivation{
1841 126 adas
	%	\vlin{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, ?A}{
1842 126 adas
	%	\vltr{\pi'}{  \Gamma \seqar \Delta, ?A, ?A}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
1843 126 adas
	%	}
1844 126 adas
	%	}
1845 126 adas
	%	\]
1846 126 adas
	%	(need test function against witness predicate?)
1847 126 adas
	%
1848 126 adas
	%	\anupam{problem: how to test even equality of two terms? Maybe treat $?$ as $!$ on left?}
1849 126 adas
	%
1850 126 adas
	%	\anupam{Not a problem by free-cut elimination! Can assume there are no $?$ in the proof! Is this equivalent to treaing $?$ as $!$ on left?}
1851 126 adas
	%
1852 126 adas
	%	\anupam{Yes I think so. We can work in a left-sided calculus. only problem is for induction. But this can never be a problem for modalities since induction formulae are modality-free.}
1853 126 adas
	%
1854 126 adas
	%	\anupam{this is actually the main point.}
1855 126 adas
1856 126 adas
1857 126 adas
	If $\pi$ ends with a $\cut$ step whose cut-formula is free of modalities, then it can be directly translated to a safe composition of functions obtained by the inductive hypothesis, by relying on Prop.~\ref{prop:bc-properties}. Otherwise, the cut-formula must be of the form $!\word (t)$ since it must directly descend from the left-hand side of an induction step, by free-cut freeness.
1858 126 adas
	%	 or axiom on one side. The only such occurrence of a modality is in the conclusion of an induction step, whence such a formula has the form $!\word (t)$.
1859 126 adas
	Since the cut is anchored, we can also assume that the cut formula is principal on the other side, i.e.\ $\pi$ ends as follows:
1860 126 adas
	%	\anupam{need to check this assumption against free-cut elimination conditions. To discuss.}
1861 126 adas
	\[
1862 126 adas
	\vlderivation{
1863 126 adas
		\vliin{\cut}{}{!\Gamma , \Sigma  \seqar \Delta }{
1864 126 adas
			\vlin{\rigrul{!}}{}{!\Gamma \seqar  !\word(t)}{
1865 126 adas
				%			\vltr{\pi_1'}{!\Gamma \seqar  \word(t)}{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
1866 126 adas
				\vlhy{!\Gamma \seqar  \word(t)}
1867 126 adas
			}
1868 126 adas
		}{
1869 126 adas
		%		\vltr{\pi_2}{ !\word(t), \Sigma\seqar \Delta}{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
1870 126 adas
		\vlhy{ !\word(t), \Sigma\seqar \Delta}
1871 126 adas
	}
1872 126 adas
}
1873 126 adas
\]
1874 126 adas
where
1875 126 adas
% $\pi_2$ ends with a $\ind$ step for which  $A(x)$ is the induction formula, and
1876 126 adas
we assume there are no side-formulae on the right of the end-sequent of the left subproof for the same reason as $\rigrul{\cntr}$: $\pi$ does not contain any occurrences of $?$. By the inductive hypothesis we have functions $ g( \vec u ; )$ and $\vec h (  v , \vec w ; \vec x)$ where $\vec u$, $ v$ and $(\vec w ; \vec x)$ correspond to $!\Gamma$,  $!\word(t)$ and $\Sigma$ respectively. We construct the functions $\vec f^\pi $ as follows:
1877 126 adas
\[
1878 126 adas
\vec f^\pi (\vec u , \vec w ; \vec x)
1879 126 adas
\quad := \quad
1880 126 adas
\vec h (   g(\vec u ; ), \vec w  ; \vec x)
1881 126 adas
\]
1882 126 adas
Notice, again, that all safe inputs on the left occur hereditarily safe on the right, and so these expressions are definable in BC by Prop.~\ref{prop:bc-properties}.
1883 126 adas
1884 126 adas
1885 126 adas
1886 126 adas
%	Suppose $\pi$ ends with a $\lefrul{!}$ step:
1887 126 adas
%	\[
1888 126 adas
%	\vlderivation{
1889 126 adas
%		\vlin{!}{}{\Gamma, !A \seqar \Delta}{
1890 126 adas
%			\vltr{\pi'}{ \Gamma , A \seqar \Delta  }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
1891 126 adas
%		}
1892 126 adas
%	}
1893 126 adas
%	\]
1894 126 adas
%	\todo{finish this case, just passing a safe input to a normal input.}
1895 126 adas
%
1896 126 adas
%
1897 126 adas
%	Suppose $\pi$ ends with a $\rigrul{!}$ step:
1898 126 adas
%
1899 126 adas
%	\todo{finish this case, should not change function at all, but maybe there is a consideration.}
1900 126 adas
1901 126 adas
If $\pi$ ends with a $\rigrul{\wk}$ step then we just add a tuple of constant functions $\vec \epsilon$ of appropriate length as dummy functions. If $\pi$ ends with a $\lefrul{\wk}$ step then we just add dummy inputs of appropriate length.
1902 126 adas
1903 126 adas
%	Suppose $\pi$ ends with a $\lefrul{\wk}$ step:
1904 126 adas
%
1905 126 adas
%	\todo{finish this case, just add a dummy input.}
1906 126 adas
%
1907 126 adas
%	Suppose $\pi$ ends with a $\rigrul{\wk}$ step:
1908 126 adas
%
1909 126 adas
%	\todo{finish this case, just add a dummy function.}
1910 126 adas
%
1911 126 adas
1912 126 adas
1913 126 adas
Finally, suppose $\pi$ ends with a $\ind$ step. Since there are no occurrences of $?$ in $\pi$ we can again assume that there are no side formulae on the right of any induction step. Thus $\pi$ ends as follows:
1914 126 adas
\[
1915 126 adas
\vlderivation{
1916 126 adas
	\vliin{\ind}{}{ !\word (t), !\Gamma  ,  A(\epsilon) \seqar A(t) }{
1917 126 adas
		%			\vltr{\pi_0}{!\word(a) , !\Gamma ,  A(a) \seqar A(\succ_0 a)}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
1918 126 adas
		\vlhy{!\word(a) , !\Gamma ,  A(a) \seqar A(\succ_0 a)}
1919 126 adas
	}{
1920 126 adas
	%		\vltr{\pi_1}{!\word(a), !\Gamma ,  A(a)\seqar A(\succ_1 a) }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
1921 126 adas
	\vlhy{!\word(a), !\Gamma ,  A(a)\seqar A(\succ_1 a)}
1922 126 adas
}
1923 126 adas
}
1924 126 adas
\]
1925 126 adas
%\anupam{is this better with a premiss for the base case?}
1926 126 adas
1927 126 adas
By the inductive hypothesis we have functions $\vec g^0 (u , \vec v ; \vec x)$ and $\vec g^1 (u , \vec v ; \vec x)$ with $u$, $\vec v$ and $\vec x$ corresponding to $!\word(a)$, $!\Gamma$ and $A(a)$ respectively. We define $\vec f^\pi$ by simultaneous predicative recursion on notation as follows:
1928 126 adas
\[
1929 126 adas
\begin{array}{rcll}
1930 126 adas
\vec f^\pi ( \epsilon, \vec v ; \vec x ) & := & \vec x & \\
1931 126 adas
\vec f^\pi ( \succ_i u , \vec v ; \vec x) & := & \vec g^i ( u, \vec v ; \vec f^\pi ( u, \vec v ; \vec x ) )
1932 126 adas
\end{array}
1933 126 adas
%\vec f^\pi ( \epsilon, \vec v ; \vec x ) := \vec x  \qquad
1934 126 adas
%\vec f^\pi ( \succ_i u , \vec v ; \vec x) :=  \vec g^i ( u, \vec v ; \vec f^\pi ( u, \vec v ; \vec x ) )
1935 126 adas
\]
1936 126 adas
1937 126 adas
%\anupam{check this}
1938 126 adas
%
1939 126 adas
%\todo{simultaneous PRN.}
1940 126 adas
1941 126 adas
1942 126 adas
\end{definition}
1943 126 adas
1944 126 adas
The induction step above is the reason why we enrich the usual BC framework with a simultaneous version of PRN.
1945 126 adas
1946 126 adas
\newcommand{\qfindth}{\mathit{IQF}}
1947 126 adas
1948 126 adas
\subsection{Witness predicate and extensional equivalence of functions}
1949 126 adas
1950 126 adas
%\anupam{need to mention that this predicate is similar to realisability predicate in absence, and indeed is presented like that for applicative theories, which also rely on free-cut elimination.}
1951 126 adas
1952 126 adas
Now that we have seen how to extract BC functions from proofs, we show that these functions satisfy the appropriate semantic properties, namely the equational program $\eqspec$ we started with. For this we turn to a quantifier-free \emph{classical} theory, in a similar fashion to $\mathit{PV}$ for $S^1_2$ in \cite{Buss86book} or system $T$ in G\"odel's Dialectica interpretation. This is adequate since we only care about extensional properties of extracted functions at this stage.
1953 126 adas
1954 126 adas
We could equally use a realisability approach, as done in e.g.\ \cite{Cantini02} and other works in applicative theories: since the formulae we deal with are essentially positive there is not much difference between the two approaches. Indeed here the witness predicate plays the same role as the realisability predicate in other works.
1955 126 adas
%, the complexity properties already handled by the BC programs we just constructed.
1956 126 adas
1957 126 adas
1958 126 adas
1959 126 adas
%The witness predicate of the WFM is similar to the realisability predicate, and this is even more true in out setting
1960 126 adas
1961 126 adas
Let $\qfindth$ be the classical theory over the language $\{ \epsilon, \succ_0, \succ_1 , (f^k_i )\}$ obtained from the axioms $\sepeps, \sepzer, \sepone, \inj, \surj$ and $\ind$ by dropping all relativisations to $\word$ (or $!\word$), replacing all linear connectives by their classical counterparts, and restricting induction to only quantifier-free formulae.
1962 126 adas
1963 126 adas
%For this we work in a quantifier-free classical logic whose atoms are equations between terms of our arithmetic and whose (sound) rules are simply the axioms of our arithmetic.
1964 126 adas
%
1965 126 adas
%(This is similar to the role of PV in the witnessing argument for $S^1_2$ and system $T$ for witnessing $I\Sigma_1$.)
1966 126 adas
1967 126 adas
1968 126 adas
%	\todo{add cases for $\laor$ and $\neq$.}
1969 126 adas
1970 126 adas
\newcommand{\witness}[2]{\mathit{Wit}^{#1}_{#2}}
1971 126 adas
\begin{definition}
1972 126 adas
	[Witness predicate]
1973 126 adas
	\label{dfn:wit-pred}
1974 126 adas
	For formulae $A, B$ of $\arith$ satisfying properties \ref{item:no-neg-word}, \ref{item:no-forall}, \ref{item:no-quest} of Prop.~\ref{prop:freedom}, we define the following `witness' predicate as a quantifier-free formula of $\qfindth$:
1975 126 adas
	%			 $A$ with free variables amongst $\vec a$:
1976 126 adas
1977 126 adas
	\renewcommand{\sigma}{a}
1978 126 adas
	\[
1979 126 adas
	%			\begin{array}{rcll}
1980 126 adas
	%			\witness{}{A} (\sigma) & := & \sigma = t & \text{if $A$ is $\word (t)$.} \\
1981 126 adas
	%			\witness{}{A} (\sigma) & := & s=t & \text{if $A$ is $s=t$.} \\
1982 126 adas
	%						\witness{}{A} (\sigma) & := & s\neq t & \text{if $A$ is $s\neq t$.} \\
1983 126 adas
	%			\witness{}{A \star B} ( \vec \sigma^A , \vec \sigma^B) & := &  \witness{}{A} (\vec \sigma^A) \cor \witness{}{B} (\vec \sigma^B) &
1984 126 adas
	%						\text{for $\star \in \{ \lor,\laor\}$.}
1985 126 adas
	%			\\
1986 126 adas
	%			\witness{}{A \star B} ( \vec \sigma^A , \vec \sigma^B) & := &  \witness{}{A} (\vec \sigma^A ) \cand \witness{}{B} (\vec \sigma^B ) &
1987 126 adas
	%						\text{for $\star \in \{ \land, \laand \}$.}
1988 126 adas
	%			\\
1989 126 adas
	%			\witness{}{\exists x^\word A} ( \sigma, \vec \sigma^A  ) & := & \witness{}{A}(\vec \sigma^A , \sigma ) & \\
1990 126 adas
	%			\witness{}{!A} (\vec \sigma^A) & := & \witness{}{A} (\vec \sigma^A)
1991 126 adas
	%			\end{array}
1992 126 adas
	\begin{array}{rcl}
1993 126 adas
	\witness{}{\word (t)} (\sigma) & := & \sigma = t
1994 126 adas
	%			\text{if $A$ is $\word (t)$.}
1995 126 adas
	\\
1996 126 adas
	\witness{}{s=t} (\sigma) & := & s=t
1997 126 adas
	%			\text{if $A$ is $s=t$.}
1998 126 adas
	\\
1999 126 adas
	\witness{}{s \neq t} (\sigma) & := & s\neq t
2000 126 adas
	%			\text{if $A$ is $s\neq t$.}
2001 126 adas
	\\
2002 126 adas
	%			\witness{}{A \star B} ( \vec \sigma^A , \vec \sigma^B) & := &  \witness{}{A} (\vec \sigma^A) \cor \witness{}{B} (\vec \sigma^B) &
2003 126 adas
	%			\text{for $\star \in \{ \lor,\laor\}$.}
2004 126 adas
	%			\\
2005 126 adas
	%			\witness{}{A \star B} ( \vec \sigma^A , \vec \sigma^B) & := &  \witness{}{A} (\vec \sigma^A ) \cand \witness{}{B} (\vec \sigma^B ) &
2006 126 adas
	%			\text{for $\star \in \{ \land, \laand \}$.}
2007 126 adas
	%			\\
2008 126 adas
	%			\witness{}{\exists x^\word A} ( \sigma, \vec \sigma^A  ) & := & \witness{}{A}(\vec \sigma^A , \sigma ) & \\
2009 126 adas
	\witness{}{!A} (\vec \sigma^A) & := & \witness{}{A} (\vec \sigma^A)
2010 126 adas
	\end{array}
2011 126 adas
	\quad
2012 126 adas
	\begin{array}{rcl}
2013 126 adas
	%						\witness{}{\word (t)} (\sigma) & := & \sigma = t & \text{if $A$ is $\word (t)$.} \\
2014 126 adas
	%						\witness{}{s=t} (\sigma) & := & s=t & \text{if $A$ is $s=t$.} \\
2015 126 adas
	%						\witness{}{s \neq t} (\sigma) & := & s\neq t &
2016 126 adas
	%						\text{if $A$ is $s\neq t$.}
2017 126 adas
	%						\\
2018 126 adas
	\witness{}{A \bullet B} ( \vec \sigma^A , \vec \sigma^B) & := &  \witness{}{A} (\vec \sigma^A) \cor \witness{}{B} (\vec \sigma^B)
2019 126 adas
	%						\text{for $\star \in \{ \lor,\laor\}$.}
2020 126 adas
	\\
2021 126 adas
	\witness{}{A \circ B} ( \vec \sigma^A , \vec \sigma^B) & := &  \witness{}{A} (\vec \sigma^A ) \cand \witness{}{B} (\vec \sigma^B )
2022 126 adas
	%						\text{for $\star \in \{ \land, \laand \}$.}
2023 126 adas
	\\
2024 126 adas
	\witness{}{\exists x^\word A} ( \sigma, \vec \sigma^A  ) & := & \witness{}{A}(\vec \sigma^A , \sigma )
2025 126 adas
	%						 \\
2026 126 adas
	%						\witness{}{!A} (\vec \sigma^A) & := & \witness{}{A} (\vec \sigma^A)
2027 126 adas
	\end{array}
2028 126 adas
	%						\begin{array}{rcl}
2029 126 adas
	%%						\witness{}{\word (t)} (\sigma) & := & \sigma = t & \text{if $A$ is $\word (t)$.} \\
2030 126 adas
	%%						\witness{}{s=t} (\sigma) & := & s=t & \text{if $A$ is $s=t$.} \\
2031 126 adas
	%%						\witness{}{s \neq t} (\sigma) & := & s\neq t & \text{if $A$ is $s\neq t$.} \\
2032 126 adas
	%%						\witness{}{A \star B} ( \vec \sigma^A , \vec \sigma^B) & := &  \witness{}{A} (\vec \sigma^A) \cor \witness{}{B} (\vec \sigma^B) &
2033 126 adas
	%%						\text{for $\star \in \{ \lor,\laor\}$.}
2034 126 adas
	%%						\\
2035 126 adas
	%%						\witness{}{A \star B} ( \vec \sigma^A , \vec \sigma^B) & := &  \witness{}{A} (\vec \sigma^A ) \cand \witness{}{B} (\vec \sigma^B ) &
2036 126 adas
	%%						\text{for $\star \in \{ \land, \laand \}$.}
2037 126 adas
	%%						\\
2038 126 adas
	%						\witness{}{\exists x^\word A} ( \sigma, \vec \sigma^A  ) & := & \witness{}{A}(\vec \sigma^A , \sigma )  \\
2039 126 adas
	%						\witness{}{!A} (\vec \sigma^A) & := & \witness{}{A} (\vec \sigma^A)
2040 126 adas
	%						\end{array}
2041 126 adas
	\]
2042 126 adas
	where $\bullet \in \{ \lor, \laor \}$, $\circ \in \{ \land,\laand \}$, $|\vec \sigma^A| = |\type (A)|$ and $|\vec \sigma^B| = |\type (B)| $.
2043 126 adas
\end{definition}
2044 126 adas
%	\todo{problem: what about complexity of checking equality? }
2045 126 adas
2046 126 adas
%		\begin{remark}
2047 126 adas
Notice that, unlike in the bounded arithmetic setting where the $\word$ predicate is redundant (since variables are tacitly assumed to range over $\word$), we do not parametrise the witness predicate by an assignment to the free variables of a formula. Instead these dependencies are taken care of by the explicit occurrences of the $\word$ predicate in $\arith$.
2048 126 adas
%		\end{remark}
2049 126 adas
2050 126 adas
%		\todo{Reformulate above later if necessary.}
2051 126 adas
2052 126 adas
%	\todo{What about $\nat (t)$? What does it mean? Replace with true?}
2053 126 adas
2054 126 adas
%	\todo{either use the witness predicate above, or use realizability predicate at meta-level and a model theory, like BH.}
2055 126 adas
2056 126 adas
%	\anupam{Need to check above properly. $N(t)$ should be witnessed by the value of $t $ in the model. For equality of terms the witness should not do anything.}
2057 126 adas
2058 126 adas
%		\anupam{to consider/remark: formally, is witness predicate checked in model or some logical theory?}
2059 126 adas
2060 126 adas
2061 126 adas
2062 126 adas
2063 126 adas
\begin{lemma}
2064 126 adas
	\label{lemma:witness-invariant}
2065 126 adas
	Let $\pi$ be a free-cut free proof in $\closure{\eqspec}\cup \arith$, satisfying properties \ref{item:no-neg-word}, \ref{item:no-forall}, \ref{item:no-quest}, \ref{item:no-laor-step} of Prop.~\ref{prop:freedom}, of a sequent $\Gamma \seqar \Delta $. Let $\eqspec^\pi$ denote the BC program for $\vec f^\pi$.\footnote{We assume that the function symbols occurring in $\eqspec^\pi$ are distinct from those occurring in $\eqspec$.} Then $\qfindth$ proves:
2066 126 adas
	\[
2067 126 adas
	\left(\forall \eqspec \cand \forall \eqspec^\pi \cand \witness{}{\bigotimes \Gamma} (\vec a)\right) \cimp \witness{}{\bigparr \Delta } (\vec f^\pi(\vec a))
2068 126 adas
	\]
2069 126 adas
	where $\forall \eqspec$ and $\forall \eqspec^\pi$ denote the universal closures of $\eqspec$ and $\eqspec^\pi$ respectively.
2070 126 adas
	%Suppose $\pi$ is a free-cut free $\Sigma^\nat_1$-$\pind$ proof of a sequent $\Gamma (\vec a) \seqar \Delta (\vec a)$, with $\vec f^\pi$ defined as above. Then:
2071 126 adas
	%	\[
2072 126 adas
	%			\witness{\vec a}{\bigotimes \Gamma} (\vec w , \vec b) \implies \witness{\vec a}{\bigparr \Delta } (\vec f^\pi(\vec w , \vec b), \vec b)
2073 126 adas
	%			\]
2074 126 adas
\end{lemma}
2075 126 adas
2076 126 adas
2077 126 adas
%			\anupam{to consider: do we need parameters $\vec a$ in argument of $f$? Or does $\nat$ predicate take care of this?}
2078 126 adas
%
2079 126 adas
%			%	We will be explicit about normal and safe inputs when necessary, for the most part we will simply rearrange inputs into lists $(\vec u; \vec a)$ as in BC framework.
2080 126 adas
%
2081 126 adas
%%			We often suppress the parameters $\vec a$ when it is not important.
2082 126 adas
%
2083 126 adas
%			\anupam{Is this implication provable in Bellantoni's version of PV based on BC?}
2084 126 adas
2085 126 adas
%	\anupam{for moment try ignore decoration on right? what about negation?}
2086 126 adas
2087 126 adas
2088 126 adas
\begin{proof}[Proof sketch]
2089 126 adas
	By structural induction on $\pi$, again, following the definition of $\vec f^\pi$.\footnote{Notice that, since we are in a classical theory, the proof of the above lemma can be carried out in an arbitrary model, by the completeness theorem, greatly easing the exposition.}
2090 126 adas
\end{proof}
2091 126 adas
2092 126 adas
2093 126 adas
Finally, we arrive at our main result, providing a converse to Thm.~\ref{thm:arith-proves-bc-conv}.
2094 126 adas
2095 126 adas
\begin{theorem}
2096 126 adas
	\label{thm:main-result}
2097 126 adas
	For any coherent equational specification $\eqspec$, if $\arith $ proves $\conv (f , \eqspec)$ then there is a polynomial-time function $g $ on $\Word$ (of same arity as $f$) satisfying $\eqspec [  g/ f ]$.
2098 126 adas
2099 126 adas
	%		If we can prove a convergence statement for a function $f$ under a specification $\Phi(f)$ then there is a BC-program for a function $\mathbf f$ such that:
2100 126 adas
	%		\begin{equation}
2101 126 adas
	%		\label{eqn:spec-implies-program}
2102 126 adas
	%\Phi(f) \implies f (\vec x) = \mathbf{f} (\vec x)
2103 126 adas
	%		\end{equation}
2104 126 adas
	%		\begin{equation}
2105 126 adas
	%		\label{eqn:program-satisfies-spec}
2106 126 adas
	%		\Phi(\mathbf f)
2107 126 adas
	%		\end{equation}
2108 126 adas
\end{theorem}
2109 126 adas
\begin{proof}
2110 126 adas
	[Proof sketch]
2111 126 adas
	%		By Thm.~\ref{thm:free-cut-elim} and Lemma~\ref{lemma:spec-norm-form} we have a free-cut free proof $\pi$ in $\closure{\eqspec} \cup \arith$ of $!\word (\vec x ) \seqar \word (f (\vec x))$. By Lemma~\ref{lemma:witness-invariant} above this means that $\vec a = \vec x \cimp f^\pi (\vec a) = f(\vec x)$ is true in any model of $\qfindth$ satisfying $\eqspec$ and $\eqspec^\pi$.
2112 126 adas
	%%		Since some model must exist by coherence (cf.\ Prop.~\ref{prop:eq-spec-model}), we have that
2113 126 adas
	%		Using the fact that $\eqspec \cup \eqspec^\pi$ is coherent we can construct such a model, similarly to Prop.~\ref{prop:eq-spec-model}, which will contain $\Word$ as an initial segment, in which we must have $f^\pi (\vec x) = f (\vec x)$ for every $\vec x \in \Word$, as required.\todo{polish}
2114 126 adas
	Follows from Lemmas~\ref{lemma:spec-norm-form} and \ref{lemma:witness-invariant}, Dfn.~\ref{dfn:wit-pred} and coherence of $\eqspec$, cf.~\ref{prop:eq-spec-model}.
2115 126 adas
\end{proof}
2116 126 adas
2117 126 adas
%			\begin{proof}
2118 126 adas
%			Notice that a convergence statement has the following form:
2119 126 adas
%			\[
2120 126 adas
%			!\Phi(f) , !\nat(\vec a) \seqar \nat(f (\vec a) )
2121 126 adas
%			\]
2122 126 adas
%			By the lemma above, and by inspection of the definition of the witness predicate, this means we have that,
2123 126 adas
%			\[
2124 126 adas
%			(\Phi(f) \cand \vec x = \vec a ) \implies \mathbf f (\vec x) = f(\vec a)
2125 126 adas
%			\]
2126 126 adas
%			whence we arrive at \eqref{eqn:spec-implies-program}.
2127 126 adas
%
2128 126 adas
%			Finally, notice that $\Phi(f)$ has \emph{some} model, since it is a monotone inductive definition so some fixed point must exist. Therefore we obtain \eqref{eqn:program-satisfies-spec} as well.
2129 126 adas
%			\end{proof}
2130 126 adas
%
2131 126 adas
%			\anupam{rephrase above proof to make more sense.}
2132 126 adas
%
2133 126 adas
%%
2134 126 adas
%\newcommand{\concat}{\mathit{concat}}
2135 126 adas
%\paragraph{Some points on concatenation \anupam{if necessary}}
2136 126 adas
%We can define the concatenation operation by PRN:
2137 126 adas
%\[
2138 126 adas
%\begin{array}{rcl}
2139 126 adas
%\concat (\epsilon ; y) & : = & x \\
2140 126 adas
%\concat (\succ_i x ; y) & := & \succ_i \concat (x ; y)
2141 126 adas
%\end{array}
2142 126 adas
%\]
2143 126 adas
%
2144 126 adas
%From here we can define iterated concatenation:
2145 126 adas
%\[
2146 126 adas
%\concat (x_1 , \dots x_n ; y) \quad := \quad \concat (x_n ; \concat (x_{n-1} ; \vldots \concat (x_1 ; y) \vldots ) )
2147 126 adas
%\]
2148 126 adas
%
2149 126 adas
%(notice all safe inputs are hereditarily to the right of $;$ so this is definable by safe composition and projection.)
2150 126 adas
2151 126 adas
2152 126 adas
2153 126 adas
2154 126 adas
\section{Conclusions}
2155 126 adas
\label{sect:conclusions}
2156 126 adas
2157 126 adas
As mentioned in the introduction, our motivation for this work is to commence a proof-theoretic study of first-order theories in linear logic, in particular from the point of view of complexity.
2158 126 adas
To this end we proved a general form of `free-cut elimination' that generalises forms occurring in prior works, e.g.\ \cite{LincolnMSS92}. We adapted an arithmetic of Bellantoni and Hofmann in \cite{BelHof:02} to the linear logic setting, and used the free-cut elimination result, via the witness function method \cite{Buss86book}, to prove that a fragment of this arithmetic characterises $\FP$.
2159 126 adas
2160 126 adas
%. Our starting point was an axiomatisation proposed by Bellantoni and Hofmann in \cite{BelHof:02}, adapted to the linear logic setting. We identified a fragment, $\arith$, of the arithmetic that is sound and complete with respect to polynomial-time functions, using the free-cut elimination theorem and witness function method that is common in bounded arithmetic and applicative theories.
2161 126 adas
2162 126 adas
% To see if analogues of various results can be useful for the construction of theories corresponding to various complexity classes. In particular we are interested in the following conventions:
2163 126 adas
2164 126 adas
2165 126 adas
2166 126 adas
2167 126 adas
%An alternative to \ref{item:crit-implicit-complexity} is the use of, say, bounded quantifiers, as done in bounded arithmetic \cite{Buss86book}.
2168 126 adas
%
2169 126 adas
%Regarding \ref{item:crit-ground-type}, almost all approaches
2170 126 adas
2171 126 adas
%\subsection{Related work}
2172 126 adas
From the point of view of constructing theories for complexity classes, the choice of linear logic and witness function method satisfies two particular desiderata:
2173 126 adas
2174 126 adas
\begin{enumerate}
2175 126 adas
	\item\label{item:crit-implicit-complexity} Complexity is controlled by `implicit' means, not explicit bounds.
2176 126 adas
	%, e.g.\ modalities or ramification, as in \cite{Leivant94:found-delin-ptime}.
2177 126 adas
	\item\label{item:crit-ground-type} Extraction of programs relies on functions of only ground type.
2178 126 adas
\end{enumerate}
2179 126 adas
2180 126 adas
From this point of view, a relevant related work is that of Cantini \cite{Cantini02}, based on an \emph{applicative theory}, which we recently became aware of. The main difference here is the choice of model of computation: Cantini uses terms of combinatory logic, whereas we use equational specifications (ESs).
2181 126 adas
As we have mentioned, this choice necessitates a different proof-theoretic treatment, in particular since equality between terms is not decidable in the ES framework, hindering any constructive interpretation of the right-contraction rule. This is why Bellantoni and Hofmann require a double-negation translation into intuitionistic logic and the use of functionals at higher types, and why Leivant disregards classical logic altogether in \cite{Leivant94:found-delin-ptime}. Notice that this is precisely why our use of linear logic is important: the control of $?$ occurrences in a proof allows us to sidestep this problem. At the same time we are able to remain in a classical linear setting. We do not think that either model of computation is better, but rather that it is interesting to observe how such a choice affects the proof-theoretic considerations at hand.
2182 126 adas
2183 126 adas
%Our use of linear logic can, in some sense, be seen as a refinement of Leivant's result in \cite{Leivant94:found-delin-ptime}, where positive existential comprehension in intuitionistic second-order logic is found to correspond to polynomial time. The necessity of intuitionistic logic is since any double-negation translation from classical logic would break the positivity criterion. In this work we have observed that the further restriction to non-modal formulae in nonlogical rules is sufficient to carry out a witnessing argument directly from a classical setting, while remaining complete for polynomial-time functions. \todo{comprehension vs induction. Check this is not bullshit!}
2184 126 adas
%\patrick{hmm, I am not sure I understand how our use of linear logic can be viewed as a refinement of this work.}
2185 126 adas
2186 126 adas
2187 126 adas
2188 126 adas
Most works on the relationships between linear logic and complexity fit in the approach of the proofs-as-programs correspondence and study variants of linear logic with weak exponential modalities \cite{GirardSS92:bounded-ll} \cite{Girard94:lll} \cite{Lafont04}. However, Terui considers a na\"ive set theory \cite{Terui04} that also characterises $\FP$ and is based on \emph{light linear logic}.\footnote{He also presents a cut-elimination result but, interestingly, it is entirely complementary to that which we present here: he obtains full cut-elimination since he works in a system without full exponentials and with Comprehension as the only nonlogical rule. Since the latter admits a cut-reduction step, the former ensures that cut-elimination eventually terminates by a \emph{height-based} argument, contrary to our argument that analyses the \emph{degrees} of cut-formulae.} His approach relies on functionals at higher type, using the propositional fragment of the logic to type the extracted functionals. Another work using linear logic to characterize  complexity classes by using convergence proofs is \cite{Lasson11} but it is tailored for second-order logic.
2189 126 adas
The status of first-order theories is more developed for other substructural logics, for instance \emph{relevant logic} \cite{FriedmanM92}, although we do not know of any works connecting such logics to computational complexity.
2190 126 adas
2191 126 adas
%Most works on the relationships between linear logic and complexity concern the construction of \emph{type systems}, e.g.\ bounded linear logic \cite{GirardSS92:bounded-ll}, light linear logic and elementary linear logic \cite{Girard94:lll}, soft linear logic \cite{Lafont04}. However, Terui considers a na\"ive set theory \cite{Terui04} that is also sound and complete for polynomial time and is based on light linear logic. His approach relies on functionals at higher type, using light linear logic to type the extracted functionals.\footnote{He also presents a cut-elimination result but, interestingly, it is entirely complementary to that which we present here: he obtains full cut-elimination since he works in a system without full exponentials and with Comprehension as the only nonlogical axiom. Since the latter admits a cut-reduction step, the former ensures that cut-elimination eventually terminates by a \emph{height-based} argument, contrary to our argument that analyses the \emph{degrees} of cut-formulae.} The status of first-order theories is more developed for other substructural logics, for instance \emph{relevant logic} [cite?], although we do not know of any works connecting such logics to computational complexity.
2192 126 adas
2193 126 adas
Concerning the relationship between linear logic and safe recursion, we note that an embedding of a variant of safe recursion into light linear logic has been carried studied in \cite{Murawski04}, but this is in the setting of functional computation and is quite different from the present approach. Observe, however, that a difficulty in this setting  was the nonlinear treatment of safe arguments which here we manage by including in our theory an explicit contraction axiom for $W$.
2194 126 adas
2195 126 adas
We have already mentioned the work of Bellantoni and Hofmann \cite{BelHof:02}, which was somewhat the inspiration behind this work. Our logical setting is very similar to theirs, under a certain identification of symbols, but there is a curious disconnect in our use of the additive disjunction for the $\surj$ axiom. They rely on just one variant of disjunction. As we said, they rely on a double-negation translation and thus functionals at higher-type.
2196 126 adas
2197 126 adas
2198 126 adas
%\anupam{mention bounded arithmetic?}
2199 126 adas
%
2200 126 adas
%Finally, the approach of bounded arithmetic
2201 126 adas
%
2202 126 adas
%In summary, as far we
2203 126 adas
%
2204 126 adas
%
2205 126 adas
%******
2206 126 adas
%
2207 126 adas
%
2208 126 adas
%
2209 126 adas
%As far as we know no approach to  has combined a basis in linear (or a related) logic with a solely proof theoretic witnessing argument, such as the witness function method.
2210 126 adas
%
2211 126 adas
%
2212 126 adas
%
2213 126 adas
%
2214 126 adas
%In summary, it is promising that free-cut elimination and the witness function method can be used to extract similar complexity results to those obtained in bounded arithmetic.
2215 126 adas
2216 126 adas
2217 126 adas
2218 126 adas
%\subsection{Further work}
2219 126 adas
%\todo{finish!}
2220 126 adas
2221 126 adas
%
2222 126 adas
In further work we would like to apply the free-cut elimination theorem to theories based on other models of computation, namely the formula model employed in bounded arithmetic \cite{Buss86book}. We believe that the witness function method could be used at a much finer level in this setting,\footnote{One reason for this is that atomic formulae are decidable, and so we can have more freedom with the modalities in induction steps.} and extensions of the theory for other complexity classes, e.g.\ the polynomial hierarchy, might be easier to obtain.
2223 126 adas
%
2224 126 adas
%Say something about minimisation and the polynomial hierarchy. Could be achieved by controlling contraction/additives, since this requires a notion of tests.
2225 126 adas
%
2226 126 adas
%As we mentioned in the context section, there are many choices of model of computation when constructing theories. Applicative theories use combinatory algebra and in this work we have used equational specifications. Theories of bounded arithmetic, however, use arithmetic formulae to code computation sequences. The advantage of this is that any closed formula can be evaluated, and so equality is decidable.
2227 126 adas
%
2228 126 adas
%We think the true power of the witness function method lies in an approach such as this, although we
2229 126 adas
%
2230 126 adas
%
2231 126 adas
2232 126 adas
The problem of right-contraction seems to also present in work by Leivant \cite{Leivant94:found-delin-ptime}, which uses equational specifications, where the restriction to positive comprehension to characterise polynomial-time only goes through in an intuitionistic setting. It would be interesting to see if a linear logic refinement could reproduce that result in the classical setting, as we did here.
2233 126 adas
%
2234 126 adas
%Polynomial hierarchy? Cite Reinhard/Isobel and their cited works.
2235 126 adas
%
2236 126 adas
%\newpage
2237 126 adas
%
2238 126 adas
%
2239 126 adas
%
2240 126 adas
%
2241 126 adas
%
2242 126 adas
%
2243 126 adas
%
2244 126 adas
%
2245 126 adas
%
2246 126 adas
%
2247 126 adas
%*******************************************
2248 126 adas
%\todo{words or integers?}
2249 126 adas
%% % % % % % % % % % Bullet points % % % % % % %
2250 126 adas
%
2251 126 adas
%Some points, either here or in body of paper:
2252 126 adas
%
2253 126 adas
%\begin{itemize}
2254 126 adas
%\item Application of free-cut elimination to witnessing arguments: proof of concept.
2255 126 adas
%\item Examine differences between our arithmetic and Bellantoni and Hofmann: (a) our induction rule, is it equivalent? Maybe not. (b) point about their surjectivity axiom: we do not think it works unless they add another axiom, like Leivant's, for the completeness in the conditional case. We can remark that linear logic solves this problem neatly by use of the additives.
2256 126 adas
%\item Point about contraction on right: this is what free-cut elimination + linear logic adequately restricts. This is a problem for any classical theory that uses equational specifications.
2257 126 adas
%\item Regarding Leivant's intrinsic theories: his result about polynomial-time functions being exactly the provably convergent functions of positive existential induction is necessarily in intuitionistic logic. In classical logic he cannot avoid contraction on the right without the linear logic refinement that we have. \anupam{This can be seen as another contribution of our work?}
2258 126 adas
%\item On the other hand, our completeness argument can be seen as more-or-less what he had in mind, refined to linear logic.
2259 126 adas
%\item Discuss different approaches to arithmetics for complexity/witnessing. Namely:
2260 126 adas
%\begin{itemize}
2261 126 adas
%\item Programs: terms of combinatory logic vs. formulae of arithmetic vs. equational specifications.
2262 126 adas
%\item Convergence: N predicate vs. $\Pi^0_2$ sentence.
2263 126 adas
%\end{itemize}
2264 126 adas
%Remark: use of equational specifications necessitates N predicate. Hence contraction problems present, no problem for first two types of programs since there is a notion of execution (either via a well-typing or by seeing formula as a circuit), and so closed programs can be run and we can conduct equality tests for right-contraction steps.
2265 126 adas
%
2266 126 adas
%Remark: another variant in the equational specifications category is when equations are given on lambda-terms, e.g. as in
2267 126 adas
%
2268 126 adas
%Marc Lasson. Controlling Program Extraction in Light Logics. TLCA 2011: 123-137
2269 126 adas
%
2270 126 adas
%\item We should mention future line of work in bounded-arithmetic style, i.e. using formulas as programs.
2271 126 adas
%\patrick{In particular mention that we conjecture that in this setting induction on Sigma1 formulas (not only positive) would be Ptime sound, if I understand well?}
2272 126 adas
%
2273 126 adas
%\item Related works:
2274 126 adas
%\begin{itemize}
2275 126 adas
% \item Discuss differences with line of work on Curry-Howard style implicit complexity, e.g. light linear logic. Mention work of Murawski to relate safe recursion
2276 126 adas
% and LLL:
2277 126 adas
%
2278 126 adas
%Andrzej S. Murawski, C.-H. Luke Ong:
2279 126 adas
%On an interpretation of safe recursion in light affine logic. Theor. Comput. Sci. 318(1-2): 197-223 (2004)
2280 126 adas
%\item related works on free-cut elimination style results in LL (David Baelde?)
2281 126 adas
%\end{itemize}
2282 126 adas
%\end{itemize}
2283 126 adas
%
2284 126 adas
%\medskip
2285 126 adas
%
2286 126 adas
%A proposal of organization (Patrick):
2287 126 adas
%\begin{enumerate}
2288 126 adas
%\item Introduction:
2289 126 adas
%  \begin{itemize}
2290 126 adas
%        \item motivate and explain:
2291 126 adas
%                 \begin{itemize}
2292 126 adas
%                      \item free-cut elimination: mention use in bounded arithmetic
2293 126 adas
%                      \item linear logic: say mainly used for structural proof-theory, proofs-as-programs, proof search ?
2294 126 adas
%                      \item free cut-elimination for linear logic
2295 126 adas
%                  \end{itemize}
2296 126 adas
%          \item application in this paper: arithmetic systems for Ptime computability
2297 126 adas
%                 \begin{itemize}
2298 126 adas
%                   \item present Bellantoni-Hofmann's system and Leivant's ramified theory $RT_0$
2299 126 adas
%                   \item explain their relationships with implicit computational complexity on the one hand, bounded arithmetic on the other. some words about witnessing method in bounded arithmetic
2300 126 adas
%                   \item describe our contribution: re-prove a weak version of Bellantoni-Hofmann, by using the witnessing method.
2301 126 adas
%                 \end{itemize}
2302 126 adas
%   \end{itemize}
2303 126 adas
%\item Related works section (by the end?):
2304 126 adas
%        \begin{itemize}
2305 126 adas
%             \item about complexity:
2306 126 adas
%               \begin{itemize}
2307 126 adas
%                  \item overview of different approaches to arithmetics for complexity
2308 126 adas
%                  \item technical comparison of our contribution w.r.t. Bellantoni-Hofmann and w.r.t. Leivant
2309 126 adas
%                  \item short comparison with Murawski-Ong's study of safe recursion vs. LLL
2310 126 adas
%                 \end{itemize}
2311 126 adas
%             \item about linear logic:
2312 126 adas
%                \begin{itemize}
2313 126 adas
%                    \item if not done in the introduction, comparison with free-cut elimination like results by Baelde or others
2314 126 adas
%                \end{itemize}
2315 126 adas
%         \end{itemize}
2316 126 adas
%\item Conclusion and future work:
2317 126 adas
%
2318 126 adas
%mention something about prenexing if needed.
2319 126 adas
%
2320 126 adas
% future work on bounded arithmetic style
2321 126 adas
% \end{enumerate}
2322 126 adas
% \medskip
2323 126 adas
%
2324 126 adas
% *************************************
2325 126 adas
%
2326 126 adas
%
2327 126 adas
%Comments:
2328 126 adas
%
2329 126 adas
%\vspace{2em}
2330 126 adas
%
2331 126 adas
%Related works section (by the end?):
2332 126 adas
%        \begin{itemize}
2333 126 adas
%             \item about complexity:
2334 126 adas
%               \begin{itemize}
2335 126 adas
%                  \item overview of different approaches to arithmetics for complexity
2336 126 adas
%                  \item technical comparison of our contribution w.r.t. Bellantoni-Hofmann and w.r.t. Leivant
2337 126 adas
%                  \item short comparison with Murawski-Ong's study of safe recursion vs. LLL
2338 126 adas
%                 \end{itemize}
2339 126 adas
%             \item about linear logic:
2340 126 adas
%                \begin{itemize}
2341 126 adas
%                    \item if not done in the introduction, comparison with free-cut elimination like results by Baelde or others
2342 126 adas
%                \end{itemize}
2343 126 adas
%         \end{itemize}
2344 126 adas
%
2345 126 adas
%
2346 126 adas
%
2347 126 adas
%
2348 126 adas
%                  % % % % % % % % % % % % % % % % % % % % % % % %
2349 126 adas
%                  \subsubsection{Parameters}
2350 126 adas
%                  \begin{itemize}
2351 126 adas
%                  \item Programs. Equational specifications vs lambda terms vs formulae.
2352 126 adas
%                  \item Convergence statement. Designated predicate vs $\Pi^0_2$ formula.
2353 126 adas
%                  \item Source of complexity. Bounded quantifiers (induces Cobham limited recursive programs) vs modalities (induces ramified/safe recursive programs).
2354 126 adas
%                  \item Proof method. Realisability/Dialectica (higher types) vs Proof theoretic (ground type).
2355 126 adas
%                  \end{itemize}
2356 126 adas
%
2357 126 adas
%
2358 126 adas
%                  \subsubsection{Linear logic and complexity}
2359 126 adas
%                  \begin{itemize}
2360 126 adas
%                  \item Mostly type systems, e.g.\ bounded/light/soft/elementary linear logic. (Girard, Girard (?), Lafont, ? resp.)
2361 126 adas
%                  \item Girard/Terui/Grishin naive set theory. Uses realisability.
2362 126 adas
%
2363 126 adas
%
2364 126 adas
%                  \end{itemize}
2365 126 adas
%
2366 126 adas
%                  \subsubsection{Modal systems}
2367 126 adas
%                  Modal systems usually model the notion of ramification from Leivant's intrinsic theories.
2368 126 adas
%
2369 126 adas
%                  \subsection{Witnessing argument}
2370 126 adas
%                  Almost all works use a
2371 126 adas
%
2372 126 adas
%                  refinement of Leivant 94.
2373 126 adas
2374 126 adas
2375 123 adas
\bibliographystyle{plain}
2376 123 adas
\bibliography{biblio}
2377 123 adas
2378 123 adas
%\newpage
2379 123 adas
%
2380 123 adas
%\input{appendix}
2381 123 adas
2382 123 adas
\end{document}