Statistiques
| Révision :

root / CSL17 / DICE2017_TALK / unboundedArithmetic.tex @ 188

Historique | Voir | Annoter | Télécharger (57,5 ko)

1

    
2
%\documentclass[pdf, pleasingblue,slideColor,colorBG]{prosper}
3
\documentclass{beamer}
4
\usepackage{amsfonts,latexsym,amssymb, amsmath}
5
\usepackage{stmaryrd}
6
\usepackage{graphicx} 
7
\usepackage{eepic}
8
\usepackage[dvips]{epsfig}
9
%\usepackage{psfig}
10
%\input head.tex
11
\usepackage{proof,bussproofs}
12
%\usepackage{ desseins_s}
13

    
14

    
15
%\usepackage{microtype}%if unwanted, comment out or use option "draft"
16
%\usepackage[dvipsnames]{xcolor}
17

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

    
20
%\bibliographystyle{plainurl}% the recommended bibstyle
21

    
22
%\usepackage[lutzsyntax]{virginialake}
23
\input{ph-macros}
24

    
25

    
26

    
27
\setbeamercolor{block title}{bg=blue!10}
28
\setbeamercolor{block body}{bg=blue!10}
29
\definecolor{monred}{HTML}{9D0909}
30
%\definecolor{monbleu}{RVB}{0,0,1}
31
 \def\red#1{\color{red}{#1}}
32
 \def\blue#1{\color{blue}{#1}}
33
 \def\green#1{\color{green}{#1}}
34
\def\black{}
35
\def\BA#1{\color{red}{#1}}
36
 \def\ICC#1{\color{blue}{#1}}
