Révision 189

CSL17/DICE2017_TALK/ph-macros.tex (revision 189)
5 5

  
6 6
%\newtheorem{theorem}{Theorem}
7 7
\newtheorem{proposition}[theorem]{Proposition}
8
\newtheorem{conjecture}[theorem]{Conjecture}
8 9
%\newtheorem{lemma}[theorem]{Lemma}
9 10
%
10 11
%
......
15 16
\newcommand{\Nat}{\mathbb{N}}
16 17
\newcommand{\arith}{B}
17 18
\newcommand{\basic}{\mathit{BASIC}}
19
\newcommand{\RC}{RC}                                           % name for ramified classical logic
20
\newcommand{\RCi}{$\Sigma_i^{{N_0}}$-RC}
21
\newcommand{\safeRC}{$\Sigma^{{N_0}}$-RC}
18 22

  
23

  
24

  
25

  
19 26
\newcommand{\ind}{\mathit{IND}}
20 27
\newcommand{\pind}{\mathit{PIND}}
21 28
\newcommand{\cind}[1]{#1\text{-}\ind}
CSL17/DICE2017_TALK/unboundedArithmetic.aux (revision 189)
30 30
\@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}}
31 31
\@writefile{nav}{\headcommand {\slideentry {0}{0}{7}{7/7}{}{0}}}
32 32
\@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}}
33
\@writefile{nav}{\headcommand {\beamer@partpages {1}{7}}}
34
\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{7}}}
35
\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{7}}}
36
\@writefile{nav}{\headcommand {\beamer@documentpages {7}}}
37
\@writefile{nav}{\headcommand {\def \inserttotalframenumber {7}}}
33
\@writefile{nav}{\headcommand {\slideentry {0}{0}{8}{8/8}{}{0}}}
34
\@writefile{nav}{\headcommand {\beamer@framepages {8}{8}}}
35
\@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{9/9}{}{0}}}
36
\@writefile{nav}{\headcommand {\beamer@framepages {9}{9}}}
37
\@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{10/10}{}{0}}}
38
\@writefile{nav}{\headcommand {\beamer@framepages {10}{10}}}
39
\@writefile{nav}{\headcommand {\slideentry {0}{0}{11}{11/11}{}{0}}}
40
\@writefile{nav}{\headcommand {\beamer@framepages {11}{11}}}
41
\@writefile{nav}{\headcommand {\slideentry {0}{0}{12}{12/12}{}{0}}}
42
\@writefile{nav}{\headcommand {\beamer@framepages {12}{12}}}
43
\@writefile{nav}{\headcommand {\slideentry {0}{0}{13}{13/13}{}{0}}}
44
\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}}
45
\@writefile{nav}{\headcommand {\beamer@partpages {1}{13}}}
46
\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{13}}}
47
\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{13}}}
48
\@writefile{nav}{\headcommand {\beamer@documentpages {13}}}
49
\@writefile{nav}{\headcommand {\def \inserttotalframenumber {13}}}
CSL17/DICE2017_TALK/unboundedArithmetic.tex (revision 189)
163 163
 
164 164
 \begin{itemize}
165 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
166
\item in particular, {\ICC{ICC logics}}  not so satisfactory for non-deterministic classes
167 167

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

  
......
185 185
\begin{frame}
186 186
  \frametitle{Our goal}
187 187
 
188
 design an { \ICC{unbounded}} {\BA{arithmetic}} for characterizing FPH
188
 design an {\ICC{unbounded}} {\BA{arithmetic}} for characterizing FPH
189 189
 
190 190
 \medskip 
191 191
 
192 192
 expected benefits:
193 193
 \begin{itemize}
194 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
195
\item enlarge the toolbox  of {\ICC{ICC logics}}, by exploring the power of quantification (under-investigated in ICC)
196 196
\end{itemize}
197 197
 \end{frame}
198 198

  
......
203 203
 
204 204
 We want to use:
205 205
 \begin{itemize}
206
\item {\ICC{ramification}}   
207
\item
206
\item {\ICC{ramification}} (distinction safe / normal arguments) from   {\ICC{ICC}}
207
   \item induction calibrated by logical complexity, from  {\BA{bounded arithmetic}}
208 208
\end{itemize}
209 209
 \end{frame}
210 210

  
211

  
212
\end{document}
213

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

  
218 211
%%%%%%%%%%%%%%%%%%%%%%%%%%%
219 212

  
220 213
\begin{frame}
221
  \frametitle{}
214
  \frametitle{Ingredients for a logical characterization}
222 215
 
223 216
 \begin{itemize}
224
\item   \end{itemize}
217
\item  choose a way to \textit{specify} functions
218
\item choose a logic:
219

  
220
logical system + axioms, induction scheme
221
\item prove soundness:
222

  
223
realizability-like argument, with a well-chosen \textit{target language}
224
\item prove completeness
225
\end{itemize}
225 226
 \end{frame}
