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} |