37

    
38

    
39
%%%%%%%%%%%%%ENVIRONMENTS AND THEOREM-STYLES %%%%%%%%%%%%%%%%%%
40
%\def\un#1{\underline{#1}}
41
%\def\point#1{{\bf #1.}}
42
%%\newcommand{\etq}[1]{\mbox{\scriptsize\bf #1}}
43
%\newcommand{\etq}[1]{\mbox{{\bf #1}}}
44
%\newcommand{\Rulone}[1]{%
45
%          \begin{center}
46
%           \makebox[12cm]{\hspace*{\fill}
47
%                 \begin{minipage}[c]{6cm} #1 \end{minipage} \hspace*{\fill}
48
%                }
49
%          \end{center}
50
%  }
51
%
52
%\newcommand{\centra}[1]{\begin{center} #1 \end{center}}
53
%
54
%\newcommand{\Rultwo}[2]{%
55
%          \begin{center}
56
%           \makebox[12cm]{
57
%         \makebox[6cm]{\begin{minipage}[c]{6cm} #1 \end{minipage}} \hspace{20pt}
58
%         \makebox[6cm]{\begin{minipage}[c]{6cm} #2 \end{minipage}}
59
%                }
60
%          \end{center}
61
%  }
62
%\newcounter{ex}
63
%%\newtheorem{example}[ex]{Example}
64
%
65
%
66
%\def\para#1{\paragraph{#1}}
67
%\newtheorem{theo}{Theorem}
68
%\newtheorem{de}{Definition}
69
%\newtheorem{prop}[theo]{Proposition}
70
%\newtheorem{lem}[theo]{Lemma}
71
%\newtheorem{Cor}[theo]{Corollary}
72
%\newtheorem{remark}[theo]{Remark}
73
%\newcounter{pb}
74
%\newtheorem{problem}[pb]{Problem}
75
%\newenvironment{proof}{\noindent{\bfseries Proof :}}{\hbox{}\hfill$\Box$}
76

    
77
%---------------------
78
%% Definition of new colors
79
%\newrgbcolor{LemonChiffon}{1. 0.98 0.8}
80
%
81
%\newrgbcolor{LightBlue}{0.68 0.85 0.9}
82
%\newrgbcolor{Dgreen}{0  0.6 0.4}
83
%%\newrgbcolor{DBlue}{0  0 0.5}
84
%\newrgbcolor{DBlue}{0  0 0.6}
85
%\newrgbcolor{Dblue}{0  0 0.6}
86
%%----------------------
87
%%% MORE Color definitions
88
%\newrgbcolor{DarkGray}{.284 .210 .410}
89
%\newrgbcolor{Violet}{.2 .2  .9}
90

    
91
%---------------------
92

    
93
\mode<presentation>
94
{
95
  \usetheme{Warsaw}
96
  % or ...
97

    
98
  \setbeamercovered{transparent}
99
  % or whatever (possibly just delete it)
100
}
101

    
102

    
103
\title{Towards an Unbounded Implicit Arithmetic for\\
104
the Polynomial Hierarchy
105
}
106

    
107
\author{Patrick Baillot and Anupam Das}
108
\institute{CNRS / ENS Lyon}
109

    
110

    
111
\begin{document}
112
\maketitle
113

    
114

    
115
\begin{frame}
116
  \frametitle{Introduction}
117
 
118
 2 cousin approaches to logical characterization of complexity classes:
119
 
120
\bigskip 
121

    
122
 \begin{tabular}{l|l}
123
 \BA{Bounded arithmetic (86 -- )} & \ICC{Implicit computational complexity  (91 --)}\\
124
      & \ICC{(ICC)}\\
125
 \hline
126
 &\\
127
 & function algebras\\
128
 & types/proofs-as-programs\\
129
 & arithmetics / logics\\
130
 & \\
131
 large variety of & resource-free characterizations of\\
132
 complexity classes & complexity classes (e.g. ramification)\\
133
 &\\
134
 corresp. with & extensions to programming languages\\
135
 \textit{proof-complexity} &
136
 \end{tabular}
137
  \end{frame}
138

    
139
%%%%%%%%%%%%%%%%%%%%%%%%%%%
140

    
141
\begin{frame}
142
  \frametitle{Introduction}
143
 
144
$$  \mbox{"\textit{$f$ is provably total in system} XXX"} \Leftrightarrow \quad f \in \mbox{ complexity class YYY }$$
145
 
146
\bigskip 
147

    
148
 \begin{tabular}{l|l}
149
 \BA{Bounded arithmetic}  \qquad \qquad & \ICC{Implicit computational complexity}\\
150
 \hline
151
 &\\
152
  Buss ($S_1$): & Leivant (intrinsic theories): \\
153
  $\forall x, {\BA{\exists y \leq t}} . \; A_f(x,y)$ & $\forall x. N_1(x) \rightarrow N_0(f(x))$\\
154
  &\\
155
  FP, FPH & FP
156
  \end{tabular}
157
  \end{frame}
158
  
159
  %%%%%%%%%%%%%%%%%%%%%%%%%%%
160

    
161
\begin{frame}
162
  \frametitle{{A current limitation of ICC logics}}
163
 
164
 \begin{itemize}
165
\item fewer complexity classes characterized by {\ICC{ICC logics}} than by {\BA{bounded arithmetic}}
166
\item in particular, not so satisfactory for non-deterministic classes
167

    
168
e.g. NP, PH (polynomial hierarchy) \dots
169

    
170
 \end{itemize}
171
 \end{frame}
172
 
173
 %%%%%%%%%%%%%%%%%%%%%%%%%%%
174

    
175
\begin{frame}
176
  \frametitle{Recap : the polynomial hierarchy}
177
 
178
 \begin{itemize}
179
\item  to be done: definition \dots
180
 \end{itemize}
181
 \end{frame}
182

    
183
%%%%%%%%%%%%%%%%%%%%%%%%%%%
184

    
185
\begin{frame}
186
  \frametitle{Our goal}
187
 
188
 design an { \ICC{unbounded}} {\BA{arithmetic}} for characterizing FPH
189
 
190
 \medskip 
191
 
192
 expected benefits:
193
 \begin{itemize}
194
\item   bridge  {\BA{bounded arithmetic}}  and {\ICC{ICC logics}}
195
\item enlarge the toolbox  {\ICC{ICC logics}} of , by exploring the power of quantification
196
\end{itemize}
197
 \end{frame}
198

    
199
%%%%%%%%%%%%%%%%%%%%%%%%%%%
200

    
201
\begin{frame}
202
  \frametitle{Methodology}
203
 
204
 We want to use:
205
 \begin{itemize}
206
\item {\ICC{ramification}}   
207
\item
208
\end{itemize}
209
 \end{frame}
210

    
211

    
212
\end{document}
213

    
214
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
215
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216
%----------
217

    
218
%%%%%%%%%%%%%%%%%%%%%%%%%%%
219

    
220
\begin{frame}
221
  \frametitle{}
222
 
223
 \begin{itemize}
224
\item   \end{itemize}
225
 \end{frame}
226

    
227
%%%%%%%%%%%%%%%%%%%%%%%%%%%
228

    
229
\begin{frame}
230
  \frametitle{Introduction}
231
 
232
 \begin{itemize}
233
\item  \textit{Implicit computational complexity} (ICC) : 
234

    
235
characterizing complexity classes by programming languages / calculi  without  explicit bounds, 
236

    
237
but instead
238
 by restricting the constructions %of the language.
239
 \item either theory-oriented or certification-oriented
240
 \item often conveniently formulated by:
241
 
242
 (i) a general programming language, (ii)  a criterion on programs
243
 \end{itemize}
244
 \end{frame}
245
 
246
 %%%%%%%%%%%%%%%%%%%%%%
247
 \begin{frame}
248
  \frametitle{Various approaches to ICC}
249

    
250

    
251
 \begin{itemize}
252
 \item ramified recursion (Leivant, Leivant-Marion) / safe recursion (Bellantoni-Cook)
253
% \item restrictions on second-order logic (taming comprehension rule) (Leivant)
254
 \item variants of linear logic (light logics) \textbf{this talk}
255
 %\item \emph{read-only} functional languages (Jones)
256
 \item interpretation methods
257
 \item \dots
258
  \end{itemize}
259

    
260
  \end{frame}
261

    
262
%%%%%%%%%%%%%%%%%%%%%%
263
 \begin{frame}
264
  \frametitle{ICC vs. complexity analysis}
265

    
266
specificities of ICC w.r.t. automatic complexity analysis:
267
 \begin{itemize}
268
 \item complexity certificate (e.g. type)
269
 \item modular
270
  \end{itemize}
271

    
272
but
273

    
274
\begin{itemize}
275
\item only rough complexity bounds
276
\item less general analysis (specific programming discipline)
277
\end{itemize}
278
  \end{frame}
279

    
280

    
281
\end{document}
282

    
283
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
284
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
285
%----------
286

    
287
\begin{frame}\frametitle{The proofs-as-programs viewpoint}
288

    
289
\begin{itemize}
290
\item our reference language here is $\la$-calculus
291

    
292
 untyped $\la$-calculus is Turing-complete
293
\item type systems can guarantee termination
294

    
295
ex: system F (polymorphic types)
296
%\end{itemize}
297
%
298
%\end{frame}
299
%
300
%----------
301
%\begin{frame} \frametitle{}
302

    
303
%\begin{itemize}
304
\item proofs-as-programs correspondence
305
%Curry-Howard correspondence
306
\begin{tabular}{ccc}
307
proof & = & type derivation \\
308
normalization & = & execution \\
309
intuitionistic logic & $\leftrightarrow$ & system F
310
\end{tabular}
311
\item some characteristics of $\la$-calculus:
312

    
313
    higher-order types
314

    
315
    no distinction between data / program
316
\end{itemize}
317
\end{frame}
318

    
319
%----------
320
\begin{frame} \frametitle{Linear logic}
321

    
322
\begin{itemize}
323
\item linear logic (LL):
324

    
325
 fine-grained decomposition of intuitionistic logic
326

    
327
 duplication is controlled with a specific connective $\bs$ (\textit{exponential})
328
\item variants of linear logic with different rules for 
329
$\bs$ have bounded complexity: \textit{light logics}
330

    
331
 these logics (or subsystems) can be used as type systems for $\la$-calculus
332

    
333
thus:
334

    
335
(i) general language= $\lambda$-calculus, (ii) criterion= typability
336
\end{itemize}
337
\end{frame}
338

    
339
%----------
340
\begin{frame} \frametitle{Outline of the talk}
341

    
342
%\begin{itemize}
343
%\item Background on $\la$-calculus and system F
344
%\item The type system DLAL
345
%\item Relating the Bellantoni-Cook algebra and light linear logic
346
%\item Conclusion
347
%\end{itemize}
348
\begin{enumerate}
349
\item a recap on $\lambda$-calculus and system F
350
\item elementary linear logic (ELL): elementary complexity
351
\item light linear logic (LLL): Ptime complexity
352
\item other linear logic variants
353
\item conclusion
354
\end{enumerate}
355
\end{frame}
356

    
357
%-----------
358

    
359
\section{A recap on $\lambda$-calculus and system F}
360
%----------
361
\begin{frame} \frametitle{$\lambda$-calculus}
362

    
363
\begin{itemize}
364
\item $\lambda$-terms:
365
$$t, u::= x \;|\; \la x. t  \; |\; t\; u$$
366
%$$t, u::= x \;|\; \la x. t  \; |\; (t\; u)$$
367

    
368
\begin{tabular}{cl}
369
notations: &$\la x_1 x_2. t$ \quad for $\la x_1. \la x_2.t$\\
370
          & $(t\; u \; v)$ \quad for $((t\; u)\;v)$\\
371
          &  substitution: $t[u/ x]$
372
\end{tabular}
373
\item
374
$\beta$-reduction:
375

    
376
 $\xrightarrow{1}$ relation obtained by context-closure of:
377
$$ ((\la x. t) u) \xrightarrow{1} t[u/ x]$$
378

    
379
$\rightarrow$ reflexive and transitive closure of $\xrightarrow{1}$.
380
\end{itemize}
381
\end{frame}
382

    
383
%----------
384
\begin{frame} \frametitle{Typed $\lambda$-terms}
385
system F types:
386
$$T, U::= \alpha \; | \; T \rightarrow U \;|\; \forall \al . T$$
387

    
388
simple types: without $\forall$
389

    
390
\medskip
391

    
392
simply typed terms, in Church-style:
393
$$
394
x^T
395
\quad\quad
396
(\la x^T. M^U)^{T\rightarrow U}
397
\quad\quad
398
((M^{T\rightarrow U}) N^T)^U
399
$$
400
%$$
401
%(M^U)^{\forall \alpha.U}
402
%\quad\quad
403
%((M^{\forall\alpha. U})T)^{U[T/\alpha]}
404
%$$
405
%with: in $\La \alpha. M^U$, 
406
%$\alpha$ not free in  types of
407
%free term variables of $M$ %(the {\em eigenvariable condition}).
408

    
409
\end{frame}
410

    
411
%----------
412
%----------
413
\begin{frame} \frametitle{Proofs-programs correspondence (Curry-Howard)}
414

    
415
\begin{tabular}{ccc}
416
 \textbf{typed term} &$\Rightarrow$& \textbf{2nd-order intuitionistic}\\
417
 &&\quad \textbf{ logic proof}\\
418
&&\\
419
type && formula\\
420
&&\\
421
$M^B$, with  & &proof of $A_1, \dots, A_n \vdash B$\\
422
free variables $x_i:A_i$, $1\leq i \leq n$&&\\
423
&&\\
424
$\beta$-reduction of term && normalization of proof\\
425
&& (cut elimination) 
426
\end{tabular}
427
\end{frame}
428

    
429

    
430
%----------
431
\begin{frame} \frametitle{Some types and data types}
432
$$\begin{array}{lcl}
433
\mbox{Polymorphic identity:}&&\\
434
 %{\blue \La \al. \la x^{\al}. x }&:& \forall \al. (\al \fl \al)\\
435
 {\blue  \la x^{\al}. x }&:& \forall \al. (\al \fl \al)\\
436
 &&\\
437
\mbox{Church unary integers:}&&\\
438
 N^F & =& \forall \al.  (\al \fl \al) \fl (\al \fl \al) \\
439
\mbox{example}&&\\
440
 % {\blue \underline{2}}&{\blue =}& {\blue \La \al. \la f^{\al\fl \al}.\la x^{\al}. (f\; (f \; x))^{\al}: N }\\
441
%{\blue  \underline{2} }&{\blue =}& {\blue \la f^{\al\fl \al}.\la x^{\al}. (f)\; (f) \; x: N }\\
442
 \underline{2} &{\blue =}& {\blue \la f^{\al\fl \al}.\la x^{\al}. (f\; (f \; x)): N^F }\\
443
\mbox{Church binary words:} &&\\
444
W^F & =&  \forall \al.  (\al \fl \al) \fl (\al \fl \al) \fl (\al \fl \al)\\
445
 \mbox{example}&&\\
446
 % {\blue \underline{<1,1,0>}}&{\blue =}& {\blue \La \al. \la o^{\al\fl \al}.\la z^{\al\fl \al}.\la x^{\al}. (o\; (o \; (z\; x)))^{\al}: W }\\
447
% {\blue \underline{<1,1,0>} }&{\blue =}& {\blue \la o^{\al\fl \al}.\la z^{\al\fl \al}.\la x^{\al}. (o)\; (o) \; (z)\; x : W }\\
448
 \underline{<1,1,0>}  &{\blue =}& {\blue \la s_0^{\al\fl \al}.\la s_1^{\al\fl \al}.\la x^{\al}. (s_1\; (s_1  \; (s_0\; x))) : W^F }\\
449
%\end{eqnarray*}
450
\end{array}
451
$$
452
\end{frame}
453

    
454

    
455

    
456
%----------
457
\begin{frame} \frametitle{Iteration }
458

    
459
For each inductive data type an associated iteration principle.
460

    
461
For instance,  for $N= \forall \al.  (\al \fl \al) \fl (\al \fl \al)$, 
462
we can define  an iterator $\ite$:
463
$$ \ite= \la f x n. \; (n \; f \; x) \; : (A \fl A) \fl A \fl N \fl  A, \quad \mbox{for any $A$}$$
464
then
465

    
466
 $(\ite  \; t \; u \; \un{n}) \rightarrow (t\; (t \dots (t\; u)\dots)$  \quad ($n$ times)
467

    
468
\bigskip
469

    
470
\textbf{example:}
471

    
472

    
473
$double: N \fl N$
474

    
475
$exp= \la n.  (\ite \; double \; \un{1} \; n)\; : N \fl  N$
476

    
477
$tower= \la n.  (\ite \; exp \; \un{1} \; n)\; : N \fl  N$
478

    
479

    
480

    
481
\end{frame}
482

    
483
%----------
484

    
485
\begin{frame} \frametitle{Examples of terms}
486

    
487
 
488
$$\begin{array}{lll}
489
\mbox{concatenation}&&\\
490
%conc &=& \la u^{W}. \la v^{W} .\La \al. \la o. \la z. \la x . (u \; o \; z \;(v \; o\; z \; x))\\
491
conc &=& \la u^{W}. \la v^{W} . \la s_0. \la s_1. \la x . (u \; s_0 \; s_1) \;(v \; s_0\; s_1 \; x)\\
492
   &:~ &W\fl W \fl W\\
493
&&\\
494
\mbox{length}&&\\
495
%length&=& \la u^{W}. \La \al. \la f^{\al\fl \al }.( u\; f \; f)^{\al\fl \al}\\
496
length&=& \la u^{W}.  \la f^{\al\fl \al }.(u\; f \; f)^{\al\fl \al}\\ 
497
 &:~ &W \fl N\\
498
% \end{array}$$
499
% 
500
% $$\begin{array}{lll}
501
\mbox{\textit{repeated concatenation}}&&\\
502
%mult&=& \la n. \la m. (m \; \la k.\la f.\la x. (n \; f\; (k\; f\; x))) \; \underline{0}&:& ~N \fli N \fm \pa N\\
503
%mult&=& \la n^{N}. \la v^{W}. (n \; (conc \; v)^{W\fl W} ) \; \underline{nil}^W\\
504
rep&=& \la n^{N}. \la v^{W}. [n \; (conc \; v)  \; \underline{nil}]^W\\
505
&:& ~N \fl W \fl W\\
506
%&&&&\\
507
%square&& &:&N \fm \pa^{4}N
508
\end{array}
509
$$
510
\end{frame}
511

    
512
%----------
513
\begin{frame} \frametitle{System F and termination}
514

    
515
\bigskip
516
\begin{theo}[Girard] %[Girard 1972]
517
 If a term is well typed in $F$, then it is strongly normalizable.
518
\end{theo}
519

    
520
\bigskip
521

    
522
Thus a type derivation can be seen as a termination witness.
523

    
524
In particular, a term $t: W \fl W$ represents a function on words which terminates 
525
on all inputs.
526

    
527
\bigskip
528

    
529
%\textbf {Problem:}
530

    
531
 Can we refine this system in order to guarantee \textit{feasible} termination, that is to 
532
say in polynomial time?
533
\end{frame}
534

    
535
%---------------
536

    
537

    
538
%-----------
539
%%\begin{frame} \frametitle{Exponential blow up}
540
%\begin{frame} \frametitle{How can exponential blow up occur?}
541
%
542
%\vspace{-5mm}
543
%
544
%(thanks to K.~Terui)
545
%
546
%2 easy ways to cause exponential blow-up:
547
%\begin{itemize}
548
%\item 
549
% basic functions: $0: \NN$, \quad $s: \NN \rightarrow \NN$, \quad $+:\NN \rightarrow \NN \rightarrow \NN$.
550
%\item exponential blow-up can be caused by:
551
%\begin{enumerate}
552
% \item iteration-iteration
553
%$$\begin{array}{cccccc}
554
%\mbox{dbl}(0) &=&0 \qquad \qquad &                \mbox{exp}(0)&=&1  \\
555
%\mbox{dbl}(s(x))&=&\mbox{dbl}(x)+2 \qquad & \mbox{exp}(s(x))&=&\mbox{dbl}(\mbox{exp}(x))  
556
%\end{array}
557
%$$
558
%\item contraction-iteration
559
%$$\begin{array}{cccccc}
560
%\mbox{dbl}(x) &=&x+x \qquad \qquad &                \mbox{exp}(0)&=&1  \\
561
% &&& \mbox{exp}(s(x))&=&\mbox{dbl}(\mbox{exp}(x))  
562
%\end{array}
563
%$$
564
%\end{enumerate}
565
%\vspace{-4mm}
566
%\item to keep contraction and iteration, we need to forbid bad combinations of these.
567
%\end{itemize}
568
%
569
%\end{frame} 
570

    
571

    
572
%-----------
573
\begin{frame} \frametitle{Linear logic}
574

    
575
\begin{itemize}
576
\item  Linear logic (LL) arises from the decomposition 
577
 $$A \fli B \equiv  \bs A \fm B$$
578

    
579
\item the $\bs$ modality accounts for duplication (contraction)
580

    
581
\item $!$ satisfies the following principles:
582
$$
583
\begin{array}{ccc}
584
 \bs A \fm \bs A \otimes \bs A \qquad & \infer{ \bs A\vdash  \bs B}{A \vdash B} \qquad           & \bs A \fm A \\
585
                               & \bs A \otimes \bs B \fm \bs (A \otimes B) & \bs A \fm \bs \bs A
586
\end{array}
587
$$
588
\end{itemize}
589
\end{frame} 
590

    
591
\section{Elementary linear logic}
592
%-----------
593
\begin{frame} \frametitle{Elementary linear logic (ELL) \qquad [Girard95]}  
594

    
595
\begin{itemize}
596
\item Language of formulas:
597
$$ A, B := \alpha \;|\; A \multimap B \;|\; !A \;|\; \forall \alpha. A $$
598

    
599
\smallskip
600
Denote $!^k A$ for $k$ occurrences of $!$.
601
\item  The system is designed in such a way that the following principles are \textbf{not} provable
602
 $$ !A \multimap A, \quad  !A \multimap !!A$$
603
 \item Defined to characterize \textit{elementary time complexity}, that is to say in time bounded by $2_k^{n}$, for arbitrary $k$.
604
\end{itemize}
605
\end{frame}
606

    
607
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
608

    
609
\begin{frame} \frametitle{Elementary linear logic rules}
610

    
611
%{\tiny
612
\vspace{-5mm}
613

    
614
\begin{center}
615
\begin{tabular}{ll}
616
  {\infer[\mbox{(Id)}]{ x:A \vdash x:A}{}} & \\[1ex]
617
 &\\
618
 {\infer[\mbox{($\fm$ i)}]{\Gamma  \vdash \la x. t: A \fm B }
619
 {\Gamma, x:A \vdash t:B}}
620

    
621
  &
622
 {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2 \vdash (t\; u) :B }
623
  {\Gamma_1 \vdash t:A \fm B & \Gamma_2 \vdash u:A}}
624
\\[1ex]
625
&\\
626
{\infer[\mbox{(Cntr)}]{x:!A, \Gamma \vdash t[x \slash x_1, x \slash x_2] :B }{x_1:!A,x_2:!A, \Gamma \vdash t:B }}
627
&
628
{\infer[\mbox{(Weak)}]{\Gamma, x:B\vdash t: A }
629
 {\Gamma \vdash t:A}}
630
 
631
\\[1ex]
632
&\\
633
{\infer[\mbox{($!$ i)}]{x_1:! B_1, \dots, x_n:! B_n  \vdash t: ! A }
634
 {   x_1:B_1, \dots, x_n:B_n \vdash t:A}}
635
  &
636
{\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2  \vdash t[u \slash x] :B }
637
  {\Gamma_1  \vdash u: ! A  & \Gamma_2, x:! A \vdash t:B}}
638
\\[1ex]
639
%{\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma  \vdash  t:\forall \alpha. A}}{{ \Gamma  \vdash t:A}}}
640
% &
641
% {\infer[\mbox{($\forall$ e)}]{\Gamma  \vdash t:A[B \slash \al] }
642
%{\Gamma \vdash t:\forall \al. A}} 
643
 \end{tabular}
644
%}
645
\end{center}
646
\end{frame}
647

    
648
%----------
649
\begin{frame} \frametitle{Forgetful map from ELL to  F}
650

    
651

    
652
Consider $\eras{(.)}: ELL  \rightarrow F$ defined by:
653
$$\eras{(\bs A)}= \eras{A},\ \ \ 
654
\eras{(A\fm B)}=\eras{A} \rightarrow \eras{B}, \quad \eras{(\forall \al. A)}= \forall \al. \eras{A}, \quad \eras{\al}=\al.$$
655

    
656
\begin{prop}
657
 If $\Gamma \vdash_{ELL} t:A$ then $t$ is typable in F with type $\eras{A}$. 
658
 \end{prop}
659

    
660
\medskip
661

    
662
If $\eras{A}=T$, say  $A$ is a {\emph decoration} of  $T$  in ELL.
663
\end{frame} 
664

    
665

    
666

    
667
%----------
668
\begin{frame} \frametitle{Data types in ELL}
669

    
670
\begin{itemize}
671
\item
672
 Church unary integers
673
\end{itemize}
674
%\begin{center}
675
%{\tiny
676
%\hspace{-4mm}
677
\begin{tabular}{ccc}
678
 system F: &  & ELL: \\
679
$N^F$ &\qquad  & $N^{ELL}$ \\
680
$\forall \al.  (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$
681
& & $\forall \al.  \bs (\al \fm \al) \fm \bs (\al \fm \al)$
682
\end{tabular}
683

    
684
%\begin{tabular}{ccc}
685
% system F: &  & ELL: \\
686
%$N^F$ &\qquad \qquad \qquad \qquad & $N^{ELL}$ \\
687
%$\forall \al.  (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$
688
%& & $\forall \al.  \bs (\al \fm \al) \fm \bs (\al \fm \al)$
689
%\end{tabular}
690
%}
691
%\end{center}
692
\smallskip
693

    
694
{\tiny Example: integer $2$, in F:
695

    
696
$$ \un{2}=\lambda f^{\blue (\al \rightarrow \al)}. \lambda x^{\blue \al}. (f\;(f\; x))~.$$
697
}
698
\begin{itemize}
699
\item
700
 Church binary words
701
\end{itemize}
702
%{\tiny
703
\begin{tabular}{cc}
704
 system F: & ELL: \\
705
$W^F$ & $W^{ELL}$\\
706
{\tiny $\forall \al.  (\al \rightarrow \al) \rightarrow (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$}
707
& 
708
{\tiny $\forall \al.  \bs (\al \fm \al) \fm \bs (\al \fm \al) \fm \bs(\al \fm \al)$}
709
\end{tabular}
710
%}
711
\smallskip
712

    
713
{\tiny
714
Example: $w=\langle 1, 0, 0 \rangle$, in  F:
715

    
716
$$ \un{w}=\lambda s_0^{\blue (\al \rightarrow \al)}. \lambda s_1^{\blue (\al \rightarrow \al)}.
717
\lambda x^{\blue \al}. (s_1\;(s_0\; (s_0\; x)))~.$$
718
}
719
\end{frame} 
720

    
721
%----------
722

    
723
\begin{frame} \frametitle{Representation of functions}
724

    
725
\begin{itemize}
726
\item  a term $t$ of type $!^k N \fm !^l N$, for some $k$, $l$,  represents a function over unary integers
727
\item some examples of terms
728
$$\begin{array}{lll}
729
\mbox{addition}&&\\
730
add &=& \la n m f x. (n\; f) \; (m \; f \; x) \; \\
731

    
732
   &:~ &N\fm N \fm N\\
733
&&\\
734
\mbox{multiplication}&&\\
735
%mult &=& \la n m f . (n\; (m\; f))  \\
736
mult &=& \la n m f . (n\; (m\; f))  \\
737

    
738
   &:~ &N\fm N \fm N\\
739

    
740
\mbox{squaring}&&\\
741
square &=& \la n f . (n\; (n\; f))  \\
742

    
743
   &:~ &\bs N \fm \bs N\\
744
\end{array}
745
$$ 
746
\end{itemize}
747

    
748
%$$\begin{array}{cclcc}
749
% N & =& \forall \al.  (\al \fm \al) \fli \pa (\al \fm \al)&&\\
750
%&&&&\\
751
%add &=& \la n. \la m .\la f .\la x . (n \; f \;(m \; f \; x))&:~ &N\fm N \fm N\\
752
%&&&&\\
753
%mult&=& \la n. \la m. (m \; \la k.\la f.\la x. (n \; f\; (k\; f\; x))) \; \underline{0}&:& ~N \fli N \fm \pa N\\
754
%mult&=& \la n. \la m. (m \; (add \; n) ) \; \underline{0}&:& ~N \fli N \fm \pa N\\
755
%&&&&\\
756
%square&& &:&N \fm \pa^{4}N
757
%\end{array}
758
%$$
759
\end{frame} 
760

    
761
%----------
762

    
763
\begin{frame} \frametitle{Iteration in ELL}
764

    
765
 recall the iterator $\ite$:
766
$$ \ite= \la f {\red x} {\blue n}. \; (n \; f \; x) \; : \bs (A \fm A) \fm  {\red \bs A} \fm {\blue N} \fm \bs A$$
767
with $(\ite  \; t \; u \; \un{n}) \rightarrow (t\; (t \; \dots (t\; u)\dots))$  \quad ($n$ times)
768

    
769
\smallskip
770

    
771
\textbf{examples:}
772

    
773
$double: N \fm N$
774

    
775
$exp=  (\ite \; double \; \un{1}) : N \fm \bs N$
776

    
777
remark: $exp$ cannot be iterated; $tower= (\ite \exp \; \un{1})$ non ELL typable.
778

    
779
%$(add \underline{2}): N \fm N$
780
%
781
%$double'= \la n. (\ite  \; (add \underline{2}) \; \un{0}) \; n\; : N \fm \pa N$
782
%
783
%but $double'$ cannot be iterated.
784
%
785
%\medskip
786

    
787
\end{frame} 
788

    
789

    
790
%----------
791
\begin{frame} \frametitle{From derivations to proof-nets }
792

    
793
\begin{figure} %[ht]
794
%\begin{center}
795
\includegraphics[angle=90,width=9cm]{SCANS/ELLtranslation.jpg}
796
%\end{center}
797
\end{figure}
798
\end{frame} 
799

    
800
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
801

    
802
\begin{frame} \frametitle{Elementary linear logic rules, again}
803

    
804
%{\tiny
805
\vspace{-5mm}
806

    
807
\begin{center}
808
\begin{tabular}{ll}
809
  {\infer[\mbox{(Id)}]{ x:A \vdash x:A}{}} & \\[1ex]
810
 &\\
811
 {\infer[\mbox{($\fm$ i)}]{\Gamma  \vdash \la x. t: A \fm B }
812
 {\Gamma, x:A \vdash t:B}}
813

    
814
  &
815
 {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2 \vdash (t\; u) :B }
816
  {\Gamma_1 \vdash t:A \fm B & \Gamma_2 \vdash u:A}}
817
\\[1ex]
818
&\\
819
{\infer[\mbox{(Cntr)}]{x:!A, \Gamma \vdash t[x \slash x_1, x \slash x_2] :B }{x_1:!A,x_2:!A, \Gamma \vdash t:B }}
820
&
821
{\infer[\mbox{(Weak)}]{\Gamma, x:B\vdash t: A }
822
 {\Gamma \vdash t:A}}
823
 
824
\\[1ex]
825
&\\
826
{\infer[\mbox{($!$ i)}]{x_1:! B_1, \dots, x_n:! B_n  \vdash t: ! A }
827
 {   x_1:B_1, \dots, x_n:B_n \vdash t:A}}
828
  &
829
{\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2  \vdash t[u \slash x] :B }
830
  {\Gamma_1  \vdash u: ! A  & \Gamma_2, x:! A \vdash t:B}}
831
\\[1ex]
832
%{\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma  \vdash  t:\forall \alpha. A}}{{ \Gamma  \vdash t:A}}}
833
% &
834
% {\infer[\mbox{($\forall$ e)}]{\Gamma  \vdash t:A[B \slash \al] }
835
%{\Gamma \vdash t:\forall \al. A}} 
836
 \end{tabular}
837
%}
838
\end{center}
839
\end{frame}
840

    
841

    
842

    
843
%----------
844
\begin{frame} \frametitle{ELL Proof-Nets }
845

    
846
\vspace{-8mm}
847
\begin{figure} %[ht]
848
%\begin{center}
849
\includegraphics[angle=90,width=10.8cm]{SCANS/ELLproofnets6.jpg}
850

    
851

    
852
%\end{center}
853
%\caption{Lambda terms and Light proof-nets.}\label{schema1}
854

    
855
\end{figure}
856

    
857

    
858
\textit{depth} of an edge: number of boxes it is contained in.
859

    
860
%\vspace{-1mm}
861

    
862
\textit{depth} of proof-net: maximal depth of its edges.
863
\end{frame} 
864

    
865
%%%%%%%%%
866
\begin{frame} \frametitle{ELL proof-net : example  }
867

    
868
%\vspace{-5mm}
869
Church integer $\un{3}$:
870

    
871
\vspace{-4mm}
872

    
873
\begin{figure} %[ht]
874
%\begin{center}
875
\includegraphics[angle=90,width=5cm]{SCANS/examplePNthree.jpg}
876
%\end{center}
877
\end{figure}
878

    
879
\end{frame} 
880

    
881

    
882

    
883
%%%%%%%%%
884
\begin{frame} \frametitle{ELL proof-net reduction  }
885

    
886
\vspace{-6mm}
887
\begin{figure} %[ht]
888
%\begin{center}
889
\includegraphics[angle=90,width=10cm]{SCANS/ELLreduction.jpg}
890
%\end{center}
891
\end{figure}
892

    
893
\end{frame} 
894

    
895
%----------
896
\begin{frame} \frametitle{Methodology}
897

    
898
\begin{itemize}
899
\item write programs with ELL typed $\lambda$-terms
900
\item evaluate them by: 
901

    
902
compiling them into proof-nets, and then performing proof-net reduction
903
\item beware:
904
 \begin{itemize}
905
 \item proof-net reduction does not exactly match $\beta$-reduction
906
 \item ELL does not satisfy subject reduction
907
 \end{itemize}
908
 but that's all right for our present goal \dots
909
 
910
 More about that in tomorrow's talk, without proof-nets.
911
\end{itemize}
912

    
913
\end{frame}
914

    
915

    
916
%%%%%%%%%
917
\begin{frame} \frametitle{ELL proof-net reduction  properties}
918

    
919
\begin{itemize}
920
 \item We have
921
  \begin{prop}[Stratification]
922
 The depth of an edge does not change during reduction.
923
\end{prop}
924

    
925
Consequence: the depth $d$ of a proof-net does not increase during reduction.
926
\item \textbf{Level-by-level reduction strategy}:
927

    
928
$R$ proof-net of depth $d$
929

    
930
perform reduction successively at depth 0, 1 \dots,  $d$.
931

    
932
\end{itemize}
933
\end{frame}
934

    
935
%%%%%%%%%
936
\begin{frame} \frametitle{Level-by-level reduction of ELL proof-nets}
937

    
938

    
939
\begin{itemize}
940
\item let $R$ be an ELL proof-net of depth $d$
941

    
942
$|R|_i$ = size at depth $i$
943

    
944
$|R|$ = total size
945

    
946
round $i$: reduction at depth $i$
947

    
948
there are $d+1$ rounds for the reduction of $R$
949

    
950
\item \textbf{what happens during round $i$?}
951
\begin{itemize}
952
 \item $|R|_i$  decreases at each step
953
  
954
  thus there are at most  $|R|_i$ steps  \quad {\blue (size bounds time)}
955
 \item but  $|R|_{i+1}$ can increase at each step, in fact it can double 
956
 \item hence  round $i$ can cause an exponential size increase
957
 \end{itemize}
958
\item on the whole we have a $2_d^{|R|}$ size increase
959
\item this yields a  $O(2_d^{|R|})$ bound on the number of steps
960
\end{itemize}
961
\end{frame}
962

    
963
%%%%%%%%%
964
\begin{frame} \frametitle{ELL complexity results}
965

    
966
%\begin{itemize}
967
 %\item We get
968
  \begin{theorem}[Proof-net complexity]
969
  If $R$ is an ELL proof-net of depth $d$, then it can be reduced to its normal form in 
970
  $O(2_d^{|R|})$ steps.
971

    
972
\end{theorem}
973

    
974
\medskip
975

    
976
  \begin{theorem}[Representable functions]
977
  The functions representable by a term of type $N \fm !^k N$, where $k\geq 0$ , are exactly the elementary time functions.
978

    
979
\end{theorem}
980

    
981
%\end{itemize}
982
\end{frame}
983

    
984
%%%%%%%%%
985
\begin{frame} \frametitle{Proof of the representability theorem}
986

    
987
\begin{itemize}
988
 \item $\subseteq$ (soundness):
989
 
990
 if $t: N \fm !^k N$ for some $k$, then $t$ represents an elementary function $f$.
991
 
992
 \smallskip
993
 
994
 \textbf{proof}: compute $(t \underline{n})$ by proof-net reduction.
995
 
996
 \item $\supseteq$ (completeness):
997
 
998
  if $f: \mathbb{N} \rightarrow \mathbb{N}$ is an elementary function, then there exists $k$ and $t: N \fm !^k N$ such that $t$ represents $f$.
999
 
1000
 \smallskip
1001
 
1002
   \textbf{proof}: simulation of $O(2_i^n)$-time bounded Turing machine, for any $i$.
1003

    
1004
\end{itemize}
1005
\end{frame}
1006
%%%%%%%%%
1007

    
1008
\section{Light linear logic}
1009

    
1010
\begin{frame} \frametitle{Taming the exponential blow-up?}
1011
%\begin{frame} \frametitle{Motivation: exponential blow-up}
1012

    
1013
\vspace{-4mm}
1014
\begin{figure} %[ht]
1015
%\begin{center}
1016
\includegraphics[width=2.7cm]{SCANS/example_exponent.jpg}
1017
%\end{center}
1018
\end{figure}
1019

    
1020
\end{frame} 
1021

    
1022

    
1023
%-----------
1024
\begin{frame} \frametitle{Light linear logic (LLL)  \qquad [Girard95]}
1025

    
1026
\begin{itemize}
1027
\item Language of formulas:
1028
$$ A, B := \alpha \;|\; A \multimap B  \;|\; \forall \alpha. A  \;|\;  !A \;|\; {\red \pa A}$$
1029

    
1030
intuition: $\pa$ a new modality for non-duplicable boxes
1031
\item  The   following principles are still \textbf{not} provable
1032
 $$ !A \multimap A, \quad  !A \multimap !!A$$
1033
\end{itemize}
1034
\end{frame}
1035

    
1036
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1037

    
1038
\begin{frame} \frametitle{Light linear logic rules}
1039

    
1040
\begin{itemize}
1041
\item rules (Id), ($\fm$ i), ($\fm$ e), (Cntr), (Weak): as in ELL.
1042
 \item new rules ($!$ i), ($!$ e), ($\pa$ i), ($\pa$ e):
1043

    
1044
\bigskip
1045
 
1046
\begin{center}
1047
\begin{tabular}{ll}
1048
%  {\infer[\mbox{(Id)}]{ x:A \vdash x:A}{}} & \\[1ex]
1049
% &\\
1050
% {\infer[\mbox{($\fm$ i)}]{\Gamma  \vdash \la x. t: A \fm B }
1051
% {\Gamma, x:A \vdash t:B}}
1052
%
1053
%  &
1054
% {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2 \vdash (t\; u) :B }
1055
%  {\Gamma_1 \vdash t:A \fm B & \Gamma_2 \vdash u:A}}
1056
%\\[1ex]
1057
%&\\
1058
%{\infer[\mbox{(Cntr)}]{x:A, \Gamma \vdash t[x \slash x_1, x \slash x_2] :B }{x_1:!A,x_2:!A, \Gamma \vdash t:B }}
1059
%&
1060
%{\infer[\mbox{(Weak)}]{\Gamma, x:B\vdash t: A }
1061
% {\Gamma \vdash t:A}}
1062
% 
1063
%\\[1ex]
1064
%&\\
1065
{\infer[\mbox{($!$ i)}]{x:! B  \vdash t: ! A }
1066
 {   x :B \vdash t:A}}
1067
  &
1068
{\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2  \vdash t[u \slash x] :B }
1069
  {\Gamma_1  \vdash u: ! A  & \Gamma_2, x:! A \vdash t:B}}
1070
\\[1ex]
1071
&\\
1072

    
1073
{\infer[\mbox{($\pa$ i)}]{! \Gamma, \pa \Delta  \vdash t: \pa  A }
1074
 {   \Gamma, \Delta  \vdash t:A}}
1075
  &
1076
{\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2  \vdash t[u \slash x] :B }
1077
  {\Gamma_1  \vdash u: \pa A  & \Gamma_2, x: \pa  A \vdash t:B}}
1078

    
1079
%{\infer[\mbox{($\pa$ i)}]{x_1:! B_1, \dots, x_i: \pa B_i , \dots,  x_n:\pa  B_n  \vdash t: \pa  A }
1080
% {   x_1:B_1, \dots, x_i: B_i, \dots , x_n:B_n \vdash t:A}}
1081
%  &
1082
%{\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2  \vdash t[u \slash x] :B }
1083
%  {\Gamma_1  \vdash u: \pa A  & \Gamma_2, x: \pa  A \vdash t:B}}
1084
%\\[1ex]
1085

    
1086
%{\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma  \vdash  t:\forall \alpha. A}}{{ \Gamma  \vdash t:A}}}
1087
% &
1088
% {\infer[\mbox{($\forall$ e)}]{\Gamma  \vdash t:A[B \slash \al] }
1089
%{\Gamma \vdash t:\forall \al. A}} 
1090
 \end{tabular}
1091
%}
1092
\end{center}
1093

    
1094
\bigskip
1095
 where if $\Gamma= x_1:B_1, \dots, x_k:B_k$, 
1096

    
1097
$\dagger \Gamma= x_1: \dagger B_1, \dots, x_k: :\dagger B_k$, for $\dagger= !, \pa$.
1098
\end{itemize}
1099

    
1100
\end{frame}
1101

    
1102
%----------
1103
\begin{frame} \frametitle{Forgetful map from LLL to  ELL}
1104

    
1105

    
1106
Consider $\lte{(.)}: LLL  \rightarrow ELL$ defined by:
1107
$$\lte{(\pa A)}= ! \lte{A},   \quad \lte{(! A)}= ! \lte{A}$$
1108
and other connectives unchanged.
1109
%\eras{(A\fm B)}=\eras{A} \rightarrow \eras{B}, \quad \eras{(\forall \al. A)}= \forall \al. \eras{A}, \quad \eras{\al}=\al.$$
1110

    
1111
\begin{prop}
1112
 If $\Gamma \vdash_{LLL} t:A$ then  $\lte{\Gamma} \vdash_{ELL} t:\lte{A}$.  
1113
 \end{prop}
1114

    
1115
\end{frame} 
1116

    
1117

    
1118

    
1119
%----------
1120
\begin{frame} \frametitle{Data types in LLL}
1121

    
1122
\begin{itemize}
1123
\item
1124
 Church unary integers
1125
\end{itemize}
1126
%\begin{center}
1127
%{\tiny
1128
%\hspace{-4mm}
1129
\begin{tabular}{ccc}
1130
 system F: &  & LLL: \\
1131
$N^F$ &\qquad  & $N^{LLL}$ \\
1132
$\forall \al.  (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$
1133
& & $\forall \al.  \bs (\al \fm \al) \fm {\red \pa}  (\al \fm \al)$
1134
\end{tabular}
1135

    
1136
%\begin{tabular}{ccc}
1137
% system F: &  & ELL: \\
1138
%$N^F$ &\qquad \qquad \qquad \qquad & $N^{ELL}$ \\
1139
%$\forall \al.  (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$
1140
%& & $\forall \al.  \bs (\al \fm \al) \fm \bs (\al \fm \al)$
1141
%\end{tabular}
1142
%}
1143
%\end{center}
1144
\smallskip
1145

    
1146
{\tiny Example: integer $2$, in F:
1147

    
1148
$$ \un{2}=\lambda f^{\blue (\al \rightarrow \al)}. \lambda x^{\blue \al}. (f\;(f\; x))~.$$
1149
}
1150
\begin{itemize}
1151
\item
1152
 Church binary words
1153
\end{itemize}
1154
%{\tiny
1155
\begin{tabular}{cc}
1156
 system F: & LLL: \\
1157
$W^F$ & $W^{LLL}$\\
1158
{\tiny $\forall \al.  (\al \rightarrow \al) \rightarrow (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$}
1159
& 
1160
{\tiny $\forall \al.  \bs (\al \fm \al) \fm \bs (\al \fm \al) \fm {\red \pa} (\al \fm \al)$}
1161
\end{tabular}
1162
%}
1163
\smallskip
1164

    
1165
{\tiny
1166
Example: $w=\langle 1, 0, 0 \rangle$, in  F:
1167

    
1168
$$ \un{w}=\lambda s_0^{\blue (\al \rightarrow \al)}. \lambda s_1^{\blue (\al \rightarrow \al)}.
1169
\lambda x^{\blue \al}. (s_1\;(s_0\; (s_0\; x)))~.$$
1170
}
1171
\end{frame} 
1172

    
1173
%----------
1174

    
1175
\begin{frame} \frametitle{Representation of functions}
1176

    
1177
\begin{itemize}
1178
\item  a term $t$ of type $!^k N \fm \pa^l N$, for some $k$, $l$,  represents a function over unary integers
1179

    
1180
 $!^k W \fm \pa^l W$: function over binary words.
1181
 
1182
\item some examples of terms
1183
$$\begin{array}{lll}
1184
\mbox{addition}&&\\
1185
add &=& \la n m f x. (n\; f) \; (m \; f \; x) \; \\
1186

    
1187
   &:~ &N\fm N \fm N\\
1188
&&\\
1189
\mbox{double}&&\\
1190
double &=& \la n  f x. (n\; f) \; (n \; f \; x) \; \\
1191

    
1192
   &:~ &! N \fm \pa N\\
1193
   \mbox{concatenation}&&\\
1194
%conc &=& \la u^{W}. \la v^{W} .\La \al. \la o. \la z. \la x . (u \; o \; z \;(v \; o\; z \; x))\\
1195
%conc &=& \la u^{W}. \la v^{W} . \la o. \la z. \la x . ((u) \; o \; z) \;(v) \; o\; z \; x\\
1196
%   &:~ &W\fl W \fl W\\
1197
   conc &:~ &W\fm W \fm W\\
1198
  \end{array}
1199
   $$
1200
%\mbox{multiplication}&&\\
1201
%%mult &=& \la n m f . (n\; (m\; f))  \\
1202
%mult' &=& \la n m f . (n\; (m\; f))  \\
1203
%
1204
%   &:~ &N\fm N \fm N\\
1205
%
1206
%\mbox{squaring}&&\\
1207
%square &=& \la n f . (n\; (n\; f))  \\
1208
%
1209
%   &:~ &\bs N \fm \bs N\\
1210
%\end{array}
1211
%$$ 
1212
\end{itemize}
1213

    
1214
\end{frame} 
1215

    
1216
%----------
1217

    
1218
\begin{frame} \frametitle{Iteration in LLL}
1219

    
1220
 we can type the iterator $\ite$:
1221
$$ \ite= \la f {x} {n}. \; (n \; f \; x) \; : \bs (A \fm A) \fm  {\red \bs A} \fm {N} \fm {\red \pa A}$$
1222
%with $(\ite _A \; F \; t) \; \un{n} \rightarrow (F\; (F \; \dots (F\; t)\dots))$  \quad ($n$ times)
1223

    
1224
\textbf{examples:}
1225

    
1226
$(add \underline{3}): N \fm N$ can be iterated
1227

    
1228
\smallskip
1229

    
1230
$double: !N \fm \pa N$ cannot be iterated
1231

    
1232
\smallskip
1233

    
1234
thus some exponentially growing terms are not typable
1235
%$double'= \la n. (\ite  \; (add \underline{2}) \; \un{0}) \; n\; : N \fm \pa N$
1236
%
1237
%but $double'$ cannot be iterated.
1238

    
1239

    
1240
 \end{frame} 
1241

    
1242
%%%%%%%%%
1243
\begin{frame} \frametitle{LLL proof-nets}
1244

    
1245
\vspace{-3mm}
1246
\begin{figure} %[ht]
1247
%\begin{center}
1248
\includegraphics[angle=90,width=6.3cm]{SCANS/LLLboxes.jpg}
1249
%\end{center}
1250
\end{figure}
1251

    
1252
\end{frame} 
1253

    
1254
%%%%%%%%%
1255
\begin{frame} \frametitle{LLL proof-net reduction}
1256

    
1257
\vspace{-4mm}
1258

    
1259
\begin{figure} %[ht]
1260
%\begin{center}
1261
\includegraphics[angle=90,width=6cm]{SCANS/LLLreduction.jpg}
1262
%\end{center}
1263
\end{figure}
1264

    
1265
\end{frame} 
1266

    
1267
%%%%%%%%%
1268
\begin{frame} \frametitle{Level-by-level reduction of LLL proof-nets}
1269

    
1270

    
1271
\begin{itemize}
1272
\item as in ELL we use a level-by-level strategy
1273
\item let $R$ be an LLL proof-net of depth $d$
1274

    
1275
round $i$: reduction at depth $i$
1276

    
1277
there are $d+1$ rounds for the reduction of $R$
1278

    
1279
\item \textbf{what happens during round $i$?}
1280
\begin{itemize}
1281
 \item $|R|_i$  decreases at each step
1282
  
1283
  thus there are at most  $|R|_i$ steps  \quad {\blue (size bounds time)}
1284
 \item yet $|R|_{i+1}$ can increase:
1285
 
1286
 during round $i$ we can have a quadratic increase:
1287
 
1288
 $$|R'|_{i+1} \leq |R|_{i+1}^2$$
1289
 \end{itemize}
1290
\item this repeats $d$ times, so on the whole we have a $|R|^{2^d}$ size increase
1291
\item this yields a  $O(|R|^{2^d})$ bound on the number of steps
1292
\end{itemize}
1293
\end{frame}
1294

    
1295
%%%%%%%%%
1296
\begin{frame} \frametitle{LLL complexity results}
1297

    
1298
%\begin{itemize}
1299
 %\item We get
1300
  \begin{theorem}[Proof-net complexity]
1301
  If $R$ is an LLL proof-net of depth $d$, then it can be reduced to its normal form in 
1302
  $O(|R|^{2^d})$ steps.
1303

    
1304
\end{theorem}
1305

    
1306
Thus at fixed depth $d$ we have a polynomial bound.
1307
\medskip
1308

    
1309
  \begin{theorem}[Representable functions]
1310
  The functions representable by a term of type $W \fm \pa^k W$, for $k\geq 0$, are exactly the functions of FP (polynomial time functions).
1311
\end{theorem}
1312

    
1313
%\end{itemize}
1314
\end{frame}
1315

    
1316
%%%%%%%%%
1317
\begin{frame} \frametitle{Further comments about LLL}
1318

    
1319
\begin{itemize}
1320
\item \textbf{LLL and $\lambda$-calculus}: 
1321

    
1322
 a proper type system for $\lambda$-calculus can be designed out of LLL, which ensures a strong polynomial time bound on $\beta$-reduction (and not only on proof-net reduction)
1323
\item \textbf{about expressivity}:
1324

    
1325
the completeness result is an extensional one
1326

    
1327
but the intensional expressivity of LLL is quite limited
1328

    
1329
\smallskip
1330

    
1331
indeed:  rich features (higher-order, polymorphism) but "pessimistic" account of iteration \dots
1332
\end{itemize}
1333
\end{frame}
1334

    
1335
\section{Other linear logic variants}
1336

    
1337
%%%%%%%%%
1338
\begin{frame} \frametitle{A glimpse of a linear logics zoo}
1339

    
1340
\begin{itemize}
1341
\item for P
1342
\begin{itemize}
1343
  \item soft linear logic:   {\tiny  [Lafont04]}
1344
  
1345
     a simple system, but with more constrained programming
1346
     
1347
     \item bounded linear logic: {\tiny [GSS92]}
1348
     
1349
     $!_{P(\vec{x})} A$ : more explicit, but more flexible
1350
\end{itemize}
1351
\item for EXPTIME and $k$-EXPTIME
1352
\begin{itemize}
1353
  \item ELL again: see tomorrow's talk
1354
\end{itemize}
1355
\item for PSPACE
1356
   \begin{itemize}
1357
  \item  $STA_B$ {\tiny [GMRdR08]} : extends soft linear logic with a craftly typed conditional
1358
  \end{itemize}
1359
\item for LOGSPACE
1360
 \begin{itemize}
1361
  \item $IntML$ {\tiny[DLS10]}: evaluation by computation by interaction
1362
  \end{itemize}
1363
\end{itemize}
1364
\end{frame}
1365

    
1366
%\section{Conclusion}
1367
%%%%%%%%%%%%%%%%
1368
\begin{frame}{Conclusions and perspectives}
1369
\begin{itemize}
1370
\item while ramified recursion is based on a stratification of data,
1371

    
1372
ELL / LLL are based on a stratification of programs
1373
\item they yield type systems for $\lambda$-calculus
1374
\item w.r.t. other ICC approaches:
1375
\begin{itemize}
1376
   \item handle higher-order computation
1377
   \item but limited intensional expressivity
1378
\end{itemize}
1379
relations with other ICC systems are still to explore
1380
%\item still to explore: how they relate to other more expressive ICC approaches (interpretations, NSI types)
1381
\item light logics are languages for higher-order computation, but we only characterize first-order complexity classes \dots
1382

    
1383
 what about   higher-order complexity?
1384
\end{itemize}
1385
\end{frame}
1386

    
1387
\end{document}
1388

    
1389
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1390
%%%%%%%%%%%%%%%%% GARBAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1391
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1392

    
1393

    
1394
%-----------
1395
\begin{frame} \frametitle{Light linear logic, LLL (Girard 98)}
1396

    
1397
%\vspace{-8mm}
1398

    
1399
$$
1400
\begin{array}{ccc}
1401
 \bs A \fm \bs A \otimes \bs A \qquad & \infer{ \bs A\vdash  \bs B}{A \vdash B} \qquad           & \\
1402
 & \bs A \otimes \bs B \fm \pa (A \otimes B) & 
1403
\end{array}
1404
$$
1405

    
1406
\begin{tabular}{ll}
1407
new modality $\pa$, with: & $\bs A \fm \pa A$\\
1408
$\pa$ is a functor and &$\pa A \otimes \pa B \fm \pa(A\otimes B)$
1409
\end{tabular}
1410

    
1411
$\longrightarrow$ manages to avoid both exponentiation schemes
1412

    
1413
\smallskip
1414

    
1415
 Light affine logic (LAL) is the variant with full weakening.
1416
\end{frame}
1417

    
1418
%%%%%%%%%%%
1419
\begin{frame} \frametitle{Light linear logic: properties}
1420
Proofs can be represented as \textit{proof-nets} (graphs). Normalization of proof-nets
1421
corresponds to program execution.
1422
\smallskip
1423

    
1424
\begin{theo}[Girard] %[Girard 95]
1425
Light linear logic \textit{proof-nets} admit a polynomial time normalization (at fixed \textit{depth}). 
1426
\end{theo}
1427

    
1428
%\smallskip
1429

    
1430
\begin{theo}[Completeness. Girard/Asperti-Roversi]
1431
%All polynomial time functions on binary lists
1432
  All polynomial time functions $f: \{0,1\}^{\star} \rightarrow  \{0,1\}^{\star}$
1433
can be represented in Light Linear Logic (resp. Light \textit{Affine} Logic).
1434
\end{theo}
1435

    
1436
\end{frame} 
1437

    
1438
%-----------
1439
\begin{frame} \frametitle{ Light linear logic and typing}
1440

    
1441
%\vspace{-3mm}
1442

    
1443
Can we use LLL or LAL directly as type systems for lambda calculus~?
1444
\smallskip 
1445
There are two pitfalls:
1446
\begin{itemize}
1447
\item they do not give subject-reduction,
1448
\item no polynomial bound on the number of $\beta$-reduction steps for typed terms (even if there is one on proof-net normalization).
1449
\end{itemize}
1450
\end{frame} 
1451

    
1452
%-----------
1453
\begin{frame} \frametitle{Type system DLAL}
1454

    
1455
%\vspace{-3mm}
1456
%
1457
%Can we use LLL or LAL directly as type systems for lambda calculus~?
1458
% There are two pitfalls:
1459
%\begin{itemize}
1460
%\item they do not give subject-reduction,
1461
%\item no polynomial bound on the number of $\beta$-reduction steps for typed terms (even if there is one on proof-net normalization).
1462
%\end{itemize}
1463

    
1464
%\medskip
1465
%$\rightarrow$ To overcome these problems:
1466

    
1467
To overcome the problems with typing in LAL:
1468

    
1469
we can restrict in Light affine logic the use of $\bs$ to $\bs A \fm B$, denoted $A \fli B$
1470

    
1471
the DLAL (\textit{Dual Light Affine Logic}) type system [Baillot-Terui04]:
1472
$$ A, B ::= \alpha \; |\; A \fm B \; |\; A \fli B \; |\; \pa A \; |\; \forall \alpha. A$$
1473

    
1474
\vspace{-4mm}
1475
typing judgements of the form: $ {\blue \Gamma} ; {\red \Delta} \vdash t: A$, 
1476
where
1477
 
1478
\begin{tabular}{l}
1479
$ {\blue \Gamma}$ contains duplicable variables,\\
1480
${\red \Delta}$ contains linear variables.
1481
\end{tabular}
1482
\end{frame} 
1483

    
1484
%----------
1485
%
1486
%%\overlays{8}{
1487
%\begin{frame} \frametitle{DLAL typing rules}
1488
%%\DefaultTransition{Dissolve}
1489
%{\tiny
1490
%%\onlySlide*{1}{
1491
%% \begin{center}
1492
%%\hspace{-12mm}
1493
%%\fbox{
1494
%\begin{tabular}{l@{\hspace{-2mm}}l}
1495
%  {\infer[\mbox{(Id)}]{; x:A \vdash x:A}{}} & \\
1496
%% &\\
1497
% 
1498
%\untilSlide*{2}{
1499
%{\infer[\mbox{($\fm$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fm B }
1500
% {\Gamma_1; \Delta_1, x:A \vdash t:B}}
1501
%}
1502
%\onlySlide*{3}{
1503
%{\red \infer[\mbox{($\fm$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fm B }
1504
% {\Gamma_1{\blue ;} \Delta_1, x:A \vdash t:B}}
1505
%}
1506
%\fromSlide*{4}{
1507
%{\infer[\mbox{($\fm$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fm B }
1508
% {\Gamma_1; \Delta_1, x:A \vdash t:B}}
1509
%}
1510
%  &
1511
% {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash (t\; u) :B }
1512
%  {\Gamma_1; \Delta_1 \vdash t:A \fm B & \Gamma_2; \Delta_2 \vdash u:A}}
1513
%\\[1ex]
1514
%
1515
%\untilSlide*{2}{
1516
%{\infer[\mbox{($\fli$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fli B }
1517
% {\Gamma_1, x:A ; \Delta_1\vdash t:B}}
1518
%}
1519
%\onlySlide*{3}{\red
1520
%{\infer[\mbox{($\fli$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fli B }
1521
% {\Gamma_1, x:A {\blue ;} \Delta_1\vdash t:B}}
1522
%}
1523
%\fromSlide*{4}{
1524
%{\infer[\mbox{($\fli$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fli B }
1525
% {\Gamma_1, x:A ; \Delta_1\vdash t:B}}
1526
%}
1527
%  & 
1528
%\untilSlide*{3}{
1529
%{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B }
1530
%  {\Gamma_1; \Delta_1 \vdash t:A \fli B & ; z:C \vdash u:A}}
1531
%}
1532
%\onlySlide*{4}{\red
1533
%{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C  ; \Delta_1 \vdash (t\; u) :B }
1534
%  {\Gamma_1; \Delta_1 \vdash t:A \fli B & {\blue ; z:C \vdash u:A }}}
1535
%}
1536
%\onlySlide*{5}{
1537
%{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B }
1538
%  {\Gamma_1; \Delta_1 \vdash t:A \fli B & ; z:C \vdash u:A}}
1539
%}
1540
%\onlySlide*{6}{
1541
%{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B }
1542
%  {\Gamma_1; \Delta_1 \vdash t:A \fli B & ; z:C \vdash u:A}}
1543
%}
1544
%\fromSlide*{7}{
1545
%{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B }
1546
%  {\Gamma_1; \Delta_1 \vdash t:A \fli B & {\blue ; z:C \vdash u:A}}}
1547
%}
1548
%
1549
%\\[1ex]
1550
%{\infer[\mbox{(Weak)}]{\Gamma_1, \Gamma_2; \Delta_1, \Delta_2 \vdash t: A }
1551
% {\Gamma_1; \Delta_1 \vdash t:A}}
1552
%  &
1553
%\onlySlide*{1}{
1554
%{\infer[\mbox{(Cntr)}]{x:A, \Gamma_1; \Delta_1 \vdash t[x \slash x_1, x \slash x_2] :B }{x_1:A,x_2:A, \Gamma_1; \Delta_1 \vdash t:B }}
1555
%} 
1556
%\onlySlide*{2}{\red
1557
%{\infer[\mbox{(Cntr)}]{x:A, \Gamma_1{\blue ;} \Delta_1 \vdash t[x \slash x_1, x \slash x_2] :B }{x_1:A,x_2:A, \Gamma_1{\blue ;} \Delta_1 \vdash t:B }} 
1558
%}
1559
%\fromSlide*{3}{
1560
%{\infer[\mbox{(Cntr)}]{x:A, \Gamma_1; \Delta_1 \vdash t[x \slash x_1, x \slash x_2] :B }{x_1:A,x_2:A, \Gamma_1; \Delta_1 \vdash t:B }} 
1561
%}
1562
%\\[1ex]
1563
%
1564
%\untilSlide*{4}{
1565
%{\infer[\mbox{($\pa$ i)}]{\Gamma ; x_1:\pa B_1, \dots, x_n:\pa B_n  \vdash t: \pa A }
1566
% {  ; \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}}
1567
%}
1568
%\onlySlide*{5}{\red
1569
%{\infer[\mbox{($\pa$ i)}]{\Gamma {\blue ;} x_1:\pa B_1, \dots, x_n:\pa B_n  \vdash t: \pa A }
1570
% { {\blue ;} \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}}
1571
%}
1572
%\onlySlide*{6}{
1573
%{\infer[\mbox{($\pa$ i)}]{\Gamma  ; x_1:\pa B_1, \dots, x_n:\pa B_n  \vdash t: \pa A }
1574
% {  ; \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}}
1575
%}
1576
%\fromSlide*{7}{
1577
%{\infer[\mbox{($\pa$ i)}]{ \Gamma  ; x_1:\pa B_1, \dots, x_n:\pa B_n  \vdash t: \pa A }
1578
% {  {\blue ; \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}}}
1579
%}
1580
%
1581
%  &
1582
%%\hspace{-10mm}
1583
%
1584
% \untilSlide*{5}{
1585
% {\infer[\mbox{\hspace{-1mm}($\pa$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash t[u \slash x] :B }
1586
%  {\Gamma_1; \Delta_1 \vdash u: \pa A  & \Gamma_2; x:\pa A, \Delta_2 \vdash t:B}}
1587
%}
1588
%\onlySlide*{6}{\red
1589
% {\infer[\mbox{\hspace{-1mm}($\pa$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash t[u \slash x] :B }
1590
%  {\Gamma_1; \Delta_1 \vdash u: \pa A  & \Gamma_2; x:\pa A, \Delta_2 \vdash t:B}}
1591
%}
1592
%\fromSlide*{7}{
1593
% {\infer[\mbox{\hspace{-1mm}($\pa$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash t[u \slash x] :B }
1594
%  {\Gamma_1; \Delta_1 \vdash u: \pa A  & \Gamma_2; x:\pa A, \Delta_2 \vdash t:B}}
1595
%}
1596
%
1597
%\\[1ex]
1598
%\fromSlide*{8}{      %% ajout? 26/6
1599
%{\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma_1; \Delta_1 \vdash  t:\forall \alpha. A}}{{ \Gamma_1; \Delta_1 \vdash t:A}}}}
1600
% &
1601
%\fromSlide*{8}{  
1602
% {\infer[\mbox{($\forall$ e)}]{\Gamma_1; \Delta_1 \vdash t:A[B \slash \al] }
1603
%{\Gamma_1; \Delta_1 \vdash t:\forall \al. A}} 
1604
%}
1605
%
1606
% \end{tabular}
1607
%
1608
%%}
1609
%%\end{center}
1610
%%}
1611
%}
1612
%
1613
%
1614
%\medskip
1615
%
1616
%\onlySlide*{2}
1617
%{
1618
%\begin{lem}\label{linearitylemma}
1619
%  If $\Gamma ; \Delta \vdash_{DLAL} t:A$ and  $x \in
1620
%  \Delta$ then $x$ has at most one occurrence in $t$.
1621
%\end{lem}
1622
%}
1623
%
1624
%
1625
%\onlySlide*{3}
1626
%{
1627
% $(\fm i)$ (resp. $(\fli i)$) corresponds to abstraction on a linear (resp. non-linear) variable,
1628
%}
1629
%
1630
%\onlySlide*{4}
1631
%{
1632
%an  argument {\blue $u$} of a term {\red $t$} of type {\red $A\fli B$} must have at most one 
1633
%free variable {\blue $z$}, which is moreover linear.
1634
%
1635
%{\red $\rightarrow$ prevents 2nd exponentiation scheme (contraction-iteration)}.
1636
%}
1637
%
1638
%\onlySlide*{5}
1639
%{
1640
%  the rule ($\pa$ i) allows to turn linear variables (in $\Gamma$) into non-linear ones.
1641
%
1642
%\medskip
1643
%
1644
%{\red $\rightarrow$ prevents 1st exponentiation scheme (iteration-iteration)}.
1645
%}
1646
%
1647
%%\fromSlide*{6}
1648
%%{
1649
%% \begin{prop}
1650
%%If $\cal D$ has conclusion $\Gamma;\Delta \vdash_{DLAL} t: A$
1651
%%then  $|t| \leq |{\cal D}|$.
1652
%%\end{prop}  
1653
%%}
1654
%
1655
%\onlySlide*{7}
1656
%{
1657
% \textit{Depth} $d$ of a derivation $\cal D$: maximal number of ($\pa$ i) and r.h.s.
1658
% premises of ($\fli$ e) in 
1659
%a branch of $\cal D$.
1660
%}
1661
%
1662
%\fromSlide*{8}
1663
%{
1664
% (*) $\alpha \notin \Gamma_1, \Delta_1$.
1665
%}
1666
%
1667
%\end{frame} 
1668
%%}
1669

    
1670
%----------
1671
\begin{frame} \frametitle{DLAL and system F}
1672

    
1673
\begin{itemize}
1674
\item Forgetful map $(.)^-$ from DLAL to F:
1675
\begin{itemize}
1676
 \item remove occurrences of $\S$,
1677
 \item replace $\fm$ and $\fli$ with $\rightarrow$.
1678
\end{itemize}
1679

    
1680
 $(.)^-$ gives a map from DLAL derivations to system F derivations.
1681

    
1682
\item Data types in DLAL:
1683

    
1684
\medskip
1685

    
1686

    
1687
%\begin{center}
1688
{\tiny
1689
\begin{tabular}{l@{\hspace{0mm}}ll}
1690
& \quad F & \quad DLAL \\
1691
%$N^{EAL}$ & $N^{LAL}$ \\
1692
\hspace{-1.2cm}
1693
 Church integers& $\forall \al.   (\al \rightarrow \al) \rightarrow  (\al \rightarrow \al)$ &
1694
 $\forall \al.  (\al \fm \al) \fli \S (\al \fm \al)$\\
1695
\hspace{-1.2cm}
1696
  binary lists
1697
&$\forall \al.   (\al \rightarrow \al) \rightarrow  (\al \rightarrow \al)
1698
 \rightarrow (\al \rightarrow \al)$
1699
&
1700
$\forall \al. (\al \fm \al) {\red \fli} (\al \fm \al) {\red \fli} \S (\al {\blue \fm} \al)$
1701
\end{tabular}
1702
}
1703

    
1704
\medskip
1705

    
1706
{\tiny
1707
Example for binary lists: $w=\langle 1, 0, 0 \rangle$:
1708

    
1709
$$ \un{w}={\red \lambda s_0}^{\black (\al \rightarrow \al)}. {\red \lambda s_1}^{\black (\al \rightarrow \al)}.
1710
{\blue \lambda x}^{\black \al}. (s_1\;(s_0\; (s_0\; x)))~.$$
1711
}
1712
\end{itemize}
1713

    
1714
\end{frame} 
1715

    
1716
%----------
1717
\begin{frame} \frametitle{Intuitionistic Proof-Nets for DLAL terms}
1718

    
1719
\vspace{-5mm}
1720
$(A \fli B)^{\star}=\bs A^{\star} \fm B^{\star}$
1721

    
1722
%\smallskip
1723
%$\moda_i= \bs \mbox{ or } \pa$
1724
  
1725
\vspace{-7mm}
1726

    
1727
\begin{figure} %[ht]
1728
\begin{center}
1729
\input PN_35.pstex_t
1730
\end{center}
1731
%\caption{Lambda terms and Light proof-nets.}\label{schema1}
1732

    
1733
\end{figure}
1734

    
1735
\vspace{-4mm}
1736

    
1737
\textit{depth} of an edge: number of boxes it is contained in.
1738

    
1739
\vspace{-1mm}
1740

    
1741
\textit{depth} of proof-net: maximal depth of its edges.
1742
\end{frame} 
1743

    
1744
%----------
1745
\begin{frame} \frametitle{Proof-net reduction}
1746

    
1747
\vspace{-5mm}
1748
\begin{figure} %[ht]
1749
\begin{center}
1750
\input redPN_mult25.pstex_t \hspace{12mm} \input redPN_cont25.pstex_t
1751

    
1752
\input redPN_!!25.pstex_t
1753
\hspace{12mm}\input redPN_pp25.pstex_t
1754
\end{center}
1755
%\caption{Lambda terms and Light proof-nets.}\label{schema1}
1756
\end{figure}
1757
%\vspace{-5mm}
1758
During normalization: the depth of an edge is unchanged.
1759
\end{frame} 
1760

    
1761
%----------
1762
\begin{frame} \frametitle{Example}
1763

    
1764
$$M= (\la f. (f \;(f \; x)))((\la h. h) \; g) $$
1765
 It can be given the following simple type:
1766

    
1767
$$M= (\la f^{\blue \al \rightarrow \al}. (f \;(f \; x^{\blue \al}))((\la h^{\blue \al \rightarrow \al}. h) \; g^{\blue \al \rightarrow \al}) : {\blue \al} $$
1768

    
1769
\end{frame} 
1770

    
1771

    
1772
%----------
1773
\begin{frame} \frametitle{Example}
1774

    
1775
$$M= (\la f. (f \;(f \; x)))((\la h. h) \; g) $$
1776

    
1777
\begin{figure}[ht]
1778
\begin{center}
1779
\input exemplesquelette40.pstex_t   %% r?duire ? ?chelle 40 ?
1780
%\input exemplesquelette60.pstex_t
1781
\end{center}
1782
%\caption{Example of Classical Proof-Net.}\label{exampleCPN}
1783
\end{figure}
1784

    
1785
\end{frame} 
1786

    
1787
%------------------
1788
\begin{frame} \frametitle{Example of type derivation}
1789

    
1790
$$M= (\la f. (f \;(f \; x)))((\la h. h) \; g) $$
1791

    
1792
%\hspace{-5mm}
1793
\begin{center}
1794
\begin{figure}[ht]
1795
{\tiny
1796
\begin{prooftree}
1797
%\AxiomC{$;f_1: \al \fm \al \vdash f_1: \al \fm \al$ }
1798
%\AxiomC{$;f_2: \al \fm \al \vdash f_2: \al \fm \al$ }
1799
%\AxiomC{$;x: \al \vdash x: \al$ }
1800
%\BinaryInfC{$; f_2: \al \fm \al , x: \al   \vdash (f_2) \; x: \al  $}
1801
\AxiomC{\dots}
1802
\UnaryInfC{$; f_2: \al \fm \al , x: \al   \vdash (f_2) \; x: \al  $}
1803
\AxiomC{$;f_1: \al \fm \al \vdash f_1: \al \fm \al$ }
1804
   \kernHyps{10mm}  
1805
\BinaryInfC{$; f_1: \beta, f_2: \beta, x: \al \vdash (f_1) \; ((f_2) \; x ): \al$}
1806
 \LeftLabel{($\pa$ i)}\UnaryInfC{{\blue $ f_1: \beta, f_2: \beta; x: \pa \al \vdash (f_1) \; ((f_2) \; x ): \pa \al$}}
1807
\UnaryInfC{$ f: \beta; x: \pa \al \vdash (f) \; ((f) \; x ): \pa \al$}
1808
\UnaryInfC{$ ; x:\pa \al  \vdash\la f.  (f) \; ((f) \; x ):  \beta \fli \pa \al $}
1809

    
1810
%\AxiomC{$;g: \al \fm \al\vdash g: \al \fm \al$ }
1811
\AxiomC{$;h: \beta\vdash h: \beta$ }
1812
\UnaryInfC{$; \vdash \la h . h:  \beta \fm  \beta $}
1813
\AxiomC{$;g: \beta\vdash g: \beta$ }
1814
%{\red
1815
 \BinaryInfC{{\red $; g: \beta \vdash (\la h . h)\; g: \beta $}}
1816
%}
1817
\insertBetweenHyps{\hspace{-1.9cm}}
1818
\LeftLabel{($\fli$ e)}\BinaryInfC{$g: \beta; x: \pa \al \vdash (\la f.  (f) \; ((f) \; x ))  ((\la h . h)\; g): \pa \al $}
1819
\end{prooftree}
1820
}
1821
where $\beta=\al \fm \al .$
1822
\end{figure}
1823
\end{center}
1824
\end{frame} 
1825

    
1826
%---------------
1827
\begin{frame} \frametitle{Example}
1828

    
1829
$$M= (\la f. {\blue (f \;(f \; x))}){\red ((\la h. h) \; g)} $$
1830

    
1831
%\vspace{-4mm} 
1832
%we want to turn it into an (intuitionistic) proof-net like: %PN like:
1833

    
1834
%{\tiny
1835
%$
1836
%\begin{array}{ccc}
1837
%@ &  = & (\fm L) \\
1838
%\la & = & (\fm R)
1839
%\end{array}
1840
%$
1841
%}
1842
\begin{figure}[ht]
1843
\begin{center}
1844
\input examplePNcolors40.pstex_t
1845
%\input examplePN40.pstex_t   
1846
\end{center}
1847
%\caption{Example of Classical Proof-Net.}\label{exampleCPN}
1848
\end{figure}
1849

    
1850
\end{frame} 
1851

    
1852

    
1853

    
1854
%-----------
1855
\begin{frame} \frametitle{Boxes}
1856
\vspace{-3mm} 
1857
Boxes in linear logic proof-nets have 2 characteristics:
1858
\begin{enumerate}
1859
\item \textit{logically:}
1860

    
1861
 they correspond to a sequentiality information on the graph.
1862
\item \textit{dynamically:}
1863

    
1864
 they delimitate portions of the graph that can be duplicated.
1865
\end{enumerate}
1866
 Note that in LAL, (2) is not relevant for $\pa$ boxes, since they
1867
cannot be duplicated.
1868

    
1869
 In Light logics, the crucial point of boxes is that they allow to define
1870
some \textit{invariants} of the dynamics of the graphs:
1871
\begin{itemize}
1872
\item depth of edges,
1873
\item quantitative invariant: the number of inputs of
1874
duplicable boxes ($\bs$ boxes) is at most one.
1875
\end{itemize} 
1876
%In fact, the $\pa$ boxes can be dropped if we manage to maintain
1877
% in another way the invariant of depth.
1878
\end{frame} 
1879

    
1880
%----------
1881
\begin{frame} \frametitle{DLAL: complexity bounds}
1882

    
1883
 DLAL satisfies the subject-reduction property.
1884

    
1885
\medskip
1886

    
1887
\begin{theo}[Strong Ptime bound]
1888
If $t$ is typable in DLAL with a derivation of depth 
1889
 $d$, then 
1890
any $\beta$ reduction of $t$ can be performed in 
1891
time $O((d+1)\cdot|t|^{2^{d+1}})$.
1892
%sequence of $\beta$-reducts of $t$ 
1893
%has length bounded by  $O((d+1)\cdot|t|^{2^{d+1}})$.
1894
\end{theo}
1895

    
1896
Remarks:
1897
\begin{itemize}
1898
%\item we are dealing here with $\beta$-r?duction,
1899
%and not anymore with proof-net reduction;
1900
\item one in fact shows a bound $O((d+1)\cdot|t|^{2^{d}})$ on the \textit{number} 
1901
of $\beta$-steps and then uses the fact that the cost of each step is here bounded; 
1902
\item this bound holds for any reduction strategy;
1903
\item in particular, if $\vdash t: W \fm \S^k W$ then $t$ is Ptime.
1904
\end{itemize}
1905

    
1906
%\medskip
1907
%Note that here the bound is with respect to $\beta$ reduction: the boxing structure
1908
%is not needed for polynomial time evaluation.
1909
%\medskip
1910
 %
1911
%\begin{theo}[Completeness]
1912
% For any polynomial time function $f:\{0,1\}^{\ast} \rightarrow \{0,1\}^{\ast}$,
1913
%there exists a term $t$ representing it and typable
1914
%in DLAL with a type $W \fm \pa^k W$, for a certain integer $k\in \NN$. 
1915
%\end{theo}
1916
% However  DLAL is not very expressive from an intensional point of view:
1917
%some simple Ptime lambda terms might not be typable.
1918
\end{frame} 
1919

    
1920
%----------
1921

    
1922
%\overlays{1}{
1923
\begin{frame} \frametitle{Coercions in DLAL}
1924
\vspace{-4mm}
1925
 In practice we often need to change the type of arguments,
1926
for instance from $\pa N$ to $N$, or from non-linear to linear position.
1927

    
1928
This is possible for \textit{data} arguments (\textit{e.g.} $N$ or
1929
$W$), thanks to \textit{coercions}.
1930

    
1931
\smallskip
1932

    
1933
%dans  ILAL on avait: $coerc^{p,q}: N \fm \pa^{p+1} \bs ^q N$
1934

    
1935
In DLAL one can define terms with the following types:
1936

    
1937

    
1938
$\begin{array}{cccc}
1939
 \mbox{coer}_1 &:& N \fm \pa N & \\
1940
\mbox{coer}_2  &:& \pa (N \fli A) \fm (N \fm \pa A)
1941
\end{array}
1942
$
1943

    
1944
such that:
1945

    
1946
 $\begin{array}{cccc}
1947
 (\mbox{coer}_1 \; \un{n})&\rightarrow &\un{n}\\
1948
(\mbox{coer}_2 \; t \; \un{n})  &\rightarrow & (t \; \un{n})
1949
\end{array}
1950
$
1951

    
1952
 Similarly, there exists a term contracting arguments by:
1953

    
1954

    
1955
$\begin{array}{cccc}
1956
 \mbox{cont} &:& \pa (N \fli N \fm A) \fm (N \fm \pa A)
1957
\end{array}
1958
$
1959
 with:
1960

    
1961
 $\begin{array}{cccc}
1962
 (\mbox{cont} \;t\;  \un{n})&\rightarrow & (t \; \un{n} \; \un{n} )\\
1963
\end{array}
1964
$
1965

    
1966
%
1967
%exemple: 
1968
%
1969
%$\begin{array}{cccc}
1970
% mult &:& N \fli (N \fm \pa N) & \\
1971
%mult' &:& N \fm \pa (N \fm \pa N) & \mbox{ par  (coerc1)}\\
1972
%mult'' &:& N \fm N \fm \pa \pa N & \mbox{ par (coerc2)}
1973
%\end{array}
1974
%$
1975

    
1976

    
1977
\begin{prop}
1978
 If $P \in \mathbb{N}[X]$, then there exists a term $t_P$ representing
1979
$P$ and an integer $k$ such that: $\vdash_{DLAL} t_P: N \fm \pa^k N$.
1980
\end{prop}
1981
\end{frame} 
1982

    
1983

    
1984
%----------
1985
\begin{frame} \frametitle{DLAL: PTIME extensional completeness}
1986
 
1987
\bigskip 
1988

    
1989
\begin{theo}[Completeness]
1990
 For any polynomial time function $f:\{0,1\}^{\ast} \rightarrow \{0,1\}^{\ast}$,
1991
there exists a term $t$ representing it and typable
1992
in DLAL with a type $W \fm \pa^k W$, for a certain integer $k\in \NN$. 
1993
%The functions representable by terms typeable in DLAL
1994
%are exactly the functions of FP.
1995
\end{theo}
1996
\medskip
1997

    
1998
 However  DLAL (or LAL) is not very expressive from an intensional point of view:
1999
some simple Ptime lambda terms might not be typable.
2000
\end{frame} 
2001

    
2002
%%-----------
2003
%\begin{frame} \frametitle{Relating the Bellantoni-Cook algebra and Linear logic}
2004
%
2005
% We show how to embed a variant of BC into DLAL, following Murawski/Ong [MO04]
2006
%(see also Tranquilli's Master thesis, 2005)
2007
%
2008
%\medskip
2009
%
2010
%\begin{tabular}{c}
2011
% $f(\vec{x}; \vec{y})$ will be represented by\\
2012
% $; \vec{x}: W, \vec{y}:\pa^k W \vdash_{DLAL} t: \pa^k W$, for some $k$
2013
%\end{tabular}
2014
%
2015
%\medskip
2016
%
2017
%Note that:
2018
%\begin{itemize}
2019
%\item in $f(\vec{x}; \vec{y})$,  $\vec{x}$ stands
2020
%for $x_1, \dots, x_n$,
2021
%\item in the DLAL judgement,  $; \vec{x}: W$ stands for
2022
% $x_1:W, \dots, x_n:W$.
2023
%
2024
%\end{itemize}
2025
%\end{frame} 
2026
%
2027
%
2028
%
2029
%%------------
2030
%\begin{frame} \frametitle{The algebra $\mbox{BC}^-$}
2031
%
2032
% In the DLAL judgements given, observe that normal variables (of type $W$) can be contracted,
2033
%but that safe ones (of type $\pa^k W$) cannot.
2034
%
2035
%Fragment of BC with non-contractible safe variables:  $\mbox{BC}^-$.
2036
%
2037
%\medskip
2038
%$\mbox{BC}^-$ is defined by:
2039
%
2040
%\begin{tabular}{cc}
2041
%recursion: & $f(\epsilon, \vec{x}; \vec{y})=h(\vec{x};\vec{y})$\\
2042
%           & $f(a.z, \vec{x}; \vec{y})=g(a,z,\vec{x};f(z, \vec{x}; \vec{y}))$\\
2043
%composition: &
2044
%\end{tabular}
2045
% $f(\vec{x}; \vec{y})= g(h_1(\vec{x};), \dots, h_m(\vec{x};);h_{m+1} (\vec{x};\vec{y_1}), \dots,
2046
% h_{k} (\vec{x};\vec{y_i}))$
2047
%
2048
%where $\vec{y_1},\dots, \vec{y_i}$ is a partition of $\vec{y}$.
2049
%
2050
%basic functions: as in BC.
2051
%\end{frame} 
2052
%
2053
%
2054
%%------------
2055
%\begin{frame} \frametitle{$\mbox{BC}^-$ inside DLAL}
2056
%
2057
%%\bigskip
2058
%
2059
%\begin{prop}{[MO04]}
2060
% The algebra  $\mbox{BC}^-$ can be embedded in DLAL.
2061
%\end{prop}
2062
%
2063
%
2064
% However $\mbox{BC}^-$ is (presumably) not complete for PTIME.
2065
%\medskip
2066
%
2067
%But  one can consider extra constructs to enrich the algebra:
2068
%
2069
%\begin{itemize}
2070
%\item a form of \textit{definition by cases}
2071
% $$ \mbox{case}_K(;u)[p_1:f_1|\dots |p_m:f_m|\mbox{else}:f_{m+1}]$$
2072
%\item a restricted \textit{recursion on safe arguments}: $\sigma\mbox{rec}$
2073
%
2074
%$\begin{array}{ccc}
2075
% f(\vec{x}; \epsilon, \vec{y})&=& h(\vec{x}; \vec{y})\\
2076
% f(\vec{x}; a.z, \vec{y})&=& \mbox{step}_i(; f(\vec{x};z,\vec{y}))
2077
%\end{array}
2078
%$
2079
%
2080
%with $\mbox{step}_i$ of a specific form (permutation)
2081
%\end{itemize}
2082
% See [MO04] for complete definitions.
2083
%\end{frame} 
2084
%
2085
%
2086
%%------------
2087
%\begin{frame} \frametitle{Extension of $\mbox{BC}^-$}
2088
%
2089
%Let $\mbox{BC}^{\pm}$ be the algebra defined as $\mbox{BC}^-$ but with these 2 new constructs.
2090
%
2091
%\begin{theo}{[MO04]}
2092
%\begin{enumerate} 
2093
%\item $\mbox{BC}^{\pm}$ is sound and extensionally complete for PTIME,
2094
%\item $\mbox{BC}^{\pm}$ can be embedded in DLAL.
2095
%\end{enumerate}
2096
%\end{theo}
2097
%The second point comes from the fact that the new constructs can be represented
2098
%in DLAL.
2099
%\end{frame} 
2100

    
2101
%------------
2102
\begin{frame} \frametitle{Conclusion}
2103

    
2104
\begin{itemize}
2105
\item Other type systems derived from LL characterize different complexity classes:
2106
Logspace [Sch?pp07], Pspace [GMR08]
2107
\item the relations between different the light logics and possible ways
2108
to unfiy them are still to explore
2109
\item type inference can be performed by constraints solving (e.g. for DLAL)
2110
\item this approach has a modest intensional expressivity
2111

    
2112
 could it be combined to other ICC systems for more flexibility~?   
2113
\end{itemize}
2114
\end{frame} 
2115
%%------------
2116
%\begin{frame} \frametitle{Some other directions in ICC}
2117
%
2118
%\begin{itemize}
2119
%\item higher-order type systems for safe recursion
2120
%(Hofmann 00, Bellantoni-Niggl-Schwichtenberg 00)
2121
%\item non-size-increasing computation: linear 
2122
%type system with a basic type $\diamond$ (Hofmann 03)
2123
%\item functional languages with restricted operations
2124
%(no $\mathtt{cons}$): characterizations of Ptime,
2125
%Logspace (Jones 99) 
2126
%\end{itemize}
2127
%
2128
%\end{frame} 
2129
%%------------
2130
%\begin{frame} \frametitle{Conclusion on ICC}
2131
%ICC has provided:
2132
%\begin{enumerate}
2133
% \item some machine-independent characterizations of complexity classes of functions,
2134
%\item some criteria for verifying statically that a program,
2135
%admits a certain complexity bound.
2136
%\end{enumerate}
2137
% For (1) it would be useful to relate together the various approaches.
2138
%
2139
%\smallskip 
2140
%
2141
% For (2): some recent works  try to take advantage of techniques coming
2142
%from termination analysis (e.g. size-change-principle) and possibly
2143
%from abstraction techniques.
2144
%
2145
%\end{frame} 
2146

    
2147
\end{document}
2148

    
2149

    
2150
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2151
%%%%%%%%%%% REGLES POUR DLAL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2152
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2153
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2154

    
2155
\begin{frame} \frametitle{DLAL rules}
2156
%\DefaultTransition{Dissolve}
2157
{\tiny
2158
\begin{center}
2159
\begin{tabular}{l@{\hspace{-2mm}}l}
2160
  {\infer[\mbox{(Id)}]{; x:A \vdash x:A}{}} & \\
2161
% &\\
2162
 {\infer[\mbox{($\fm$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fm B }
2163
 {\Gamma_1; \Delta_1, x:A \vdash t:B}}
2164

    
2165
  &
2166
 {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash (t\; u) :B }
2167
  {\Gamma_1; \Delta_1 \vdash t:A \fm B & \Gamma_2; \Delta_2 \vdash u:A}}
2168
\\[1ex]
2169

    
2170
{\infer[\mbox{($\fli$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fli B }
2171
 {\Gamma_1, x:A ; \Delta_1\vdash t:B}}
2172
  & 
2173
{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B }
2174
  {\Gamma_1; \Delta_1 \vdash t:A \fli B & ; z:C \vdash u:A}}
2175

    
2176
\\[1ex]
2177
{\infer[\mbox{(Weak)}]{\Gamma_1, \Gamma_2; \Delta_1, \Delta_2 \vdash t: A }
2178
 {\Gamma_1; \Delta_1 \vdash t:A}}
2179
  &
2180
{\infer[\mbox{(Cntr)}]{x:A, \Gamma_1; \Delta_1 \vdash t[x \slash x_1, x \slash x_2] :B }{x_1:A,x_2:A, \Gamma_1; \Delta_1 \vdash t:B }}
2181
 
2182
\\[1ex]
2183
{\infer[\mbox{($\pa$ i)}]{\Gamma ; x_1:\pa B_1, \dots, x_n:\pa B_n  \vdash t: \pa A }
2184
 {  ; \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}}
2185
  &
2186
{\infer[\mbox{\hspace{-1mm}($\pa$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash t[u \slash x] :B }
2187
  {\Gamma_1; \Delta_1 \vdash u: \pa A  & \Gamma_2; x:\pa A, \Delta_2 \vdash t:B}}
2188
\\[1ex]
2189
{\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma_1; \Delta_1 \vdash  t:\forall \alpha. A}}{{ \Gamma_1; \Delta_1 \vdash t:A}}}
2190
 &
2191
 {\infer[\mbox{($\forall$ e)}]{\Gamma_1; \Delta_1 \vdash t:A[B \slash \al] }
2192
{\Gamma_1; \Delta_1 \vdash t:\forall \al. A}} 
2193
 \end{tabular}
2194
}
2195
\end{center}
2196
\end{frame}