226 227

  
227 228
%%%%%%%%%%%%%%%%%%%%%%%%%%%
228 229

  
229 230
\begin{frame}
230
  \frametitle{Introduction}
231
  \frametitle{Specifying the functions}
231 232
 
233
 Various approaches to specify a function $f$:
232 234
 \begin{itemize}
233
\item  \textit{Implicit computational complexity} (ICC) : 
235
\item   {\BA{formula specification}} (bounded arithmetic):
234 236

  
235
characterizing complexity classes by programming languages / calculi  without  explicit bounds, 
237
a formula $A_f$ defines the graph of $f$
238
\item {\ICC{equational specification}} (Leivant: intrinsic theories)
236 239

  
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}
240
conjunction of first-order equations defining $f$
249 241

  
242
\item applicative theories (Cantini, Kahle-Oitavem \dots)
250 243

  
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}
244
combinatory term computing $f$
245
\item \dots
259 246

  
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 247
\end{itemize}
278
  \end{frame}
248
 \end{frame}
279 249

  
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

  
250
\begin{frame}
251
  \frametitle{Our logical system}
487 252
 
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

  
253
 Ramified classical logic (\RC):
254
 \begin{itemize}
255
\item  1st-order classical logic \dots
256
\item \dots over the language:
575 257
\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
$$
258
 \item functions and constants: $0, \succ, +, \cdot, \smsh, |.|$
259
 \item predicates: $\leq, {\ICC{N_0}},  {\ICC{N_1}}$
588 260
\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

  
261
\item with axioms:
262
 \begin{itemize}
263
\item BASIC theory: defining $\succ, +, \cdot, \smsh, |.|$ (as in Buss' $S_1$)
599 264
\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 265

  
607
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
266
notation:
608 267

  
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\\
268
$\begin{array}{lcl}
269
\succ{0}x &:=& 2\cdot x\\
270
\succ{1}x & :=& \succ{}(2\cdot x)
744 271
\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
272
 $
273
      \item polynomial induction IND:
907 274
 \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 275
 \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}
276
 {\small $$    A(0) 
277
\rightarrow (\forall x^{\normal} . ( A(x) \rightarrow A(\succ{0} x) ) )
278
\rightarrow  (\forall x^{\normal} . ( A(x) \rightarrow A(\succ{1} x) ) ) 
279
\rightarrow  \forall x^{\normal} . A(x) $$
280
   }
281
   
282
   Define all that within a sequent calculus system.
283
   
284
  $\mathcal{C}$-\RC\  is \RC\ with IND restricted to formulas $A$ belonging to the class  $\mathcal{C}$ of formulas.
285
 \end{frame}
962 286

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

  
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):
289
\begin{frame}
290
  \frametitle{Classification of quantifications}
989 291
 
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$.
292
 Write $Q$ for $\forall$ or $\exists$.
293
 \begin{itemize}
294
\item   safe ($N_0$)/normal ($N_1$) quantifiers:
1003 295

  
296
$$Q^{N_i}x.A := Qx.(N_i(x) \rightarrow A)$$
297
\item sharply bounded quantifiers:
298
$$Q^{N_i}|x|\leq t.\; A := Qx.(N_i(x) \rightarrow (|x|\leq t) \rightarrow A)$$
1004 299
\end{itemize}
1005
\end{frame}
1006
%%%%%%%%%
300
 \end{frame}
1007 301

  
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
302
%%%%%%%%%%%
303
\begin{frame}
304
  \frametitle{Quantifier hierarchy}
1045 305
 
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$.
306
 We define:
307
 \begin{itemize}
308
\item $\Sigma^\safe_0 = \Pi^\safe_0 $= formulas with only sharply bounded quantifiers,
309
\item $\Sigma^\safe_{i+1}$= closure of $\Pi^\safe_i $ under $\cor, \cand $, safe existentials and sharply bounded quantifiers,
310
\item  $\Pi^\safe_{i+1}$ = closure of $\Sigma^\safe_i $ under $\cor, \cand $, safe universals and sharply bounded quantifiers,
311
\item $\Sigma^\safe= \cup_i \Sigma^\safe_i$.
1098 312
\end{itemize}
1099

  
1100 313
\end{frame}
1101 314

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

  
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.
317
\begin{frame}
318
  \frametitle{Result and work-in-progress}
1181 319
 
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:
320
 \begin{theorem}[Soundness]
321
  If $f$ is provably total in \RCi\, then $f$ belongs to $\fphi{i}$.
322
 \end{theorem}
1285 323
 
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}
324
  \begin{conjecture}[Soundness]
325
  If $f$ is provably total in \RCi\, then $f$ belongs to $\fphi{i}$.
326
 \end{conjecture}
1294 327

  
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 328
\end{frame}
1315 329

  
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 330
\end{document}
1388 331

  
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

  
332
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1484 334
%----------
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 }
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff