Statistiques
| Révision :

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

Historique | Voir | Annoter | Télécharger (22,96 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
% Author macros::begin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15
\title{Free-cut elimination in linear logic: an application to implicit complexity}
16
%\titlerunning{A Sample LIPIcs Article} %optional, in case that the title is too long; the running title should fit into the top page column
17

    
18
%% 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
19
\author[1]{Patrick Baillot}
20
\author[2]{Anupam Das}
21
\affil[1]{Dummy University Computing Laboratory, Address/City, Country\\
22
  \texttt{open@dummyuniversity.org}}
23
\affil[2]{Department of Informatics, Dummy College, Address/City, Country\\
24
  \texttt{access@dummycollege.org}}
25
\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.'
26

    
27
\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/
28

    
29
\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". 
30
\keywords{Dummy keyword -- please provide 1--5 keywords}% mandatory: Please provide 1-5 keywords
31
% Author macros::end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
32

    
33
%Editor-only macros:: begin (do not touch as author)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
34
\EventEditors{John Q. Open and Joan R. Acces}
35
\EventNoEds{2}
36
\EventLongTitle{42nd Conference on Very Important Topics (CVIT 2016)}
37
\EventShortTitle{CVIT 2016}
38
\EventAcronym{CVIT}
39
\EventYear{2016}
40
\EventDate{December 24--27, 2016}
41
\EventLocation{Little Whinging, United Kingdom}
42
\EventLogo{}
43
\SeriesVolume{42}
44
\ArticleNo{23}
45
% Editor-only macros::end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46

    
47

    
48

    
49
\usepackage[lutzsyntax]{virginialake}
50
\usepackage{amsmath}
51
\usepackage{amssymb}
52
\usepackage{amsthm}
53
\usepackage{times}
54
%\usepackage{sans}
55
\usepackage{cmll}
56

    
57
%\newtheorem{theorem}{Theorem}
58
%\newtheorem{maintheorem}[theorem]{Main Theorem}
59
%\newtheorem{observation}[theorem]{Observation}
60
%\newtheorem{corollary}[theorem]{Corollary}
61
%\newtheorem{lemma}[theorem]{Lemma}
62
\newtheorem{proposition}[theorem]{Proposition}
63
%\newtheorem{conjecture}[theorem]{Conjecture}
64
%
65
%\theoremstyle{definition}
66
%\newtheorem{definition}[theorem]{Definition}
67
%\newtheorem{example}[theorem]{Example}
68
%\newtheorem{notation}[theorem]{Notation}
69
%\newtheorem{convention}[theorem]{Convention}
70
%\newtheorem{remark}[theorem]{Remark}
71
%\newtheorem{discussion}[theorem]{Discussion}
72

    
73
\newcommand{\todo}[1]{{\color{red}{\textbf{Todo:} #1}}}
74
\newcommand{\anupam}[1]{{\color{orange}{\textbf{Anupam:} #1}}}
75
\newcommand{\patrick}[1]{{\color{blue}{\textbf{Patrick:} #1}}}
76

    
77
\newcommand{\defined}{:=}
78
\begin{document}
79
	
80
	\newcommand{\LL}{\it{LL}}
81
	\vllineartrue
82
	
83
	
84
	\newcommand{\FV}{\mathit{FV}}
85
	
86
	
87
	%terms
88
	\renewcommand{\succ}{s}
89
	\renewcommand{\epsilon}{\varepsilon}
90
	
91
	% linear connectives
92
	
93
	\newcommand{\limp}{\multimap}
94
	\renewcommand{\land}{\otimes}
95
	\newcommand{\laand}{\&}
96
	\newcommand{\laor}{\oplus}
97
	\renewcommand{\lor}{\vlpa}
98
	\renewcommand{\lnot}[1]{{#1^{\perp}}}
99
	\newcommand{\lnotnot}[1]{#1^{\perp \perp}}
100
	
101
	% classical connectives
102
	
103
	\newcommand{\cimp}{\supset}
104
	\newcommand{\cand}{\wedge}
105
	\newcommand{\cor}{\vee}
106
	\newcommand{\cnot}{\neg}
107
	
108
	
109
	\newcommand{\Ax}{\mathit{(Ax)}}
110
	\newcommand{\Rl}{\mathit{(Rl)}}
111
	
112
	\newcommand{\MELL}{\mathit{MELL}}
113
	\newcommand{\MEAL}{\mathit{MELLW}}
114
	\newcommand{\MELLW}{\mathit{MELL(W)}}
115
	
116
	\newcommand{\Aonetwo}{\mathcal{A}^1_2}
117
	\newcommand{\logic}{\mathit{L}_{\mathcal A} }
118
	
119
	% predicates
120
	\newcommand{\nat}{N}
121
	
122
	\newcommand{\Nat}{\mathbb{N}}
123
	
124
	%axioms
125
	\newcommand{\wk}{\mathit{wk}}
126
	\newcommand{\impl}{\cimp\text{-}\mathit{l}}
127
	\newcommand{\impcomm}{\mathit{com}}
128
	\newcommand{\conint}{\cand\text{-}\mathit{i}}
129
	\newcommand{\conel}{\cand\text{-}\mathit{e}}
130
	\newcommand{\negclass}{\cnot}
131
	
132
	%rules
133
	\renewcommand{\mp}{\mathit{mp}}
134
	\newcommand{\gen}{\mathit{gen}}
135
	\newcommand{\inst}{\mathit{ins}}
136
	\newcommand{\id}{\it{id}}
137
	\newcommand{\cut}{\it{cut}}
138
	\newcommand{\multicut}{\it{mcut}}
139
	\newcommand{\indr}{\mathit{IND}}
140
	\newcommand{\nec}{\mathit{nec}}
141
	\newcommand{\tax}{\mathit{T}}
142
	\newcommand{\four}{\mathit{4}}
143
	\newcommand{\kax}{\mathit{K}}
144
	\newcommand{\cntr}{\mathit{cntr}}
145
	
146
	\newcommand{\lefrul}[1]{#1\text{-}\mathit{l}}
147
	\newcommand{\rigrul}[1]{#1\text{-}\mathit{r}}
148
	
149
	%consequence relations
150
	\newcommand{\admits}{\vDash}
151
	\newcommand{\seqar}{\vdash}
152
	\newcommand{\proves}{\vdash}
153
	
154
	%induction
155
	\newcommand{\ind}{\mathit{IND}}
156
	\newcommand{\pind}{\mathit{PIND}}
157
	\newcommand{\cax}[2]{#1\text{-}#2}
158

    
159
\maketitle
160

    
161
\begin{abstract}
162
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.
163
 \end{abstract}
164

    
165
\section{Introduction}
166

    
167
\section{Preliminaries}
168

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

    
171
\subsection{Linear logic}
172

    
173
\subsection{Deduction theorem}
174

    
175
[cite Avron:`semantics and proof theory of linear logic']
176

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

    
179
\begin{theorem}
180
	[Deduction]
181
	If $\mathcal T , A \proves B$ then $\mathcal{T} \proves !A \limp B$.
182
\end{theorem}
183

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

    
186

    
187

    
188
\subsection{Converting axioms to rules in $\MELLW$}
189

    
190
\begin{proposition}
191
	An axiom $\Ax$ of the form,
192
	\[
193
	A_1 \limp \vldots \limp A_m \limp !B_1 \limp \vldots \limp !B_n \limp C
194
	\]
195
	is equivalent (over propositional $\LL$) to the rule $\Rl$:
196
	\[
197
	\vliiinf{\Rl}{}{ !\Gamma , A_1 , \dots , A_m \seqar C , ? \Delta  }{ !\Gamma \seqar B_1 , ?\Delta }{\vldots }{ !\Gamma \seqar B_n , ?\Delta}
198
	\]
199
\end{proposition}
200
\begin{proof}
201
	Let us first assume $\Ax$ and derive $\Rl$. From the axiom and Currying, we have a proof of:
202
	\begin{equation}\label{eqn:curried-axiom}
203
	A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C
204
	\end{equation}
205
	
206
	This can simply be cut against each of the premisses of $\Rl$, applying appropriate contractions and necessitations, to derive it:
207
	\[
208
	\vlderivation{
209
		\vliq{c}{}{!\Gamma , A_1 , \dots , A_m \seqar C , ?\Delta }{
210
			\vliin{\cut}{}{!\Gamma, \dots , !\Gamma , A_1 , \dots , A_m \seqar C , ?\Delta, \dots , ?\Delta }{
211
				\vlin{!}{}{!\Gamma \seqar !B_n, ?\Delta }{\vlhy{!\Gamma \seqar B_n , ?\Delta }}
212
			}{
213
			\vliin{\cut}{}{\qquad \qquad \qquad \qquad  \vlvdots \qquad \qquad \qquad \qquad }{
214
				\vlin{!}{}{!\Gamma \seqar !B_1 , ?\Delta}{\vlhy{!\Gamma \seqar B_1, ?\Delta }}
215
			}{\vlhy{ A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C } }
216
		}
217
	}
218
}
219
\]
220

    
221
Now let us prove $\Ax$ (again in the form of \eqref{eqn:curried-axiom}) by using $\Rl$ as follows:
222
\[
223
\vliiinf{\Rl}{}{ A_1 , \dots , A_m , !B_1 , \dots , !B_n \seqar C }{  \vlderivation{
224
		\vlin{w}{}{ !B_1 , \dots , !B_n \seqar B_1 }{
225
			\vlin{!}{}{!B_1 \seqar B_1 }{
226
				\vlin{\id}{}{B_1 \seqar B_1 }{\vlhy{}}
227
			}
228
		}
229
	}  }{\vldots}{
230
	\vlderivation{
231
		\vlin{w}{}{ !B_1 , \dots , !B_n \seqar B_n }{
232
			\vlin{!}{}{!B_n \seqar B_n }{
233
				\vlin{\id}{}{B_n \seqar B_n }{\vlhy{}}
234
			}
235
		}
236
	}
237
}
238
\]
239
\end{proof}
240

    
241

    
242
\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.
243

    
244

    
245

    
246
\begin{corollary}
247
	The induction axiom of $A^1_2$ is equivalent to the rule:
248
	\[
249
	\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}
250
	\]
251
\end{corollary}
252
\begin{proof}
253
	By proposition above, generalisation and Currying.
254
\end{proof}
255

    
256

    
257
\subsection{Prenexing}
258
%In the presence of weakening we have a prenex normal form due to the following:
259
%
260
%\[
261
%\vlderivation{
262
%	\vlin{}{}{\exists x . A \lor B \seqar \exists x . (A(x) \lor B) }{
263
%		
264
%		}
265
%	}
266
%\]
267

    
268
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?
269

    
270
\section{Free-cut elimination in linear logic}
271

    
272
\section{Some variants of arithmetic in linear logic}
273

    
274
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:
275
\[
276
!(A\land B) \equiv (!A \land !B)
277
\]
278
(The right-left direction is already valid in usual linear logic, but the left-right direction requires weakening).
279

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

    
282

    
283
\subsection{Based on Bellantoni-Hoffmann, Leivant, etc.}
284

    
285
\newcommand{\natcntr}{\nat\mathit{cntr}}
286
\newcommand{\geneps}{\nat_{\epsilon}}
287
\newcommand{\genzer}{\nat_{0}}
288
\newcommand{\genone}{\nat_{1}}
289

    
290

    
291
\newcommand{\sepeps}{\epsilon}
292
\newcommand{\sepzer}{\succ_{0}}
293
\newcommand{\sepone}{\succ_{1}}
294

    
295
\newcommand{\inj}{\mathit{inj}}
296
\newcommand{\surj}{\mathit{surj}}
297

    
298
\begin{definition}
299
[Arithmetic]
300
We have the following axioms:
301
\[
302
\begin{array}{rl}
303
\natcntr & \forall x^N . (N(x) \land N(x)) \\
304
\geneps & \nat(\epsilon) \\
305
\genzer & \forall x^N . N(\succ_0 x) \\
306
\genone & \forall x^N . N(\succ_1 x) \\
307
\sepeps & \forall x^N . (\epsilon \neq \succ_0 x \land \epsilon \neq \succ_1 x) \\
308
\sepzer & \forall x^N , y^N. ( \succ_0 x = \succ_0 y \limp x=y ) \\
309
\sepone & \forall x^N , y^N. ( \succ_1 x = \succ_1 y \limp x=y ) \\
310
\inj & \forall x^N . \succ_0 x \neq \succ_1 x \\
311
\surj & \forall x^N . (x = \epsilon \lor \exists y^N . x = \succ_0 y \lor \exists y^N . x = \succ_1 y ) \\
312
\noalign{\bigskip}
313
\ind & todo
314
\end{array}
315
\]
316

    
317
Induction rule should be the following, to take account of relativised quantifiers?
318
\[
319
\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  }
320
\]
321

    
322
\todo{in existential above, is there a prenexing problem?}
323

    
324
\todo{what about $\leq$? Introducing this could solve prenexing problem, e.g.\ by induction?}
325
\end{definition}
326

    
327
\subsection{$\nat$-hierarchy}
328

    
329
\begin{definition}
330

    
331
\todo{replace N with nat.}
332

    
333
	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.
334
	
335
	We define $\Sigma^N_0 = \Pi^N_0 $ as the class of formulae that are free of quantifiers. For $i\geq 0$ we define:
336
	\begin{itemize}
337
		\item $\Sigma^N_{i+1}$ is the class of formulae $\exists x^N . A$ where $A \in \Pi^N_i$.
338
		\item $\Pi^N_{i+1}$ is the class of formulae $\forall x^N . A$ where $A \in \Sigma^N_i$.
339
		\item ($\Delta^N_i$ is the class $\Sigma^N_i \cap \Pi^N_i$.)
340
	\end{itemize}
341
\end{definition}
342

    
343
\todo{allow closure under positive Boolean operations?}
344

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

    
347
\subsection{Equivalent rule systems}
348

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

    
351
\[
352
\begin{array}{cc}
353
\vlinf{}{}{\Gamma \seqar \Delta, \forall x^N . A(x)}{\Gamma, N(a) \seqar \Delta , A(a)}
354
\quad & \quad
355
\vlinf{}{}{\Gamma, N(t),\forall x^N A(x) \seqar \Delta}{\Gamma,  A(t) \seqar \Delta}
356
\\
357
\noalign{\bigskip}
358
\vlinf{}{}{\Gamma , \exists x^N A(x) \seqar \Delta}{\Gamma, N(a), A(a) \seqar \Delta}
359
\quad &\quad 
360
\vlinf{}{}{\Gamma, N(t) \seqar \Delta , \exists x^N . A(x)}{\Gamma  \seqar \Delta, A(t)}
361
\end{array}
362
\]
363

    
364
CHECK THESE!
365

    
366
\todo{Also include rules for contraction and weakening.}
367

    
368
\section{Convergence of Bellantoni-Cook programs}
369

    
370
\subsection{Bellantoni-Cook programs}
371
We first recall the notion of safe recursion on notation from BC. TODO
372

    
373
\subsection{Convergence in arithmetic}
374
\begin{theorem}
375
	[Convergence]
376
	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))$.
377
\end{theorem}
378
\begin{proof}
379
	We show by induction on the structure of a BC-program for $f(\vec x ; \vec y)$ that:
380
	\begin{equation}
381
	\Phi(f) , \cax{\Sigma^N_1}{\pind} \proves \ \forall \vec{x}^{!N} . \forall \vec{y}^N . N(f(\vec x ; \vec y))
382
	\end{equation}
383
	We give some key cases in what follows.
384
	
385
	Suppose $f$ is defined by PRN by:
386
	\[
387
	\begin{array}{rcl}
388
	f(0,\vec x ; \vec y) & = & g(\vec x ; \vec y) \\
389
	f(\succ_i x , \vec x ; \vec y) & = & h_i (x, \vec x ; \vec y , f(x , \vec x ; \vec y))
390
	\end{array}
391
	\]
392
	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,
393
	\begin{equation}
394
	\forall x^{!N} . ( N(\vec y) \limp N(f(x , \vec x ; \vec y)  )
395
	\end{equation}
396
	by $\cax{\Sigma^N_1}{\pind}$ on $x$.
397
	
398
	In the base case we have the following proof:
399
	\[
400
	\vlderivation{
401
		\vliin{}{}{N(\vec y) \limp N(f(0, \vec x ; \vec y))}{
402
			\vltr{IH}{N(\vec y) \limp N(g(\vec x ; \vec y))}{\vlhy{\quad}}{\vlhy{}}{\vlhy{\quad}}
403
		}{
404
		\vlin{}{}{N(g (\vec x ; \vec y) ) \limp N(f(0, \vec x ; \vec y)) }{
405
			\vlin{}{}{g(\vec x ; \vec y) = f(0 , \vec x ; \vec y)}{\vlhy{}}
406
		}
407
	}
408
}
409
\]
410

    
411
For the inductive step, we need to show that,
412
\[
413
\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) )   )
414
\]
415
so let us suppose that $N(x)$ and we give the following proof:
416
\[
417
\vlderivation{
418
	\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)  ) }{
419
		\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)  ) }{
420
			\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) ) ) }{
421
				\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 }}
422
			}{
423
			\vlhy{2}
424
		}
425
	}{
426
	\vlhy{3}
427
}
428
}
429
}
430
\]
431
TOFINISH
432
\end{proof}
433

    
434
\section{Witness function method}
435

    
436
\todo{negation normal form}
437

    
438
\newcommand{\type}{\mathtt{t}}
439
\newcommand{\norm}{\nu}
440
\newcommand{\safe}{\sigma}
441

    
442
\subsection{Typing}
443

    
444
\begin{definition}
445
	[Types]
446
	To each formula we associate a type as follows:
447
	\[
448
	\begin{array}{rcll}
449
	\type (\nat (t)) & := & \Nat_\safe & \\
450
	\type(s = t) & := & \Nat_\safe & \\
451
	\type (A \star B)  & : = & \type (A) \times \type (B) & \text{for $\star \in \{ \lor, \land, \laor, \laand \} $.} \\
452
	\type (! A) & : = & \type_\norm (A) & \text{for $\lambda \in \{ !, ? \}$.}\\
453
	\type (\exists x^N . A) & := & \Nat_\norm \times \type (A) & \\
454
	\type (\forall x^N . A) & := & \Nat_\norm \to \type(A)
455
	\end{array}
456
	\]
457
	\end{definition}
458
	
459
	\todo{does this need to be compatible with safety etc.?}
460
	
461
	
462
	
463
	\newcommand{\witness}[2]{\mathit{Witness}^{#1}_{#2}}
464
	\begin{definition}
465
		[Witness predicate]
466
		We define the following formula:
467
		\[
468
		\begin{array}{rcll}
469
		\witness{\vec a}{A} (w, \vec a) & := & A(\vec a) & \text{for $A$ quantifier-free.} \\
470
		\witness{\vec a}{\exists x . A} (w, \vec w , \vec a) & := & \witness{\vec{a}, a}{A(a)}(\vec w , \vec a, w ) & \\
471
		\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\}$.} \\
472
		\end{array}
473
		\]
474
	\end{definition}
475
	\todo{problem: what about complexity of checking equality? }
476
	
477
	\todo{What about $\nat (t)$? What does it mean? Replace with true?}
478
	
479
	\todo{either use the witness predicate above, or use realizability predicate at meta-level and a model theory, like BH.}
480
	
481
	
482
	\subsection{The translation}
483
	Need witness predicate so that we know what is being preserved.
484

    
485
\begin{definition}
486
	[Translation]
487
	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:
488
	\[
489
	\witness{\vec a}{\bigotimes \Gamma} (\vec w , \vec a) \implies \witness{\vec a}{\bigparr \Delta } (\vec f(\vec w , \vec a), \vec a)
490
	\]
491
	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.
492
	
493
	We often suppress the parameters $\vec a$ when it is not important.	
494
	
495
	\anupam{Is this implication provable in Bellantoni's version of PV based on BC?}
496
	
497
	\anupam{for moment try ignore decoration on right? what about negation?}
498
	
499
	\anupam{just do it and see what happens!}
500
	
501
	\[
502
	\vlderivation{
503
		\vliin{\land}{}{ \Gamma, \Sigma \seqar \Delta, \Pi, A\land B }{
504
			\vltr{\pi_1}{ \Gamma \seqar \Delta, A }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
505
			}{
506
			\vltr{\pi_2}{ \Sigma \seqar \Pi, B }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
507
			}
508
		}
509
	\]
510
	
511
	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:
512
	\[
513
	\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)
514
	\] 
515
	
516
	\anupam{bad notation since need to include free variables of sequent too. (also of theory.) Reconsider.}
517
	
518
	\[
519
	\vlderivation{
520
		\vlin{\lefrul{\cntr}}{}{ !A , \Gamma \seqar \Delta }{
521
			\vltr{\pi'}{  !A, !A , \Gamma \seqar \Delta}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
522
			}
523
		}
524
	\]
525
	Have $\vec f' (x_1 , x_2 , \vec y ; \vec a)$ for $\pi'$. Define
526
	\[
527
	\vec f (x_1 , \vec y ; \vec a) \quad := \quad \vec f'(x_1 , x_1 , \vec y ; \vec a)
528
	\]
529
	\[
530
	\vlderivation{
531
	\vlin{\rigrul{\cntr}}{}{\Gamma \seqar \Delta, ?A}{
532
	\vltr{\pi'}{  \Gamma \seqar \Delta, ?A, ?A}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
533
	}
534
	}
535
	\]
536
	(need test function against witness predicate?)
537
	
538
	\anupam{problem: how to test even equality of two terms? Maybe treat $?$ as $!$ on left?}
539
	
540
	\anupam{Not a problem by free-cut elimination! Can assume there are no $?$ in the proof! Is this equivalent to treaing $?$ as $!$ on left?}
541
	
542
	\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.}
543
	
544
	\anupam{this is actually the main point.}
545
	
546
	
547
	\[
548
	\vlderivation{
549
	\vliin{\rigrul{\laand}}{}{\Gamma \seqar \Delta, A \laand B}{
550
	\vltr{\pi_1}{  \Gamma \seqar \Delta, A}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
551
	}{
552
	\vltr{\pi_2}{  \Gamma \seqar \Delta, B}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
553
	}
554
	}
555
	\]
556
	
557
	Suppose we have $\vec f^i (\vec x , \vec a ; \vec y , \vec b)$ from $\pi_i$.
558
	
559
	\anupam{problem: does this require many tests, just like for contraction? Can we isolate a different complexity class? e.g.\ PH or Grzegorzyck?}
560
	\anupam{skip this case and consider later.}
561
\[
562
\vlderivation{
563
\vliin{\cut}{}{\Gamma , \Sigma \seqar \Delta , \Pi}{
564
\vltr{\pi_1}{ \Gamma \seqar \Delta, A }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
565
}{
566
\vltr{\pi_2}{\Sigma , A \seqar \Pi}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
567
}
568
}
569
	\]
570
	
571
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$. 
572

    
573
Let us write:
574
\[
575
\begin{array}{rcl}
576
\vec f^1 & = & ( \vec f^1_i )^{|\Delta|+1}_{i=1} \\
577
\vec f^2 & = & ( \vec f^2_i )^{|\Pi|}_{i=1}
578
\end{array}
579
\]
580
to denote the parts of $\vec f^i$ corresponding to formulae in their sequents.
581

    
582

    
583
We define:
584
\[
585
\vec f (\vec w , \vec y ; \vec x , \vec z)
586
\quad := \quad
587
(
588
( \vec f^1_i (\vec w ; \vec x) )_{i \leq |\Delta|}
589
,
590
\vec f^2 ( \vec y ; \vec z , \vec f^1_{|\Delta| +1 } (\vec w ; \vec x) )
591
)
592
\]
593

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

    
596
\todo{left todo below.}
597

    
598

    
599
Right existential:
600
\[
601
\vlderivation{
602
\vlin{\rigrul{\exists}}{}{ \Gamma, \nat(t) \seqar \Delta , \exists x^\nat . A(x) }{
603
\vltr{\pi'}{ \Gamma \seqar \Delta , A(t) }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
604
}
605
}
606
\]
607

    
608

    
609
Left existential:
610
\[
611
\vlderivation{
612
\vlin{\lefrul{\exists}}{}{ \Gamma, \exists x^N . A(x) \seqar \Delta }{
613
\vltr{\pi'}{ \Gamma, A(a) ,  N(a) \seqar \Delta  }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
614
}
615
}
616
\]
617

    
618
!:
619
\[
620
\vlderivation{
621
\vlin{!}{}{\Gamma, !A \seqar \Delta}{
622
\vltr{\pi'}{ \Gamma , A \seqar \Delta  }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
623
}
624
}
625
\]
626
\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.}
627

    
628

    
629
Induction: (can assume no side-formulae on right for same reason as no contraction.)
630
\[
631
\vlderivation{
632
\vliin{\ind}{}{ !\Gamma , !\nat (t) ,  A(0) \seqar A(t) }{
633
\vltr{\pi_0}{ !\Gamma , !\nat(a) , A(a) \seqar A(\succ_0 a)}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
634
}{
635
\vltr{\pi_1}{ !\Gamma , !\nat(a), A(a)\seqar A(\succ_1 a) }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }}
636
}
637
}
638
\]
639

    
640
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)$.
641

    
642

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

    
645
Define the function $f_k$ (for $k = 1 , \dots , |\vec u|$) by PRN:
646
\[
647
\begin{array}{rcl}
648
f_k(\epsilon, \vec x , y ; \vec u) & := & u_k \\
649
f_k (\succ_i w , \vec x , y ; \vec u) & : = & f^i_k ( \vec x ,  y ; \vec f ( w, \vec x , y ; \vec u ) )
650
\end{array}
651
\]
652

    
653
\anupam{check this, esp use of parameters, cf.\ above.}
654

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

    
657
\end{definition}
658

    
659

    
660
\section{Further work}
661

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

    
664
\section{Conclusions}
665

    
666

    
667
\end{document}