Statistiques
| Révision :

root / CSL16 / feas-arith-wfm.tex @ 13

Historique | Voir | Annoter | Télécharger (45,82 ko)

1
\documentclass[a4paper,UKenglish]{lipics-v2016}
2
%This is a template for producing LIPIcs articles. 
3
%See lipics-manual.pdf for further information.
4
%for A4 paper format use option "a4paper", for US-letter use option "letterpaper"
5
%for british hyphenation rules use option "UKenglish", for american hyphenation rules use option "USenglish"
6
% for section-numbered lemmas etc., use "numberwithinsect"
7
 
8
\usepackage{microtype}%if unwanted, comment out or use option "draft"
9

    
10
%\graphicspath{{./graphics/}}%helpful if your graphic files are in another directory
11

    
12
\bibliographystyle{plainurl}% the recommended bibstyle
13

    
14

    
15

    
16

    
17
\usepackage[lutzsyntax]{virginialake}
18
\usepackage{amsmath}
19
\usepackage{amssymb}
20
\usepackage{amsthm}
21
\usepackage{times}
22
%\usepackage{sans}
23
\usepackage{cmll}
24
\usepackage{bm}
25

    
26
%\newtheorem{theorem}{Theorem}
27
%\newtheorem{maintheorem}[theorem]{Main Theorem}
28
%\newtheorem{observation}[theorem]{Observation}
29
%\newtheorem{corollary}[theorem]{Corollary}
30
%\newtheorem{lemma}[theorem]{Lemma}
31
\newtheorem{proposition}[theorem]{Proposition}
32
%\newtheorem{conjecture}[theorem]{Conjecture}
33
%
34
%\theoremstyle{definition}
35
%\newtheorem{definition}[theorem]{Definition}
36
%\newtheorem{example}[theorem]{Example}
37
%\newtheorem{notation}[theorem]{Notation}
38
%\newtheorem{convention}[theorem]{Convention}
39
%\newtheorem{remark}[theorem]{Remark}
40
%\newtheorem{discussion}[theorem]{Discussion}
41

    
42
\newcommand{\todo}[1]{{\color{red}{\textbf{Todo:} #1}}}
43
\newcommand{\anupam}[1]{{\color{orange}{\textbf{Anupam:} #1}}}
44
\newcommand{\patrick}[1]{{\color{blue}{\textbf{Patrick:} #1}}}
45

    
46
\newcommand{\defined}{:=}
47
\begin{document}
48
	
49
	\newcommand{\LL}{\it{LL}}
50
	\vllineartrue
51
	
52
	
53
	\newcommand{\FV}{\mathit{FV}}
54
	
55
	
56
	%terms
57
	\renewcommand{\succ}{s}
58
	\renewcommand{\epsilon}{\varepsilon}
59
	
60
	% linear connectives
61
	
62
	\newcommand{\limp}{\multimap}
63
	\renewcommand{\land}{\otimes}
64
	\newcommand{\laand}{\&}
65
	\newcommand{\laor}{\oplus}
66
	\renewcommand{\lor}{\vlpa}
67
	\renewcommand{\lnot}[1]{{#1^{\perp}}}
68
	\newcommand{\lnotnot}[1]{#1^{\perp \perp}}
69
	
70
	% classical connectives
71
	
72
	\newcommand{\cimp}{\supset}
73
	\newcommand{\cand}{\wedge}
74
	\newcommand{\cor}{\vee}
75
	\newcommand{\cnot}{\neg}
76
	
77
	
78
	\newcommand{\Ax}{\mathit{(Ax)}}
79
	\newcommand{\Rl}{\mathit{(Rl)}}
80
	
81
	\newcommand{\MELL}{\mathit{MELL}}
82
	\newcommand{\MEAL}{\mathit{MELLW}}
83
	\newcommand{\MELLW}{\mathit{MELL(W)}}
84
	
85
	\newcommand{\Aonetwo}{\mathcal{A}^1_2}
86
	\newcommand{\logic}{\mathit{L}_{\mathcal A} }
87
	
88
	% predicates
89
	\newcommand{\nat}{N}
90
	
91
	\newcommand{\Nat}{\mathbb{N}}
92
	
93
	%axioms
94
	\newcommand{\wk}{\mathit{wk}}
95
	\newcommand{\impl}{\cimp\text{-}\mathit{l}}
96
	\newcommand{\impcomm}{\mathit{com}}
97
	\newcommand{\conint}{\cand\text{-}\mathit{i}}
98
	\newcommand{\conel}{\cand\text{-}\mathit{e}}
99
	\newcommand{\negclass}{\cnot}
100
	
101
	%rules
102
	\renewcommand{\mp}{\mathit{mp}}
103
	\newcommand{\gen}{\mathit{gen}}
104
	\newcommand{\inst}{\mathit{ins}}
105
	\newcommand{\id}{\it{id}}
106
	\newcommand{\cut}{\it{cut}}
107
	\newcommand{\multicut}{\it{mcut}}
108
	\newcommand{\indr}{\mathit{IND}}
109
	\newcommand{\nec}{\mathit{nec}}
110
	\newcommand{\tax}{\mathit{T}}
111
	\newcommand{\four}{\mathit{4}}
112
	\newcommand{\kax}{\mathit{K}}
113
	\newcommand{\cntr}{\mathit{cntr}}
114
	
115
	\newcommand{\lefrul}[1]{#1\text{-}\mathit{l}}
116
	\newcommand{\rigrul}[1]{#1\text{-}\mathit{r}}
117
	
118
	%consequence relations
119
	\newcommand{\admits}{\vDash}
120
	\newcommand{\seqar}{\vdash}
121
	\newcommand{\proves}{\vdash_e}
122
	
123
	%induction
124
	\newcommand{\ind}{\mathit{IND}}
125
	\newcommand{\pind}{\mathit{PIND}}
126
	\newcommand{\cax}[2]{#1\text{-}#2}
127

    
128

    
129

    
130
% Author macros::begin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
131
\title{Free-cut elimination in linear logic: an application to implicit complexity}
132
%\titlerunning{A Sample LIPIcs Article} %optional, in case that the title is too long; the running title should fit into the top page column
133

    
134
%% 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
135
\author[1]{Patrick Baillot}
136
\author[2]{Anupam Das}
137
\affil[1]{Dummy University Computing Laboratory, Address/City, Country\\
138
  \texttt{open@dummyuniversity.org}}
139
\affil[2]{Department of Informatics, Dummy College, Address/City, Country\\
140
  \texttt{access@dummycollege.org}}
141
\authorrunning{J.\,Q. Open and J.\,R. Access} %mandatory. First: Use abbreviated first/middle names. Second (only in severe cases): Use first author plus 'et. al.'
142

    
143
\Copyright{John Q. Open and Joan R. Access}%mandatory, please use full first names. LIPIcs license is "CC-BY";  http://creativecommons.org/licenses/by/3.0/
144

    
145
\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". 
146
\keywords{Dummy keyword -- please provide 1--5 keywords}% mandatory: Please provide 1-5 keywords
147
% Author macros::end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
148

    
149
%Editor-only macros:: begin (do not touch as author)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
150
\EventEditors{John Q. Open and Joan R. Acces}
151
\EventNoEds{2}
152
\EventLongTitle{42nd Conference on Very Important Topics (CVIT 2016)}
153
\EventShortTitle{CVIT 2016}
154
\EventAcronym{CVIT}
155
\EventYear{2016}
156
\EventDate{December 24--27, 2016}
157
\EventLocation{Little Whinging, United Kingdom}
158
\EventLogo{}
159
\SeriesVolume{42}
160
\ArticleNo{23}
161
% Editor-only macros::end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
162

    
163
\maketitle
164

    
165
\begin{abstract}
166
We prove a general form of free-cut elimination for first-order theories in linear logic. We consider a version of Peano Arithmetic in linear logic and prove a witnessing theorem via the Buss and Mints \emph{witness function method}, characterising polytime as the provably total functions.
167
 \end{abstract}
168

    
169
\section{Introduction}
170

    
171
\todo{words or integers?}
172

    
173

    
174

    
175
\section{Preliminaries}
176

    
177
\todo{consider removing and just have a section on linear logic, including free-cut elimination.}
178

    
179

    
180

    
181

    
182
\paragraph*{Notation}
183
Fix conventions here for use throughout:
184
\begin{itemize}
185
\item Eigenvariables: $a, b , c$.
186
\item (Normal) variables: $u,v,w$. (only when distinction is important, e.g.\ $u^{!\nat}$).
187
\item (Safe) variables: $x,y,z$. (as above, e.g.\ $x^\nat$.)
188
\item Terms: $r,s,t$.
189
\item Formulae: $A,B,C$.
190
\item Atomic formulae: $p,q$.
191
\item Sequents: $\Gamma, \Delta, \Sigma, \Pi$.
192
\item Proofs: $\pi, \rho, \sigma$.
193
\item Theories: $\mathcal T$. Sequent systems: $\mathcal S$.
194
\end{itemize}
195

    
196
\subsection{Linear logic}
197

    
198
\anupam{use a system that is already in De Morgan form, for simplicity.}
199
\anupam{Have skipped units, can reconsider this when in arithmetic. Also in affine setting can be recovered by any contradiction/tautology.}
200

    
201
\begin{definition}\label{def:LLsequentcalculus}
202
[Sequent calculus for linear logic]
203
We define the following calculus in De Morgan normal form:
204
\[
205
\begin{array}{l}
206
\begin{array}{cccc}
207
\vlinf{\lefrul{\bot}}{}{p, \lnot{p} \seqar }{}
208
& \vlinf{\id}{}{p \seqar p}{}
209
& \vlinf{\rigrul{\bot}}{}{\seqar p, \lnot{p}}{}
210
& \vliinf{\cut}{}{\Gamma, \Sigma \seqar \Delta , \Pi}{ \Gamma \seqar \Delta, A }{\Sigma, A \seqar \Pi}
211
\\
212
\noalign{\bigskip}
213
%\text{Multiplicatives:} & & & \\
214
%\noalign{\bigskip}
215
\vliinf{\lefrul{\lor}}{}{\Gamma,\Sigma, A \lor B \seqar \Delta, \Pi}{\Gamma, A \seqar \Delta}{\Sigma , B \seqar \Pi}
216
&
217
\vlinf{\lefrul{\land}}{}{\Gamma, A\land B \seqar \Delta}{\Gamma, A , B \seqar \Delta}
218
&
219
\vlinf{\rigrul{\lor}}{}{\Gamma \seqar \Delta, A \lor B}{\Gamma \seqar \Delta, A, B}
220
&
221
\vliinf{\rigrul{\land}}{}{\Gamma, \Sigma \seqar \Delta , \Pi , A \land B}{\Gamma \seqar \Delta , A}{\Sigma \seqar \Pi , B}
222
\\
223
\noalign{\bigskip}
224
%\text{Additives:} & & & \\
225
%\noalign{\bigskip}
226
\vliinf{\lefrul{\laor}}{}{\Gamma, A \laor B \seqar \Delta}{\Gamma , A \seqar \Delta}{\Gamma, B \seqar \Delta}
227
&
228
\vlinf{\lefrul{\laand}}{}{\Gamma, A_1\laand A_2 \seqar \Delta}{\Gamma, A_i \seqar \Delta}
229
&
230
%\vlinf{\lefrul{\laand}}{}{\Gamma, A\laand B \seqar \Delta}{\Gamma, B \seqar \Delta}
231
%\quad
232
\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A_1\laor A_2}{\Gamma \seqar \Delta, A_i}
233
&
234
%\vlinf{\rigrul{\laor}}{}{\Gamma \seqar \Delta, A\laor B}{\Gamma \seqar \Delta, B}
235
%\quad
236
\vliinf{\rigrul{\laand}}{}{\Gamma \seqar \Delta, A \laand B }{\Gamma \seqar \Delta, A}{\Gamma \seqar \Delta, B}
237
\\
238
\noalign{\bigskip}
239
%\text{Exponentials:} & & & \\
240
%\noalign{\bigskip}
241
\vlinf{\lefrul{?}}{}{!\Gamma, ?A \seqar ?\Delta}{!\Gamma , A \seqar ?\Delta}
242
&
243
\vlinf{\lefrul{!}}{}{\Gamma, !A \seqar \Delta}{\Gamma, A \seqar \Delta}
244
&
245
\vlinf{\rigrul{?}}{}{\Gamma \seqar \Delta, ?A}{\Gamma \seqar \Delta, A}
246
&
247
\vlinf{\rigrul{!}}{}{!\Gamma \seqar ?\Delta, !A}{!\Gamma \seqar ?\Delta, A}
248
\\
249
\noalign{\bigskip}
250
%\text{Structural:} & & & \\
251
%\noalign{\bigskip}
252
\vlinf{\lefrul{\wk}}{}{\Gamma, !A \seqar \Delta}{\Gamma \seqar \Delta}
253
&
254
\vlinf{\lefrul{\cntr}}{}{\Gamma, !A \seqar \Delta}{\Gamma, !A, !A \seqar \Delta}
255
&
256
\vlinf{\rigrul{\wk}}{}{\Gamma \seqar \Delta, ?A }{\Gamma \seqar \Delta}
257
&
258
\vlinf{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, ?A}{\Gamma \seqar \Delta, ?A, ?A}
259
\\
260
\noalign{\bigskip}
261
\vlinf{\lefrul{\exists}}{}{\Gamma, \exists x . A(x) \seqar \Delta}{\Gamma, A(a) \seqar \Delta}
262
&
263
\vlinf{\lefrul{\forall}}{}{\Gamma, \forall x. A(x) \seqar \Delta}{\Gamma, A(t) \seqar \Delta}
264
&
265
\vlinf{\rigrul{\exists}}{}{\Gamma \seqar \Delta, \exists x . A(x)}{ \Gamma \seqar \Delta, A(t)}
266
&
267
\vlinf{\rigrul{\forall}}{}{\Gamma \seqar \Delta, \forall x . A(x)}{ \Gamma \seqar \Delta, A(a) }
268
\end{array}
269
\end{array}
270
\]
271
where $p$ atomic, $i \in \{ 1,2 \}$ and the eigenvariable $a$ does not occur free in $\Gamma$ or $\Delta$.
272
\end{definition}
273

    
274
  We will consider extensions of linear logic with a \textit{theory}  $\mathcal T$ consisting in a finite set of additional axioms and rules, depicted as:
275

    
276
 \[
277
 \begin{array}{cc}
278
  \vlinf{(ax)}{}{ \seqar A}{}  &  \vlinf{(R)}{}{ !\Gamma , \Sigma' \seqar \Delta' , ? \Pi  }{ \{!\Gamma , \Sigma_i \seqar \Delta_i , ? \Pi \}_{i \in I} }
279
\end{array}
280
\]
281
  
282
 where in rule (R), $I$ is a finite set (indicating the number of premises) and we assume the following condition:
283
  
284
  \textit{for any $i\in I$, formulas in $\Sigma_i, \Delta_i$ do not share any free variable with   $\Gamma, \Pi$.} 
285
  
286
  In the following we will be interested in an example of theory  $\mathcal T$ which is a form of arithmetic.
287
  
288
  A proof in this system will be called a \textit{ $\mathcal T$-proof}, or just \textit{proof} when there is no risk of confusion.
289
   The rules of Def. \ref{def:LLsequentcalculus} are called \textit{logical rules} while the rules (ax) and (R) of $\tau$ are called \textit{non-logical}.
290
  
291
  As usual rules come with a notion of \textit{active formulas}, which are a subset of the rules in the conclusion, e.g.:
292
  $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;
293
   $\Sigma', \Delta'$ in rule (R).
294
  
295
  While in usual 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 $\tau$. For this reason we need now to define the kind of cuts that  will remain in proofs after reduction.
296
  \begin{definition}\label{def:anchoredcut}
297
  An instance of cut rule in a  $\mathcal T$-proof is an \textit{anchored cut} if  its cut-formulas $A$ in the two premises are both principal for their rule, and at least one of these rules is non-logical.
298
  \end{definition}
299
  So for instance a cut on an (active) 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 
300
  a rule $\rigrul{\lor}$ and a rule $\lefrul{\lor}$ is not.
301
   
302
   Now we can state the main result of this section:
303
   \begin{theorem}
304
    GIven a theory  $\mathcal T$, any  $\mathcal T$-proof $\pi$ can be transformed into a $\mathcal T$-proof $\pi'$ with same conclusion sequent and in which all cuts are anchored.
305
   \end{theorem}
306
   
307
\subsection{Deduction theorem}
308

    
309
[cite Avron:`semantics and proof theory of linear logic']
310

    
311
We will make much use of the deduction theorem, allowing us to argue informally within a theory for hypotheses that have been promoted.
312

    
313
%$$
314
%	\vliiinf{}{}{ \seqar A}{ \seqar C}
315
%	$$
316

    
317
%\[
318
%	\vliiinf{R}{}{ !\Gamma , \Sigma' \seqar \Delta' , ? \Pi  }{ \{!\Gamma , \Sigma_i \seqar \Delta_i , ? \Pi \}_{i \in I} }
319
%	\]
320

    
321
\begin{theorem}
322
	[Deduction]
323
	If $\mathcal T , A \proves B$ then $\mathcal{T} \proves !A \limp B$.
324
\end{theorem}
325

    
326
\todo{need that $A$ above is closed! Check for rules to axioms.}
327

    
328

    
329

    
330
\subsection{Converting axioms to rules in $\MELLW$}
331

    
332
\begin{proposition}
333
	An axiom $\Ax$ of the form,
334
	\[
335
	A_1 \limp \vldots \limp A_m \limp !B_1 \limp \vldots \limp !B_n \limp C
336
	\]
337
	is equivalent (over propositional $\LL$) to the rule $\Rl$:
338
	\[
339
	\vliiinf{\Rl}{}{ !\Gamma , A_1 , \dots , A_m \seqar C , ? \Delta  }{ !\Gamma \seqar B_1 , ?\Delta }{\vldots }{ !\Gamma \seqar B_n , ?\Delta}
340
	\]
341
\end{proposition}
342
\begin{proof}
343
	Let us first assume $\Ax$ and derive $\Rl$. From the axiom and Currying, we have a proof of:
344
	\begin{equation}\label{eqn:curried-axiom}
345
	A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C
346
	\end{equation}
347
	
348
	This can simply be cut against each of the premisses of $\Rl$, applying appropriate contractions and necessitations, to derive it:
349
	\[
350
	\vlderivation{
351
		\vliq{c}{}{!\Gamma , A_1 , \dots , A_m \seqar C , ?\Delta }{
352
			\vliin{\cut}{}{!\Gamma, \dots , !\Gamma , A_1 , \dots , A_m \seqar C , ?\Delta, \dots , ?\Delta }{
353
				\vlin{!}{}{!\Gamma \seqar !B_n, ?\Delta }{\vlhy{!\Gamma \seqar B_n , ?\Delta }}
354
			}{
355
			\vliin{\cut}{}{\qquad \qquad \qquad \qquad  \vlvdots \qquad \qquad \qquad \qquad }{
356
				\vlin{!}{}{!\Gamma \seqar !B_1 , ?\Delta}{\vlhy{!\Gamma \seqar B_1, ?\Delta }}
357
			}{\vlhy{ A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C } }
358
		}
359
	}
360
}
361
\]
362

    
363
Now let us prove $\Ax$ (again in the form of \eqref{eqn:curried-axiom}) by using $\Rl$ as follows:
364
\[
365
\vliiinf{\Rl}{}{ A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C }{  \vlderivation{
366
		\vlin{w}{}{ !B_1 , \dots , !B_n \seqar B_1 }{
367
			\vlin{!}{}{!B_1 \seqar B_1 }{
368
				\vlin{\id}{}{B_1 \seqar B_1 }{\vlhy{}}
369
			}
370
		}
371
	}  }{\vldots}{
372
	\vlderivation{
373
		\vlin{w}{}{ !B_1 , \dots , !B_n \seqar B_n }{
374
			\vlin{!}{}{!B_n \seqar B_n }{
375
				\vlin{\id}{}{B_n \seqar B_n }{\vlhy{}}
376
			}
377
		}
378
	}
379
}
380
\]
381
\end{proof}
382

    
383

    
384
\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.
385

    
386

    
387

    
388
\begin{corollary}
389
	The induction axiom of $A^1_2$ is equivalent to the rule:
390
	\[
391
	\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}
392
	\]
393
\end{corollary}
394
\begin{proof}
395
	By proposition above, generalisation and Currying.
396
\end{proof}
397

    
398

    
399
\subsection{Prenexing}
400
%In the presence of weakening we have a prenex normal form due to the following:
401
%
402
%\[
403
%\vlderivation{
404
%	\vlin{}{}{\exists x . A \lor B \seqar \exists x . (A(x) \lor B) }{
405
%		
406
%		}
407
%	}
408
%\]
409

    
410
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?
411

    
412
\section{Free-cut elimination in linear logic}
413

    
414

    
415
\todo{patrick}
416

    
417
\anupam{Possibly need to include the cases for affine logic too, e.g.\ if weakening is native, since it does not play nice as an axiom.}
418

    
419
\todo{include some bounds on free-cut elimination? Look at paper "Corrected upper bounds for free-cut elimination" by Beckmann and Buss for comparison.}
420

    
421
\section{Some variants of arithmetic in linear logic}
422

    
423
For pretty much all variants discussed we will actually 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 has not much effect on complexity while also creating a more robust proof theory. For example it induces the following equivalence:
424
\[
425
!(A\land B) \equiv (!A \land !B)
426
\]
427
(The right-left direction is already valid in usual linear logic, but the left-right direction requires weakening).
428

    
429
We define a variant of arithmetic inspired by Bellantoni and Hofmann's $A^1_2$. We describe later some connections to bounded arithmetic.
430

    
431

    
432
\subsection{Based on Bellantoni-Hoffmann, Leivant, etc.}
433

    
434
\newcommand{\natcntr}{\nat\mathit{cntr}}
435
\newcommand{\geneps}{\nat_{\epsilon}}
436
\newcommand{\genzer}{\nat_{0}}
437
\newcommand{\genone}{\nat_{1}}
438

    
439

    
440
\newcommand{\sepeps}{\epsilon}
441
\newcommand{\sepzer}{\succ_{0}}
442
\newcommand{\sepone}{\succ_{1}}
443

    
444
\newcommand{\inj}{\mathit{inj}}
445
\newcommand{\surj}{\mathit{surj}}
446

    
447
\begin{definition}
448
[Arithmetic]
449
We have the following axioms:
450
\[
451
\begin{array}{rl}
452
\wk & (A \land B )\limp A \\
453
\natcntr & \forall x^N . (N(x) \land N(x)) \\
454
\geneps & \nat(\epsilon) \\
455
\genzer & \forall x^N . N(\succ_0 x) \\
456
\genone & \forall x^N . N(\succ_1 x) \\
457
\sepeps & \forall x^N . (\epsilon \neq \succ_0 x \land \epsilon \neq \succ_1 x) \\
458
\sepzer & \forall x^N , y^N. ( \succ_0 x = \succ_0 y \limp x=y ) \\
459
\sepone & \forall x^N , y^N. ( \succ_1 x = \succ_1 y \limp x=y ) \\
460
\inj & \forall x^N . \succ_0 x \neq \succ_1 x \\
461
\surj & \forall x^N . (x = \epsilon \lor \exists y^N . x = \succ_0 y \lor \exists y^N . x = \succ_1 y ) \\
462
\noalign{\bigskip}
463
\ind & A(\epsilon) \limp !( \forall x^{!\nat} . ( A(x) \limp A(\succ_0 x) ) ) \limp !( \forall x^{!\nat} . ( A(x) \limp A(\succ_1 x) ) ) \limp \forall x^{!\nat} . A(x)
464
\end{array}
465
\]
466

    
467
Induction rule should be the following, to take account of relativised quantifiers?
468
\[
469
\vliinf{\ind}{}{ !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  }
470
\]
471

    
472
\todo{in existential above, is there a prenexing problem?}
473

    
474
\todo{what about $\leq$? Introducing this could solve prenexing problem, e.g.\ by induction?}
475
\end{definition}
476

    
477
\subsection{$\nat$-hierarchy}
478

    
479
\begin{definition}
480

    
481
\todo{replace N with nat.}
482

    
483
	Let us define the quantifiers $\exists x^N . A$ and $\forall x^N . A$ as $\exists x . (N(x) \land A)$ and $\forall x . (N(x) \limp A) $ respectively.
484
	
485
	We define $\Sigma^N_0 = \Pi^N_0 $ as the class of formulae that are free of quantifiers. For $i\geq 0$ we define:
486
	\begin{itemize}
487
		\item $\Sigma^N_{i+1}$ is the class of formulae $\exists x^N . A$ where $A \in \Pi^N_i$.
488
		\item $\Pi^N_{i+1}$ is the class of formulae $\forall x^N . A$ where $A \in \Sigma^N_i$.
489
		\item ($\Delta^N_i$ is the class $\Sigma^N_i \cap \Pi^N_i$.)
490
	\end{itemize}
491
\end{definition}
492

    
493
\todo{allow closure under positive Boolean operations?}
494

    
495
\todo{What about prenexing rules? Should not change provably total functions!}
496

    
497
\subsection{Equivalent rule systems}
498

    
499
For the quantifiers $\exists x^N $ and $\forall x^N$ we introduce the following rules, which are compatible with free-cut elimination:
500

    
501
\[
502
\begin{array}{cc}
503
\vlinf{}{}{\Gamma \seqar \Delta, \forall x^N . A(x)}{\Gamma, N(a) \seqar \Delta , A(a)}
504
\quad & \quad
505
\vlinf{}{}{\Gamma, N(t),\forall x^N A(x) \seqar \Delta}{\Gamma,  A(t) \seqar \Delta}
506
\\
507
\noalign{\bigskip}
508
\vlinf{}{}{\Gamma , \exists x^N A(x) \seqar \Delta}{\Gamma, N(a), A(a) \seqar \Delta}
509
\quad &\quad 
510
\vlinf{}{}{\Gamma, N(t) \seqar \Delta , \exists x^N . A(x)}{\Gamma  \seqar \Delta, A(t)}
511
\end{array}
512
\]
513

    
514
CHECK THESE!
515

    
516
\todo{Also include rules for contraction and weakening.}
517

    
518
\section{Convergence of Bellantoni-Cook programs}
519

    
520
\subsection{Bellantoni-Cook programs}
521
We first recall the notion of safe recursion on notation from BC. TODO
522

    
523
\subsection{Convergence in arithmetic}
524
\begin{theorem}
525
	[Convergence]
526
	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))$.
527
\end{theorem}
528
\begin{proof}
529
	We show by induction on the structure of a BC-program for $f(\vec x ; \vec y)$ that:
530
	\begin{equation}
531
	\Phi(f) , \cax{\Sigma^N_1}{\pind} \proves \ \forall \vec{x}^{!N} . \forall \vec{y}^N . N(f(\vec x ; \vec y))
532
	\end{equation}
533
	We give some key cases in what follows.
534
	
535
	Suppose $f$ is defined by PRN by:
536
	\[
537
	\begin{array}{rcl}
538
	f(0,\vec x ; \vec y) & = & g(\vec x ; \vec y) \\
539
	f(\succ_i x , \vec x ; \vec y) & = & h_i (x, \vec x ; \vec y , f(x , \vec x ; \vec y))
540
	\end{array}
541
	\]
542
	By the inductive hypothesis we already have that $g, h_0, h_1$ are provably convergent, so let us suppose that $N(\vec x)$ and prove,
543
	\begin{equation}
544
	\forall x^{!N} . ( N(\vec y) \limp N(f(x , \vec x ; \vec y)  )
545
	\end{equation}
546
	by $\cax{\Sigma^N_1}{\pind}$ on $x$.
547
	
548
	In the base case we have the following proof:
549
	\[
550
	\vlderivation{
551
		\vliin{}{}{N(\vec y) \limp N(f(0, \vec x ; \vec y))}{
552
			\vltr{IH}{N(\vec y) \limp N(g(\vec x ; \vec y))}{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
553
		}{
554
		\vlin{}{}{N(g (\vec x ; \vec y) ) \limp N(f(0, \vec x ; \vec y)) }{
555
			\vlin{}{}{g(\vec x ; \vec y) = f(0 , \vec x ; \vec y)}{\vlhy{}}
556
		}
557
	}
558
}
559
\]
560

    
561
For the inductive step, we need to show that,
562
\[
563
\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) )   )
564
\]
565
so let us suppose that $N(x)$ and we give the following proof:
566
\[
567
\vlderivation{
568
	\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)  ) }{
569
		\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)  ) }{
570
			\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) ) ) }{
571
				\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 }}
572
			}{
573
			\vlhy{2}
574
		}
575
	}{
576
	\vlhy{3}
577
}
578
}
579
}
580
\]
581
TOFINISH
582
\end{proof}
583

    
584
\section{Witness function method}
585

    
586
Key features/differences from realisability:
587
\begin{itemize}
588
\item De Morgan normal form: reduces type level to $0$, complementary to double-negation translation that \emph{increases} type level.
589
\item Free-cut elimination: allows us to handles formulae of fixed logical complexity throughout the proof. 
590
\item Respects logical properties of formulae, e.g.\ quantifier complexity, exponential complexity.
591
\end{itemize}
592

    
593
\todo{say some more here}
594

    
595
\newcommand{\type}{\mathtt{t}}
596
\newcommand{\norm}{\nu}
597
\newcommand{\safe}{\sigma}
598

    
599
\subsection{Typing}
600

    
601
\begin{definition}
602
	[Types]
603
	To each formula we associate a tuple type as follows:
604
	\[
605
	\begin{array}{rcll}
606
	\type (\nat (t)) & := & \Nat & \\
607
	\type(s = t) & := & \Nat & \\
608
	\type (A \star B)  & : = & \type (A) \times \type (B) & \text{for $\star \in \{ \lor, \land, \laor, \laand \} $.} \\
609
	\type (! A) & : = & \type_\norm (A) & \\
610
	\type (\exists x^N . A) & := & \Nat \times \type (A) & \\
611
%	\type (\forall x^N . A) & := & \Nat \to \type(A)
612
	\end{array}
613
	\]
614
	where $\nu$ designates that the inputs are normal.
615
	\end{definition}
616
	
617
	\todo{compatibility with safety. To consider.}
618
	
619
	
620
	
621
	
622
	\newcommand{\witness}[2]{\mathit{Witness}^{#1}_{#2}}
623
	\begin{definition}
624
		[Witness predicate]
625
		We define the following formula:
626
		\[
627
		\begin{array}{rcll}
628
		\witness{\vec a}{A} (w, \vec a) & := & A(\vec a) & \text{for $A$ quantifier-free.} \\
629
		\witness{\vec a}{\exists x . A} (w, \vec w , \vec a) & := & \witness{\vec{a}, a}{A(a)}(\vec w , \vec a, w ) & \\
630
		\witness{\vec a}{A \star B} ( \vec w^1 , \vec w^2 ) & := &  \witness{\vec a}{A} (\vec w^1) \star \witness{\vec a}{B} (\vec w^2) & \text{for $\star \in \{ \land, \lor, \laand , \laor\}$.} \\
631
		\end{array}
632
		\]
633
	\end{definition}
634
	\todo{problem: what about complexity of checking equality? }
635
	
636
	\todo{What about $\nat (t)$? What does it mean? Replace with true?}
637
	
638
	\todo{either use the witness predicate above, or use realizability predicate at meta-level and a model theory, like BH.}
639
	
640
	\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.}
641
	
642
	\subsection{The translation}
643
	Need witness predicate so that we know what is being preserved.
644

    
645
\begin{definition}
646
	[Translation]
647
	We give a translation of proofs $\pi$ of sequents $\Gamma(\vec a) \seqar \Delta(\vec a)$ to BC-programs for a vector of functions $\vec f^\pi : \type(\bigotimes\Gamma) \times \Nat^{|\vec a|} \to \type(\bigparr\Delta)$ such that:
648
	\[
649
	\witness{\vec a}{\bigotimes \Gamma} (\vec w , \vec a) \implies \witness{\vec a}{\bigparr \Delta } (\vec f(\vec w , \vec a), \vec a)
650
	\]
651
	We will be explicit about normal and safe inputs when necessary, for the most part we will simply rearrange inputs into lists $(\vec x; \vec a)$ as in BC framework.
652
	
653
	We often suppress the parameters $\vec a$ when it is not important.	
654
	
655
	\anupam{Is this implication provable in Bellantoni's version of PV based on BC?}
656
	
657
	\anupam{for moment try ignore decoration on right? what about negation?}
658
	
659

    
660
	
661
	\[
662
	\vlderivation{
663
		\vliin{\land}{}{ \Gamma, \Sigma \seqar \Delta, \Pi, A\land B }{
664
			\vltr{\pi_1}{ \Gamma \seqar \Delta, A }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
665
			}{
666
			\vltr{\pi_2}{ \Sigma \seqar \Pi, B }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
667
			}
668
		}
669
	\]
670
	
671
	So we have $\vec f^{1} (\vec x ; \vec a)$ and $\vec f^2 (\vec y ; \vec b)$ for $\pi_1 $ and $\pi_2$ respectively, by the inductive hypothesis. We simply construct $\vec f^\pi$ by rearranging these functions:
672
	\[
673
	\vec f^\pi (\vec x , \vec y ; \vec a , \vec b) \quad := \quad ( f^1_1 (\vec x ; \vec a) , \dots , f^1_{|\Delta|} (\vec x ; \vec a) , f^2_1 (\vec y; \vec b) , \dots , f^2_{|\Pi|} (\vec y ; \vec b) , f^1_{|\Delta|+1} (\vec x ; \vec a ) , f^2_{|\Pi|+1} (\vec y ; \vec b)
674
	\] 
675
	
676
	\anupam{bad notation since need to include free variables of sequent too. (also of theory.) Reconsider.}
677
	
678
	\[
679
	\vlderivation{
680
		\vlin{\lefrul{\cntr}}{}{ !A , \Gamma \seqar \Delta }{
681
			\vltr{\pi'}{  !A, !A , \Gamma \seqar \Delta}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
682
			}
683
		}
684
	\]
685
	Have $\vec f' (x_1 , x_2 , \vec y ; \vec a)$ for $\pi'$. Define
686
	\[
687
	\vec f (x_1 , \vec y ; \vec a) \quad := \quad \vec f'(x_1 , x_1 , \vec y ; \vec a)
688
	\]
689
	\[
690
	\vlderivation{
691
	\vlin{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, ?A}{
692
	\vltr{\pi'}{  \Gamma \seqar \Delta, ?A, ?A}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
693
	}
694
	}
695
	\]
696
	(need test function against witness predicate?)
697
	
698
	\anupam{problem: how to test even equality of two terms? Maybe treat $?$ as $!$ on left?}
699
	
700
	\anupam{Not a problem by free-cut elimination! Can assume there are no $?$ in the proof! Is this equivalent to treaing $?$ as $!$ on left?}
701
	
702
	\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.}
703
	
704
	\anupam{this is actually the main point.}
705
	
706
	
707
	\[
708
	\vlderivation{
709
	\vliin{\rigrul{\laand}}{}{\Gamma \seqar \Delta, A \laand B}{
710
	\vltr{\pi_1}{  \Gamma \seqar \Delta, A}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
711
	}{
712
	\vltr{\pi_2}{  \Gamma \seqar \Delta, B}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
713
	}
714
	}
715
	\]
716
	
717
	Suppose we have $\vec f^i (\vec x , \vec a ; \vec y , \vec b)$ from $\pi_i$.
718
	
719
	\anupam{problem: does this require many tests, just like for contraction? Can we isolate a different complexity class? e.g.\ PH or Grzegorzyck?}
720
	\anupam{skip this case and consider later.}
721
\[
722
\vlderivation{
723
\vliin{\cut}{}{\Gamma , \Sigma \seqar \Delta , \Pi}{
724
\vltr{\pi_1}{ \Gamma \seqar \Delta, A }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
725
}{
726
\vltr{\pi_2}{\Sigma , A \seqar \Pi}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
727
}
728
}
729
	\]
730
	
731
We can assume that $A$ in the conclusion of $\pi_2$ is free of modalities, since one of the $A$s must be directly descended from an induction formula, and so consists of only safe inputs. Therefore we have functions $\vec f^1 (\vec w; \vec x)$ and $\vec f^2 (\vec y ; \vec z , \vec u)$ for $\pi_1$ and $\pi_2 $ respectively (free variable parameters are suppressed), with $\vec u$ corresponding to the (safe) inputs for $A$. 
732

    
733
Let us write:
734
\[
735
\begin{array}{rcl}
736
\vec f^1 & = & ( \vec f^1_i )^{|\Delta|+1}_{i=1} \\
737
\vec f^2 & = & ( \vec f^2_i )^{|\Pi|}_{i=1}
738
\end{array}
739
\]
740
to denote the parts of $\vec f^i$ corresponding to formulae in their sequents.
741

    
742

    
743
We define:
744
\[
745
\vec f (\vec w , \vec y ; \vec x , \vec z)
746
\quad := \quad
747
(
748
( \vec f^1_i (\vec w ; \vec x) )_{i \leq |\Delta|}
749
,
750
\vec f^2 ( \vec y ; \vec z , \vec f^1_{|\Delta| +1 } (\vec w ; \vec x) )
751
)
752
\]
753

    
754
Notice that all safe inputs are hereditarily right of a $;$, and so these terms are definable by safe composition and projection.
755

    
756
\todo{another case for $!\nat(x)$ cut formula.}
757

    
758
\anupam{should work for arbitrary $!$-cuts due to principal case for $!$}
759

    
760

    
761
Right existential:
762
\[
763
\vlderivation{
764
\vlin{\rigrul{\exists}}{}{ \Gamma, \nat(t) \seqar \Delta , \exists x^\nat . A(x) }{
765
\vltr{\pi'}{ \Gamma \seqar \Delta , A(t) }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
766
}
767
}
768
\]
769
Suppose we have functions $\vec f^X (\vec x ; \vec y)$ from $\pi'$ for $X = \Delta$ or $ X=A$. 
770
\[
771
\vec f(\vec x ; \vec y , z) \quad := \quad ( \vec f^\Delta (\vec x ; \vec y)   ,  z , \vec f^A ( \vec x ; \vec y ) )
772
\]
773

    
774

    
775
Left existential:
776
\[
777
\vlderivation{
778
\vlin{\lefrul{\exists}}{}{ \Gamma, \exists x^N . A(x) \seqar \Delta }{
779
\vltr{\pi'(a)}{ \Gamma,  N(a) , A(a) \seqar \Delta  }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
780
}
781
}
782
\]
783

    
784
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:
785
\[
786
\vec f ( \vec u , \vec v ;  )
787
\]
788

    
789
\anupam{should just be same, no? To consider.}
790

    
791
%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 $\nat(a)$ and $(\vec w ; \vec z) $ corresponds to $A(a)$. Then we define:
792
%\[
793
%\vec f ( \vec v , \vec w ; \vec x , y , \vec z )
794
%\]
795

    
796
\todo{finish}
797

    
798
!:
799
\[
800
\vlderivation{
801
\vlin{!}{}{\Gamma, !A \seqar \Delta}{
802
\vltr{\pi'}{ \Gamma , A \seqar \Delta  }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
803
}
804
}
805
\]
806
\anupam{Again, use free-cut elimination to get rid of this case. We know $!$-ed formulae in advance, so just fix those as normal inputs in advance.}
807

    
808

    
809
Induction: (can assume no side-formulae on right for same reason as no contraction.)
810
\[
811
\vlderivation{
812
\vliin{\ind}{}{ !\Gamma , !\nat (t) ,  A(\epsilon) \seqar A(t) }{
813
\vltr{\pi_0}{ !\Gamma , !\nat(a) , A(a) \seqar A(\succ_0 a)}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
814
}{
815
\vltr{\pi_1}{ !\Gamma , !\nat(a), A(a)\seqar A(\succ_1 a) }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
816
}
817
}
818
\]
819

    
820
Suppose we have functions $\vec f^i (\vec x , y ; \vec u)$ from proofs $\pi_i$ where $\vec x $ corresponds to $!\Gamma$, $y$ corresponds to $!N(a)$ and $\vec u$ corresponds to $A(a)$.
821

    
822

    
823
\anupam{role of $!N(a)$ versus having $a$ as a parameter to function. To consider!}
824

    
825
Define the function $f_k$ (for $k = 1 , \dots , |\vec u|$) by PRN:
826
\[
827
\begin{array}{rcl}
828
f_k(\epsilon, \vec x , y ; \vec u) & := & u_k \\
829
f_k (\succ_i w , \vec x , y ; \vec u) & : = & f^i_k ( \vec x ,  y ; \vec f ( w, \vec x , y ; \vec u ) )
830
\end{array}
831
\]
832

    
833
\anupam{check this, esp use of parameters, cf.\ above.}
834

    
835
\anupam{Is this not using a simultaneous version of PRN? Might need concatenation of words/basic coding to deal with this.}
836

    
837

    
838
\end{definition}
839

    
840
\newcommand{\concat}{\mathit{concat}}
841
\paragraph{Some points on concatenation \anupam{if necessary}}
842
We can define the concatenation operation by PRN:
843
\[
844
\begin{array}{rcl}
845
\concat (\epsilon ; y) & : = & x \\
846
\concat (\succ_i x ; y) & := & \succ_i \concat (x ; y)
847
\end{array}
848
\]
849

    
850
From here we can define iterated concatenation:
851
\[
852
\concat (x_1 , \dots x_n ; y) \quad := \quad \concat (x_n ; \concat (x_{n-1} ; \vldots \concat (x_1 ; y) \vldots ) )
853
\]
854

    
855
(notice all safe inputs are hereditarily to the right of $;$ so this is definable by safe composition and projection.)
856

    
857
\section{Further work}
858

    
859
Say something about minimisation and the polynomial hierarchy. Could be achieved by controlling contraction/additives, since this requires a notion of tests.
860

    
861
\section{Conclusions}
862

    
863
\appendix
864

    
865
\section{Some cut-elimination cases}
866
We work in a one-sided calculus for full linear logic. When working in the affine setting we simply drop the condition that weakened formulae are $?$-ed.
867

    
868
As well as all usual rules, we have the induction rule:
869
\[
870
\vlinf{\indr}{(x \notin FV (\Gamma) )}{? \Gamma, A^\perp (0) , A(t)}{? \Gamma , A^\perp (x) , A(s x) }
871
\]
872

    
873
We give all the various cut-reduction cases in the following section but first we give a simple cut-elimination argument.
874

    
875
\subsection{A basic (free-)cut elimination argument}
876
We give an argument that easily scales to free-cut elimination, i.e.\ in the presence of non-logical rules.
877

    
878
\newcommand{\anarrow}[2]{\overset{#1}{\underset{#2}{\longrightarrow}}}
879
\newcommand{\cutredlin}{\mathit{ma}}
880
\newcommand{\cutredexp}{exp}
881

    
882
\begin{definition}
883
	Let $\anarrow{}{\cutredexp}$ denote the reduction steps concerning exponential cuts, and $\anarrow{}{\cutredlin}$ be the set of cut-reduction steps concerning multiplicative and additive cuts.
884
\end{definition}
885

    
886
\newcommand{\rk}{\mathsf{rk}}
887
	\renewcommand{\deg}{\mathsf{deg}}
888
\begin{definition}
889
	[Measures]
890
	For a $\anarrow{}{\cutredlin}$-redex $r$, let its \emph{degree} $\deg( r)$ be the number of logical connectives or quantifiers in its cut-formula. For a proof $\pi$, its \emph{degree} $\deg( \pi)$ is the multiset of the degree of its redexes.
891
\end{definition}
892

    
893
\begin{proposition}
894
If $\pi$ is not $\anarrow{}{\cutredlin}$-normal then there is a derivation $L:\pi \anarrow{*}{\cutredlin} \pi'$ such that $\deg(\pi')< \deg(\pi)$.
895
\end{proposition}
896
\begin{proof}
897
	First let us show the statement in the special case that $\pi$ contains precisely one $\cut$-inference as its final step, by induction on $|\pi|$. Each commutative $\anarrow{}{\cutredlin}$-step results in us being able to apply the inductive hypothesis to smaller proofs,- in the case of $\vlan $ two smaller proofs. Each key $\anarrow{}{\cutredlin}$-case strictly reduces the degree of the proof. Consequently we can eventually transform $\pi$ to a proof $\pi'$ which has possibly several cuts of smaller degree, as required.
898
	
899
	Now to the general case, we simply apply the above procedure to the subproof above a topmost cut in $\pi$.
900
\end{proof}
901
\begin{corollary}
902
	$\anarrow{}{\cutredlin}$ is weakly normalising.
903
\end{corollary}
904

    
905

    
906
\newcommand{\cntdown}{\mathit{cn}}
907
\begin{definition}
908
	[Lazy contraction]
909
	Let $\anarrow{}{\cntdown}$ comprise of the following reduction steps:
910
	\begin{enumerate}
911
		\item The commuting steps,
912
			\[
913
			\vlderivation{
914
				\vlin{\rho}{}{\Gamma', ?A, }{
915
					\vlin{\cntr}{}{\Gamma, ?A}{\vlhy{\Gamma, ? A, ? A}}
916
				}
917
			}
918
			\quad\to \quad
919
			\vlderivation{
920
				\vlin{\cntr}{}{\Gamma', ?A}{
921
					\vlin{\rho}{}{\Gamma', ?A, ?A}{\vlhy{\Gamma, ? A, ? A}}
922
				}
923
			}	
924
			\]
925
			for each unary rule $\rho$.
926
			\item 
927
			The key steps:
928
			\[ 	
929
			\begin{array}{rcl}
930
			\vlderivation{
931
				\vlin{\cntr}{}{\Gamma, ?A}{
932
					\vlin{\wk}{}{\Gamma, ?A, ?A}{\vlhy{\Gamma, ?A}}
933
				}
934
			}
935
			\quad &\to & \quad
936
			\Gamma, ?A 
937
%			\]
938
%			and
939
%			\[
940
\\
941
\noalign{\smallskip}
942
				\vlderivation{
943
					\vlin{\wk}{}{\Gamma, ?A, ?A}{
944
						\vlin{\cntr}{}{\Gamma, ?A}{\vlhy{\Gamma, ?A, ?A}}
945
					}
946
				}
947
				\quad &\to& \quad
948
				\Gamma, ?A, ?A
949
							\end{array}
950
			\].
951
\item The commuting steps,
952
\[
953
	\vlderivation{
954
		\vliin{\rho}{}{\Gamma ,?A}{
955
			\vlin{\cntr}{}{\Gamma_1, ?A}{\vlhy{\Gamma_1, ?A, ?A}}
956
		}{\vlhy{\Gamma_2}}
957
	}
958
	\quad \to \quad
959
	\vlderivation{
960
		\vlin{\cntr}{}{\Gamma, ?A}{
961
			\vliin{\rho}{}{\Gamma,?A, ?A}{\vlhy{\Gamma_1, ?A, ?A}}{ \vlhy{\Gamma_2} }
962
		}
963
	}
964
\]
965
%\[
966
%\begin{array}{rcl}
967
%	\vlderivation{
968
%		\vliin{\land}{}{\Gamma, \Delta, ?A, B\land C}{
969
%			\vlin{\cntr}{}{\Gamma, ?A, B}{\vlhy{\Gamma, ?A, ?A, B}}
970
%		}{\vlhy{\Delta, C}}
971
%	}
972
%	\quad &\to &\quad
973
%	\vlderivation{
974
%		\vlin{\cntr}{}{\Gamma, \Delta, ?A, B\land C}{
975
%			\vliin{\land}{}{\Gamma, \Delta, ?A, ?A, B\land C}{\vlhy{\Gamma, ?A, ?A, B}}{ \vlhy{\Delta, C} }
976
%		}
977
%	}
978
%%	\]
979
%%	
980
%%	\[
981
%\\
982
%\noalign{\smallskip}
983
%	\vlderivation{
984
%		\vliin{\cut}{}{\Gamma, \Delta, ?A}{
985
%			\vlin{\cntr}{}{\Gamma, ?A, B}{\vlhy{\Gamma, ?A, ?A, B}}
986
%		}{\vlhy{\Delta, \lnot{B}}}
987
%	}
988
%	\quad &\to& \quad
989
%	\vlderivation{
990
%		\vlin{\cntr}{}{\Gamma, \Delta, ?A}{
991
%			\vliin{\cut}{}{\Gamma, \Delta, ?A, ?A}{\vlhy{\Gamma, ?A, ?A, B}}{ \vlhy{\Delta, \lnot{B}} }
992
%		}
993
%	}
994
%\end{array}
995
%\]
996
for each binary rule $\rho \in \{ \land, \cut \}$.
997
\item The commuting step:
998
	\[
999
	\vlderivation{
1000
		\vliin{\vlan}{}{\Gamma, ?A, B\vlan C}{
1001
			\vlin{\cntr}{}{\Gamma, ?A, B}{\vlhy{\Gamma, ?A, ?A, B}}
1002
		}{\vlhy{\Gamma, ?A, B}}
1003
	}
1004
	\quad \to \quad
1005
	\vlderivation{
1006
		\vlin{\cntr}{}{\Gamma, ?A, B\vlan C}{
1007
			\vliin{\vlan}{}{\Gamma, ?A, ?A, B\vlan C}{\vlhy{\Gamma, ?A, ?A, B}}{
1008
				\vlin{\wk}{}{\Gamma, ?A, ?A, C}{\vlhy{\Gamma, ?A, C}}
1009
			}
1010
		}
1011
	}
1012
	\]
1013
	\end{enumerate}
1014
	For binary rules:
1015

    
1016
\end{definition}
1017
\begin{proposition}
1018
	$\anarrow{}{\cntdown}$ is weakly normalising
1019
	, modulo $\cntr$-$\cntr$ redexes,
1020
	and degree-preserving. 
1021
	If $\pi$ is $\anarrow{}{\cutredlin}$-normal and $\pi \downarrow_\cntdown \pi'$, then so is $\pi'$.
1022
\end{proposition}
1023
\begin{proof}
1024
	By induction on the number of redexes in a proof. Start with bottommost redex, by induction on number of inference steps beneath it.
1025
\end{proof}
1026

    
1027
\begin{remark}
1028
	Only weakly normalising since $\cntr$ can commute with $\cntr$, allowing cycles.
1029
\end{remark}
1030

    
1031
\begin{proposition}
1032
	If $\pi$ is $\anarrow{}{\cutredexp}$-reducible but $\anarrow{}{\cutredlin}$- and $\anarrow{}{\cntdown}$-normal then there is a derivation $H:\pi \anarrow{*}{\cutredexp} \pi'$ such that $\deg (\pi')<\deg(\pi)$.
1033
\end{proposition}
1034

    
1035

    
1036

    
1037
\subsection{Base cases}
1038

    
1039
\[
1040
\vlderivation{
1041
\vliin{\cut}{}{ \Gamma,a }{ \vlhy{\Gamma,a} }{ \vlin{\id}{}{a,a^\bot}{ \vlhy{} } }
1042
}
1043
\quad\to\quad
1044
\vlderivation{
1045
\Gamma,a
1046
}
1047
\]
1048

    
1049
\[
1050
\vlderivation{
1051
\vliin{\cut}{}{\Gamma}{ \vlin{\bot}{}{ \Gamma,\bot }{ \vlhy{\Gamma} } }{ \vlin{1}{}{1}{ \vlhy{} } }
1052
}
1053
\quad\to\quad
1054
\vlderivation{
1055
\Gamma
1056
}
1057
\]
1058

    
1059
\[
1060
\vlderivation{
1061
\vliin{\cut}{}{ \Gamma,\Delta,\top }{ \vlin{\top}{}{ \Gamma,\top,0 }{ \vlhy{} } }{ \vlhy{\Delta , \top } }
1062
}
1063
\quad\to\quad
1064
\vlinf{\top}{}{ \Gamma,\Delta,\top }{}
1065
\]
1066

    
1067
\subsection{Commutative cases}
1068
These are the cases when the principal formula of a step is not active for the cut-step below.
1069

    
1070
\begin{enumerate}
1071
\item The cut-step is immediately preceded by an initial step. Note that only the case for $\top$ applies:
1072
\[
1073
\vlderivation{
1074
\vliin{\cut}{}{\Gamma,\Delta,\top}{ 
1075
\vlin{\top}{  }{ \Gamma,\top,A }{ \vlhy{} }
1076
 }{ \vlhy{\Delta,A^\bot } }
1077
}
1078
\quad\to\quad
1079
\vlinf{\top}{}{ \Gamma,\Delta,\top }{}
1080
\]
1081
%Notice that this commutation eliminates the cut entirely and preserves the height of all cuts below.
1082
\item\label{CaseCommOneStep} A cut-step is immediately preceded by a step $\rho$ with exactly one premiss:
1083
\[
1084
\vlderivation{
1085
\vliin{\cut}{}{\Gamma',\Delta}{\vlin{\rho}{}{\Gamma',A}{\vlhy{\Gamma,A}}}{\vlhy{A^\bot , \Delta}}
1086
}
1087
\]
1088
We have three subcases:
1089
\begin{enumerate}
1090
\item\label{subcase:unary-commutation-vanilla} 
1091
%$\Delta$ consists of only $?$-ed formulae or 
1092
If $\rho \notin \{! , \indr \}$ then we can simply permute as follows:
1093
\begin{equation}
1094
\label{eqn:com-case-unary-simple}
1095
\vlderivation{
1096
\vliin{\cut}{}{\Gamma',\Delta}{\vlin{\rho}{}{\Gamma',A}{\vlhy{\Gamma,A}}}{\vlhy{A^\bot , \Delta}}
1097
}
1098
\quad \to \quad
1099
\vlderivation{
1100
\vlin{\rho}{}{\Gamma',\Delta}{
1101
\vliin{\cut}{}{\Gamma,\Delta}{\vlhy{\Gamma,A}}{\vlhy{A^\bot , \Delta}}
1102
}
1103
}
1104
\end{equation}
1105
(If $\rho$ was $\forall$ then we might need to rename some free variables in $\Delta$.)
1106
\item $\rho $ is a $!$-step. Therefore $\Gamma$ has the form $? \Sigma , B$ and $A$ has the form $?C$, yielding the following situation:
1107
\[
1108
\vlderivation{
1109
\vliin{\cut}{}{? \Sigma, !B, \Delta }{
1110
\vlin{!}{}{? \Sigma, !B , ?C}{\vlhy{?\Sigma , B , ?C}  }
1111
}{
1112
\vlin{\rho'}{}{!C^\perp , \Delta}{\vlhy{\vlvdots}}
1113
}
1114
}
1115
\]
1116
Now, if $!C^\perp$ is principle for $\rho'$ then $\rho'\in \{! , \indr\}$ and so $\Delta $ must be $?$-ed; in this case we are able to apply the transformation \eqref{eqn:com-case-unary-simple}. Otherwise $A^\perp$ is not principal for $\rho'$ and so $\rho' \notin \{! , \indr \}$, which means we can apply \ref{subcase:unary-commutation-vanilla} along this side of the subproof.
1117
\item $\rho$ is a $\indr$-step. Therefore $\Gamma$ has the form $? \Sigma , B^\perp(x), B(s x) $ and $A$ has the form $?C$, and the argument is similar to the case above.
1118
% yielding the following situation:
1119
%\[
1120
%\vlderivation{
1121
%	\vliin{\cut}{}{? \Sigma, B^\perp (0) , B(t), \Delta }{
1122
%		\vlin{\indr}{}{? \Sigma, B^\perp (0) , B(t) , ?C}{\vlhy{?\Sigma , B^\perp(x) , B(s x) , ?C}  }
1123
%	}{
1124
%	\vlin{\rho'}{}{!C^\perp , \Delta}{\vlhy{\vlvdots}}
1125
%}
1126
%}
1127
%\]
1128
\end{enumerate}
1129

    
1130

    
1131

    
1132
\item A cut-step is immediately preceded by a $\vlte $-step:
1133
\[
1134
\vlderivation{
1135
\vliin{\cut}{}{\Gamma,\Delta,\Sigma,A\vlte B }{
1136
\vliin{\vlte}{}{\Gamma,\Delta,A\vlte B,C }{\vlhy{\Gamma,A,C}}{\vlhy{\Delta,B}}
1137
}{\vlhy{ \Sigma , C^\bot  }}
1138
}
1139
\quad\to\quad
1140
\vlderivation{
1141
\vliin{\vlte}{}{\Gamma,\Delta,\Sigma,A\vlte B}{
1142
\vliin{\cut}{}{\Gamma,\Sigma,A}{\vlhy{\Gamma,A,C}}{\vlhy{\Sigma,C^\bot}}
1143
}{\vlhy{\Delta,B}}
1144
}
1145
\]
1146
%Notice that this commutation might increase the height of any cuts below along the right branch of the indicated cut, but decreases the height along the left branch.
1147
\item\label{CommCaseAmpersand} A cut-step is immediately preceded by a $\vlan$-step.
1148
\[
1149
\vlderivation{
1150
\vliin{\cut}{}{ \Gamma,\Delta,A\vlan B }{ \vliin{\vlan}{}{\Gamma,A\vlan B,C}{ \vlhy{\Gamma,A,C} }{\vlhy{\Gamma,B,C}}}{ \vlhy{\Delta, C^\bot} }
1151
}
1152
\quad\to\quad
1153
\vlderivation{
1154
\vliin{\vlan}{}{\Gamma,\Delta,A\vlan B }{
1155
\vliin{cut}{}{\Gamma,\Delta,A }{ \vlhy{\Gamma,A,C} }{ \vlhy{ \Delta,C^\bot } }
1156
}{
1157
\vliin{ \cut }{}{\Gamma,\Delta,B}{ \vlhy{\Gamma,B,C } }{ \vlhy{\Delta,C^\bot} }
1158
}
1159
}
1160
\]
1161
\item (No rule for cuts commuting with cuts.)
1162
%A cut-step is immediately preceded by another cut-step:
1163
\[
1164
\vlderivation{
1165
	\vliin{\cut}{}{\Gamma, \Delta, \Sigma}{
1166
		\vliin{\cut}{}{\Gamma, \Delta, B}{\vlhy{\Gamma, A}}{\vlhy{\Delta, \lnot{A}, B}}
1167
		}{\vlhy{\Sigma, \lnot{B}}}
1168
	}
1169
	\quad\to\quad
1170
\vlderivation{
1171
	\vliin{\cut}{}{\Gamma, \Delta, \Sigma}{\vlhy{\Gamma, A}}{
1172
		\vliin{\cut}{}{\Delta, \Sigma, \lnot{A}}{\vlhy{\Delta, \lnot{A}, B}}{\vlhy{\Sigma, \lnot{B}}}
1173
		}
1174
	}
1175
\]
1176
\end{enumerate}
1177

    
1178

    
1179

    
1180
\subsection{Key cases: structural steps}
1181
%[THIS SECTION MIGHT NOT BE NECESSARY]
1182
We attempt to permute cuts on exponential formulae over structural steps whose principal formula is active for the cut. 
1183

    
1184
We use the commutative case \ref{CaseCommOneStep} to assume that the topmost cut-step in a sequence has already been permuted up to its origin on the $!$-side. 
1185

    
1186
We have two cases.
1187
\begin{enumerate}
1188
\item\label{StructStepCont} The structural step preceding the cut is a weakening:
1189
\[
1190
\vlderivation{
1191
\vliin{\cut}{}{?\Gamma,\Delta}{ \vlin{!}{}{ ?\Gamma,!A }{ \vlhy{?\Gamma , A} } }{ \vlin{w}{}{ ?A^\bot }{ \vlhy{\Delta	} } }
1192
}
1193
\quad\to\quad
1194
\vlinf{w}{}{?\Gamma,\Delta}{ \Delta }
1195
\]
1196
%\item The structural step preceding the cut is a contraction:
1197
%\[
1198
%\vlderivation{
1199
%\vliin{\cut}{}{ ?\Gamma,\Delta }{
1200
% \vlin{!}{}{ ?\Gamma,!A }{ \vlhy{?\Gamma , A} }
1201
%}{ \vlin{c}{}{ ?A^\bot , \Delta }{ \vlhy{ ?A^\bot , ?A^\bot ,  \Delta} } }
1202
%}
1203
%\quad\to\quad
1204
%\vlderivation{
1205
%\vliq{c}{}{?\Gamma, \Delta}{
1206
%\vliin{\cut}{}{?\Gamma, ?\Gamma,\Delta }{
1207
% \vlin{!}{}{ ?\Gamma,!A }{ \vlhy{?\Gamma , A} }
1208
%}{
1209
%\vliin{\cut}{}{?\Gamma,?A^\bot , \Delta }{
1210
% \vlin{!}{}{ ?\Gamma,!A }{ \vlhy{?\Gamma , A} }
1211
%}{ \vlhy{?A^\bot , ?A^\bot , \Delta } }
1212
%}
1213
%}
1214
%}
1215
%\]
1216
%OR use a multicut:
1217
%\[
1218
%\vlderivation{
1219
%\vliin{\cut}{}{ ?\Gamma,\Delta }{
1220
% \vlin{!}{}{ ?\Gamma,!A }{ \vlhy{?\Gamma , A} }
1221
%}{ \vlin{c}{}{ ?A^\bot , \Delta }{ \vlhy{ ?A^\bot , ?A^\bot ,  \Delta} } }
1222
%}
1223
%\quad\to\quad
1224
%\vlderivation{
1225
%\vliin{\multicut}{}{?\Gamma,?A^\bot , \Delta }{
1226
% \vlin{!}{}{ ?\Gamma,!A }{ \vlhy{?\Gamma , A} }
1227
%}{ \vlhy{?A^\bot , ?A^\bot , \Delta } }
1228
%}
1229
%\]
1230
\item The structural step preceding a cut is a contraction:
1231
\[
1232
\vlderivation{
1233
	\vliin{\cut}{}{?\Gamma, \Sigma }{ \vlhy{?\Gamma,!A^\bot} }{
1234
		\vlin{\cntr}{}{ ?A,\Sigma }{ \vlhy{ ?A,?A,\Sigma } }
1235
	}
1236
}
1237
\quad\to\quad
1238
\vlderivation{
1239
	\vliq{\cntr}{}{ ?\Gamma,\Sigma }{
1240
		\vliin{\cut}{}{ ?\Gamma,?\Gamma,\Sigma }{ \vlhy{?\Gamma,!A^\bot } }{
1241
			\vliin{\cut}{}{ ?A,?\Gamma,\Sigma }{ \vlhy{?\Gamma,!A^\bot} }{ \vlhy{ ?A,?A,?\Delta,\Sigma } }
1242
		}
1243
	}
1244
}
1245
\]
1246
%\item The structural step preceding a cut is a parallel contraction:
1247
%\[
1248
%\vlderivation{
1249
%\vliin{\cut}{}{?\Gamma,?\Delta, \Sigma }{ \vlhy{?\Gamma,!A^\bot} }{
1250
%\vlin{}{}{ ?A,?\Delta,\Sigma }{ \vlhy{ ?A,?A,?\Delta,?\Delta,\Sigma } }
1251
%}
1252
%}
1253
%\quad\to\quad
1254
%\vlderivation{
1255
%\vlin{}{}{ ?\Gamma,?\Delta,\Sigma }{
1256
%\vliin{\cut}{}{ ?\Gamma,?\Gamma,?\Delta,?\Delta,\Sigma }{ \vlhy{?\Gamma,!A^\bot } }{
1257
%\vliin{\cut}{}{ ?A,?\Gamma,?\Delta,?\Delta,\Sigma }{ \vlhy{?\Gamma,!A^\bot} }{ \vlhy{ ?A,?A,?\Delta,?\Delta,\Sigma } }
1258
%}
1259
%}
1260
%}
1261
%\]
1262
\end{enumerate}
1263

    
1264
\subsection{Key cases: logical steps}
1265
Finally, once all cuts have been permuted maximally on both sides, we have the cases when the cut-formula is principal for a preceding logical step on both sides. We have three cases, one for every pair of connectives.
1266
\begin{enumerate}
1267
\item The cut-formula is multiplicative:
1268
\[
1269
\vlderivation{
1270
\vliin{\cut}{}{ \Gamma,\Delta,\Sigma }{
1271
\vliin{\vlte}{}{ \Gamma,\Delta,A\vlte B }{ \vlhy{\Gamma,A} }{ \vlhy{\Delta,B} }
1272
}{ \vlin{\vlpa}{}{ \Sigma, A^\bot \vlpa B^\bot }{ \vlhy{\Sigma , A^\bot , B^\bot} } }
1273
}
1274
\quad\to\quad
1275
\vlderivation{
1276
\vliin{\cut}{}{ \Gamma,\Delta,\Sigma }{ \vlhy{\Gamma,A} }{
1277
\vliin{\cut}{}{ \Delta,\Sigma,A^\bot }{ \vlhy{\Delta,B} }{ \vlhy{\Sigma , A^\bot,B^\bot } }
1278
}
1279
}
1280
\]
1281
\item The cut-formula is additive,
1282
\[
1283
\vlderivation{
1284
\vliin{\cut}{}{ \Gamma,\Delta }{ 
1285
\vliin{\vlan}{}{ \Gamma,A\vlan B }{ \vlhy{\Gamma,A} }{ \vlhy{\Gamma,B} }
1286
 }{ \vlin{\vlor}{}{ \Delta,A^\bot\vlor B^\bot }{ \vlhy{\Delta, A^\bot } } }
1287
}
1288
\quad\to\quad
1289
\vliinf{\cut}{}{ \Gamma,\Delta }{ \Gamma,A }{ \Delta,A^\bot }
1290
\]
1291
where the case for the other $\vlor$-rule is symmetric.
1292
\item The cut-formula is exponential.
1293
\[
1294
\vlderivation{
1295
\vliin{\cut}{}{ ?\Gamma,\Delta }{
1296
 \vlin{!}{}{ ?\Gamma,!A }{ \vlhy{?\Gamma , A} }
1297
}{
1298
\vlin{?}{}{ \Delta,?A^\bot }{ \vlhy{\Delta, A^\bot } }
1299
}
1300
}
1301
\quad\to\quad
1302
\vliinf{\cut}{}{ ?\Gamma,\Delta }{ ?\Gamma,A }{ \Delta,A^\bot }
1303
\]
1304
\item The cut-formula is quantified.
1305
\[
1306
\vlderivation{
1307
	\vliin{\cut}{}{\Gamma, \Delta}{
1308
		\vlin{\forall}{}{\Gamma, \forall x. A(x)}{\vltr{\pi(a)}{\Gamma, A(a)}{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}}
1309
		}{
1310
		\vlin{\exists}{}{\Delta, \exists x . \lnot{A}(x)}{\vlhy{\Delta, \lnot{A}(t)}}
1311
		}
1312
	}
1313
	\quad \to \quad
1314
	\vlderivation{
1315
		\vliin{\cut}{}{\Gamma, \Delta}{
1316
			\vltr{\pi(t)}{\Gamma, A(t)}{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
1317
			}{\vlhy{\Delta, \lnot{A}(t)}}
1318
		}
1319
\]
1320
\end{enumerate}
1321

    
1322

    
1323
\end{document}