root / CSL17 / DICE2017_TALK / unboundedArithmetic.tex @ 188
Historique | Voir | Annoter | Télécharger (57,5 ko)
1 | 188 | pbaillot | |
---|---|---|---|
2 | 188 | pbaillot | %\documentclass[pdf, pleasingblue,slideColor,colorBG]{prosper} |
3 | 188 | pbaillot | \documentclass{beamer} |
4 | 188 | pbaillot | \usepackage{amsfonts,latexsym,amssymb, amsmath} |
5 | 188 | pbaillot | \usepackage{stmaryrd} |
6 | 188 | pbaillot | \usepackage{graphicx} |
7 | 188 | pbaillot | \usepackage{eepic} |
8 | 188 | pbaillot | \usepackage[dvips]{epsfig} |
9 | 188 | pbaillot | %\usepackage{psfig} |
10 | 188 | pbaillot | %\input head.tex |
11 | 188 | pbaillot | \usepackage{proof,bussproofs} |
12 | 188 | pbaillot | %\usepackage{ desseins_s} |
13 | 188 | pbaillot | |
14 | 188 | pbaillot | |
15 | 188 | pbaillot | %\usepackage{microtype}%if unwanted, comment out or use option "draft" |
16 | 188 | pbaillot | %\usepackage[dvipsnames]{xcolor} |
17 | 188 | pbaillot | |
18 | 188 | pbaillot | %\graphicspath{{./graphics/}}%helpful if your graphic files are in another directory |
19 | 188 | pbaillot | |
20 | 188 | pbaillot | %\bibliographystyle{plainurl}% the recommended bibstyle |
21 | 188 | pbaillot | |
22 | 188 | pbaillot | %\usepackage[lutzsyntax]{virginialake} |
23 | 188 | pbaillot | \input{ph-macros} |
24 | 188 | pbaillot | |
25 | 188 | pbaillot | |
26 | 188 | pbaillot | |
27 | 188 | pbaillot | \setbeamercolor{block title}{bg=blue!10} |
28 | 188 | pbaillot | \setbeamercolor{block body}{bg=blue!10} |
29 | 188 | pbaillot | \definecolor{monred}{HTML}{9D0909} |
30 | 188 | pbaillot | %\definecolor{monbleu}{RVB}{0,0,1} |
31 | 188 | pbaillot | \def\red#1{\color{red}{#1}} |
32 | 188 | pbaillot | \def\blue#1{\color{blue}{#1}} |
33 | 188 | pbaillot | \def\green#1{\color{green}{#1}} |
34 | 188 | pbaillot | \def\black{} |
35 | 188 | pbaillot | \def\BA#1{\color{red}{#1}} |
36 | 188 | pbaillot | \def\ICC#1{\color{blue}{#1}} |
37 | 188 | pbaillot | |
38 | 188 | pbaillot | |
39 | 188 | pbaillot | %%%%%%%%%%%%%ENVIRONMENTS AND THEOREM-STYLES %%%%%%%%%%%%%%%%%% |
40 | 188 | pbaillot | %\def\un#1{\underline{#1}} |
41 | 188 | pbaillot | %\def\point#1{{\bf #1.}} |
42 | 188 | pbaillot | %%\newcommand{\etq}[1]{\mbox{\scriptsize\bf #1}} |
43 | 188 | pbaillot | %\newcommand{\etq}[1]{\mbox{{\bf #1}}} |
44 | 188 | pbaillot | %\newcommand{\Rulone}[1]{% |
45 | 188 | pbaillot | % \begin{center} |
46 | 188 | pbaillot | % \makebox[12cm]{\hspace*{\fill} |
47 | 188 | pbaillot | % \begin{minipage}[c]{6cm} #1 \end{minipage} \hspace*{\fill} |
48 | 188 | pbaillot | % } |
49 | 188 | pbaillot | % \end{center} |
50 | 188 | pbaillot | % } |
51 | 188 | pbaillot | % |
52 | 188 | pbaillot | %\newcommand{\centra}[1]{\begin{center} #1 \end{center}} |
53 | 188 | pbaillot | % |
54 | 188 | pbaillot | %\newcommand{\Rultwo}[2]{% |
55 | 188 | pbaillot | % \begin{center} |
56 | 188 | pbaillot | % \makebox[12cm]{ |
57 | 188 | pbaillot | % \makebox[6cm]{\begin{minipage}[c]{6cm} #1 \end{minipage}} \hspace{20pt} |
58 | 188 | pbaillot | % \makebox[6cm]{\begin{minipage}[c]{6cm} #2 \end{minipage}} |
59 | 188 | pbaillot | % } |
60 | 188 | pbaillot | % \end{center} |
61 | 188 | pbaillot | % } |
62 | 188 | pbaillot | %\newcounter{ex} |
63 | 188 | pbaillot | %%\newtheorem{example}[ex]{Example} |
64 | 188 | pbaillot | % |
65 | 188 | pbaillot | % |
66 | 188 | pbaillot | %\def\para#1{\paragraph{#1}} |
67 | 188 | pbaillot | %\newtheorem{theo}{Theorem} |
68 | 188 | pbaillot | %\newtheorem{de}{Definition} |
69 | 188 | pbaillot | %\newtheorem{prop}[theo]{Proposition} |
70 | 188 | pbaillot | %\newtheorem{lem}[theo]{Lemma} |
71 | 188 | pbaillot | %\newtheorem{Cor}[theo]{Corollary} |
72 | 188 | pbaillot | %\newtheorem{remark}[theo]{Remark} |
73 | 188 | pbaillot | %\newcounter{pb} |
74 | 188 | pbaillot | %\newtheorem{problem}[pb]{Problem} |
75 | 188 | pbaillot | %\newenvironment{proof}{\noindent{\bfseries Proof :}}{\hbox{}\hfill$\Box$} |
76 | 188 | pbaillot | |
77 | 188 | pbaillot | %--------------------- |
78 | 188 | pbaillot | %% Definition of new colors |
79 | 188 | pbaillot | %\newrgbcolor{LemonChiffon}{1. 0.98 0.8} |
80 | 188 | pbaillot | % |
81 | 188 | pbaillot | %\newrgbcolor{LightBlue}{0.68 0.85 0.9} |
82 | 188 | pbaillot | %\newrgbcolor{Dgreen}{0 0.6 0.4} |
83 | 188 | pbaillot | %%\newrgbcolor{DBlue}{0 0 0.5} |
84 | 188 | pbaillot | %\newrgbcolor{DBlue}{0 0 0.6} |
85 | 188 | pbaillot | %\newrgbcolor{Dblue}{0 0 0.6} |
86 | 188 | pbaillot | %%---------------------- |
87 | 188 | pbaillot | %%% MORE Color definitions |
88 | 188 | pbaillot | %\newrgbcolor{DarkGray}{.284 .210 .410} |
89 | 188 | pbaillot | %\newrgbcolor{Violet}{.2 .2 .9} |
90 | 188 | pbaillot | |
91 | 188 | pbaillot | %--------------------- |
92 | 188 | pbaillot | |
93 | 188 | pbaillot | \mode<presentation> |
94 | 188 | pbaillot | { |
95 | 188 | pbaillot | \usetheme{Warsaw} |
96 | 188 | pbaillot | % or ... |
97 | 188 | pbaillot | |
98 | 188 | pbaillot | \setbeamercovered{transparent} |
99 | 188 | pbaillot | % or whatever (possibly just delete it) |
100 | 188 | pbaillot | } |
101 | 188 | pbaillot | |
102 | 188 | pbaillot | |
103 | 188 | pbaillot | \title{Towards an Unbounded Implicit Arithmetic for\\ |
104 | 188 | pbaillot | the Polynomial Hierarchy |
105 | 188 | pbaillot | } |
106 | 188 | pbaillot | |
107 | 188 | pbaillot | \author{Patrick Baillot and Anupam Das} |
108 | 188 | pbaillot | \institute{CNRS / ENS Lyon} |
109 | 188 | pbaillot | |
110 | 188 | pbaillot | |
111 | 188 | pbaillot | \begin{document} |
112 | 188 | pbaillot | \maketitle |
113 | 188 | pbaillot | |
114 | 188 | pbaillot | |
115 | 188 | pbaillot | \begin{frame} |
116 | 188 | pbaillot | \frametitle{Introduction} |
117 | 188 | pbaillot | |
118 | 188 | pbaillot | 2 cousin approaches to logical characterization of complexity classes: |
119 | 188 | pbaillot | |
120 | 188 | pbaillot | \bigskip |
121 | 188 | pbaillot | |
122 | 188 | pbaillot | \begin{tabular}{l|l} |
123 | 188 | pbaillot | \BA{Bounded arithmetic (86 -- )} & \ICC{Implicit computational complexity (91 --)}\\ |
124 | 188 | pbaillot | & \ICC{(ICC)}\\ |
125 | 188 | pbaillot | \hline |
126 | 188 | pbaillot | &\\ |
127 | 188 | pbaillot | & function algebras\\ |
128 | 188 | pbaillot | & types/proofs-as-programs\\ |
129 | 188 | pbaillot | & arithmetics / logics\\ |
130 | 188 | pbaillot | & \\ |
131 | 188 | pbaillot | large variety of & resource-free characterizations of\\ |
132 | 188 | pbaillot | complexity classes & complexity classes (e.g. ramification)\\ |
133 | 188 | pbaillot | &\\ |
134 | 188 | pbaillot | corresp. with & extensions to programming languages\\ |
135 | 188 | pbaillot | \textit{proof-complexity} & |
136 | 188 | pbaillot | \end{tabular} |
137 | 188 | pbaillot | \end{frame} |
138 | 188 | pbaillot | |
139 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%% |
140 | 188 | pbaillot | |
141 | 188 | pbaillot | \begin{frame} |
142 | 188 | pbaillot | \frametitle{Introduction} |
143 | 188 | pbaillot | |
144 | 188 | pbaillot | $$ \mbox{"\textit{$f$ is provably total in system} XXX"} \Leftrightarrow \quad f \in \mbox{ complexity class YYY }$$ |
145 | 188 | pbaillot | |
146 | 188 | pbaillot | \bigskip |
147 | 188 | pbaillot | |
148 | 188 | pbaillot | \begin{tabular}{l|l} |
149 | 188 | pbaillot | \BA{Bounded arithmetic} \qquad \qquad & \ICC{Implicit computational complexity}\\ |
150 | 188 | pbaillot | \hline |
151 | 188 | pbaillot | &\\ |
152 | 188 | pbaillot | Buss ($S_1$): & Leivant (intrinsic theories): \\ |
153 | 188 | pbaillot | $\forall x, {\BA{\exists y \leq t}} . \; A_f(x,y)$ & $\forall x. N_1(x) \rightarrow N_0(f(x))$\\ |
154 | 188 | pbaillot | &\\ |
155 | 188 | pbaillot | FP, FPH & FP |
156 | 188 | pbaillot | \end{tabular} |
157 | 188 | pbaillot | \end{frame} |
158 | 188 | pbaillot | |
159 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%% |
160 | 188 | pbaillot | |
161 | 188 | pbaillot | \begin{frame} |
162 | 188 | pbaillot | \frametitle{{A current limitation of ICC logics}} |
163 | 188 | pbaillot | |
164 | 188 | pbaillot | \begin{itemize} |
165 | 188 | pbaillot | \item fewer complexity classes characterized by {\ICC{ICC logics}} than by {\BA{bounded arithmetic}} |
166 | 188 | pbaillot | \item in particular, not so satisfactory for non-deterministic classes |
167 | 188 | pbaillot | |
168 | 188 | pbaillot | e.g. NP, PH (polynomial hierarchy) \dots |
169 | 188 | pbaillot | |
170 | 188 | pbaillot | \end{itemize} |
171 | 188 | pbaillot | \end{frame} |
172 | 188 | pbaillot | |
173 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%% |
174 | 188 | pbaillot | |
175 | 188 | pbaillot | \begin{frame} |
176 | 188 | pbaillot | \frametitle{Recap : the polynomial hierarchy} |
177 | 188 | pbaillot | |
178 | 188 | pbaillot | \begin{itemize} |
179 | 188 | pbaillot | \item to be done: definition \dots |
180 | 188 | pbaillot | \end{itemize} |
181 | 188 | pbaillot | \end{frame} |
182 | 188 | pbaillot | |
183 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%% |
184 | 188 | pbaillot | |
185 | 188 | pbaillot | \begin{frame} |
186 | 188 | pbaillot | \frametitle{Our goal} |
187 | 188 | pbaillot | |
188 | 188 | pbaillot | design an { \ICC{unbounded}} {\BA{arithmetic}} for characterizing FPH |
189 | 188 | pbaillot | |
190 | 188 | pbaillot | \medskip |
191 | 188 | pbaillot | |
192 | 188 | pbaillot | expected benefits: |
193 | 188 | pbaillot | \begin{itemize} |
194 | 188 | pbaillot | \item bridge {\BA{bounded arithmetic}} and {\ICC{ICC logics}} |
195 | 188 | pbaillot | \item enlarge the toolbox {\ICC{ICC logics}} of , by exploring the power of quantification |
196 | 188 | pbaillot | \end{itemize} |
197 | 188 | pbaillot | \end{frame} |
198 | 188 | pbaillot | |
199 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%% |
200 | 188 | pbaillot | |
201 | 188 | pbaillot | \begin{frame} |
202 | 188 | pbaillot | \frametitle{Methodology} |
203 | 188 | pbaillot | |
204 | 188 | pbaillot | We want to use: |
205 | 188 | pbaillot | \begin{itemize} |
206 | 188 | pbaillot | \item {\ICC{ramification}} |
207 | 188 | pbaillot | \item |
208 | 188 | pbaillot | \end{itemize} |
209 | 188 | pbaillot | \end{frame} |
210 | 188 | pbaillot | |
211 | 188 | pbaillot | |
212 | 188 | pbaillot | \end{document} |
213 | 188 | pbaillot | |
214 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
215 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
216 | 188 | pbaillot | %---------- |
217 | 188 | pbaillot | |
218 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%% |
219 | 188 | pbaillot | |
220 | 188 | pbaillot | \begin{frame} |
221 | 188 | pbaillot | \frametitle{} |
222 | 188 | pbaillot | |
223 | 188 | pbaillot | \begin{itemize} |
224 | 188 | pbaillot | \item \end{itemize} |
225 | 188 | pbaillot | \end{frame} |
226 | 188 | pbaillot | |
227 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%% |
228 | 188 | pbaillot | |
229 | 188 | pbaillot | \begin{frame} |
230 | 188 | pbaillot | \frametitle{Introduction} |
231 | 188 | pbaillot | |
232 | 188 | pbaillot | \begin{itemize} |
233 | 188 | pbaillot | \item \textit{Implicit computational complexity} (ICC) : |
234 | 188 | pbaillot | |
235 | 188 | pbaillot | characterizing complexity classes by programming languages / calculi without explicit bounds, |
236 | 188 | pbaillot | |
237 | 188 | pbaillot | but instead |
238 | 188 | pbaillot | by restricting the constructions %of the language. |
239 | 188 | pbaillot | \item either theory-oriented or certification-oriented |
240 | 188 | pbaillot | \item often conveniently formulated by: |
241 | 188 | pbaillot | |
242 | 188 | pbaillot | (i) a general programming language, (ii) a criterion on programs |
243 | 188 | pbaillot | \end{itemize} |
244 | 188 | pbaillot | \end{frame} |
245 | 188 | pbaillot | |
246 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%% |
247 | 188 | pbaillot | \begin{frame} |
248 | 188 | pbaillot | \frametitle{Various approaches to ICC} |
249 | 188 | pbaillot | |
250 | 188 | pbaillot | |
251 | 188 | pbaillot | \begin{itemize} |
252 | 188 | pbaillot | \item ramified recursion (Leivant, Leivant-Marion) / safe recursion (Bellantoni-Cook) |
253 | 188 | pbaillot | % \item restrictions on second-order logic (taming comprehension rule) (Leivant) |
254 | 188 | pbaillot | \item variants of linear logic (light logics) \textbf{this talk} |
255 | 188 | pbaillot | %\item \emph{read-only} functional languages (Jones) |
256 | 188 | pbaillot | \item interpretation methods |
257 | 188 | pbaillot | \item \dots |
258 | 188 | pbaillot | \end{itemize} |
259 | 188 | pbaillot | |
260 | 188 | pbaillot | \end{frame} |
261 | 188 | pbaillot | |
262 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%% |
263 | 188 | pbaillot | \begin{frame} |
264 | 188 | pbaillot | \frametitle{ICC vs. complexity analysis} |
265 | 188 | pbaillot | |
266 | 188 | pbaillot | specificities of ICC w.r.t. automatic complexity analysis: |
267 | 188 | pbaillot | \begin{itemize} |
268 | 188 | pbaillot | \item complexity certificate (e.g. type) |
269 | 188 | pbaillot | \item modular |
270 | 188 | pbaillot | \end{itemize} |
271 | 188 | pbaillot | |
272 | 188 | pbaillot | but |
273 | 188 | pbaillot | |
274 | 188 | pbaillot | \begin{itemize} |
275 | 188 | pbaillot | \item only rough complexity bounds |
276 | 188 | pbaillot | \item less general analysis (specific programming discipline) |
277 | 188 | pbaillot | \end{itemize} |
278 | 188 | pbaillot | \end{frame} |
279 | 188 | pbaillot | |
280 | 188 | pbaillot | |
281 | 188 | pbaillot | \end{document} |
282 | 188 | pbaillot | |
283 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
284 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
285 | 188 | pbaillot | %---------- |
286 | 188 | pbaillot | |
287 | 188 | pbaillot | \begin{frame}\frametitle{The proofs-as-programs viewpoint} |
288 | 188 | pbaillot | |
289 | 188 | pbaillot | \begin{itemize} |
290 | 188 | pbaillot | \item our reference language here is $\la$-calculus |
291 | 188 | pbaillot | |
292 | 188 | pbaillot | untyped $\la$-calculus is Turing-complete |
293 | 188 | pbaillot | \item type systems can guarantee termination |
294 | 188 | pbaillot | |
295 | 188 | pbaillot | ex: system F (polymorphic types) |
296 | 188 | pbaillot | %\end{itemize} |
297 | 188 | pbaillot | % |
298 | 188 | pbaillot | %\end{frame} |
299 | 188 | pbaillot | % |
300 | 188 | pbaillot | %---------- |
301 | 188 | pbaillot | %\begin{frame} \frametitle{} |
302 | 188 | pbaillot | |
303 | 188 | pbaillot | %\begin{itemize} |
304 | 188 | pbaillot | \item proofs-as-programs correspondence |
305 | 188 | pbaillot | %Curry-Howard correspondence |
306 | 188 | pbaillot | \begin{tabular}{ccc} |
307 | 188 | pbaillot | proof & = & type derivation \\ |
308 | 188 | pbaillot | normalization & = & execution \\ |
309 | 188 | pbaillot | intuitionistic logic & $\leftrightarrow$ & system F |
310 | 188 | pbaillot | \end{tabular} |
311 | 188 | pbaillot | \item some characteristics of $\la$-calculus: |
312 | 188 | pbaillot | |
313 | 188 | pbaillot | higher-order types |
314 | 188 | pbaillot | |
315 | 188 | pbaillot | no distinction between data / program |
316 | 188 | pbaillot | \end{itemize} |
317 | 188 | pbaillot | \end{frame} |
318 | 188 | pbaillot | |
319 | 188 | pbaillot | %---------- |
320 | 188 | pbaillot | \begin{frame} \frametitle{Linear logic} |
321 | 188 | pbaillot | |
322 | 188 | pbaillot | \begin{itemize} |
323 | 188 | pbaillot | \item linear logic (LL): |
324 | 188 | pbaillot | |
325 | 188 | pbaillot | fine-grained decomposition of intuitionistic logic |
326 | 188 | pbaillot | |
327 | 188 | pbaillot | duplication is controlled with a specific connective $\bs$ (\textit{exponential}) |
328 | 188 | pbaillot | \item variants of linear logic with different rules for |
329 | 188 | pbaillot | $\bs$ have bounded complexity: \textit{light logics} |
330 | 188 | pbaillot | |
331 | 188 | pbaillot | these logics (or subsystems) can be used as type systems for $\la$-calculus |
332 | 188 | pbaillot | |
333 | 188 | pbaillot | thus: |
334 | 188 | pbaillot | |
335 | 188 | pbaillot | (i) general language= $\lambda$-calculus, (ii) criterion= typability |
336 | 188 | pbaillot | \end{itemize} |
337 | 188 | pbaillot | \end{frame} |
338 | 188 | pbaillot | |
339 | 188 | pbaillot | %---------- |
340 | 188 | pbaillot | \begin{frame} \frametitle{Outline of the talk} |
341 | 188 | pbaillot | |
342 | 188 | pbaillot | %\begin{itemize} |
343 | 188 | pbaillot | %\item Background on $\la$-calculus and system F |
344 | 188 | pbaillot | %\item The type system DLAL |
345 | 188 | pbaillot | %\item Relating the Bellantoni-Cook algebra and light linear logic |
346 | 188 | pbaillot | %\item Conclusion |
347 | 188 | pbaillot | %\end{itemize} |
348 | 188 | pbaillot | \begin{enumerate} |
349 | 188 | pbaillot | \item a recap on $\lambda$-calculus and system F |
350 | 188 | pbaillot | \item elementary linear logic (ELL): elementary complexity |
351 | 188 | pbaillot | \item light linear logic (LLL): Ptime complexity |
352 | 188 | pbaillot | \item other linear logic variants |
353 | 188 | pbaillot | \item conclusion |
354 | 188 | pbaillot | \end{enumerate} |
355 | 188 | pbaillot | \end{frame} |
356 | 188 | pbaillot | |
357 | 188 | pbaillot | %----------- |
358 | 188 | pbaillot | |
359 | 188 | pbaillot | \section{A recap on $\lambda$-calculus and system F} |
360 | 188 | pbaillot | %---------- |
361 | 188 | pbaillot | \begin{frame} \frametitle{$\lambda$-calculus} |
362 | 188 | pbaillot | |
363 | 188 | pbaillot | \begin{itemize} |
364 | 188 | pbaillot | \item $\lambda$-terms: |
365 | 188 | pbaillot | $$t, u::= x \;|\; \la x. t \; |\; t\; u$$ |
366 | 188 | pbaillot | %$$t, u::= x \;|\; \la x. t \; |\; (t\; u)$$ |
367 | 188 | pbaillot | |
368 | 188 | pbaillot | \begin{tabular}{cl} |
369 | 188 | pbaillot | notations: &$\la x_1 x_2. t$ \quad for $\la x_1. \la x_2.t$\\ |
370 | 188 | pbaillot | & $(t\; u \; v)$ \quad for $((t\; u)\;v)$\\ |
371 | 188 | pbaillot | & substitution: $t[u/ x]$ |
372 | 188 | pbaillot | \end{tabular} |
373 | 188 | pbaillot | \item |
374 | 188 | pbaillot | $\beta$-reduction: |
375 | 188 | pbaillot | |
376 | 188 | pbaillot | $\xrightarrow{1}$ relation obtained by context-closure of: |
377 | 188 | pbaillot | $$ ((\la x. t) u) \xrightarrow{1} t[u/ x]$$ |
378 | 188 | pbaillot | |
379 | 188 | pbaillot | $\rightarrow$ reflexive and transitive closure of $\xrightarrow{1}$. |
380 | 188 | pbaillot | \end{itemize} |
381 | 188 | pbaillot | \end{frame} |
382 | 188 | pbaillot | |
383 | 188 | pbaillot | %---------- |
384 | 188 | pbaillot | \begin{frame} \frametitle{Typed $\lambda$-terms} |
385 | 188 | pbaillot | system F types: |
386 | 188 | pbaillot | $$T, U::= \alpha \; | \; T \rightarrow U \;|\; \forall \al . T$$ |
387 | 188 | pbaillot | |
388 | 188 | pbaillot | simple types: without $\forall$ |
389 | 188 | pbaillot | |
390 | 188 | pbaillot | \medskip |
391 | 188 | pbaillot | |
392 | 188 | pbaillot | simply typed terms, in Church-style: |
393 | 188 | pbaillot | $$ |
394 | 188 | pbaillot | x^T |
395 | 188 | pbaillot | \quad\quad |
396 | 188 | pbaillot | (\la x^T. M^U)^{T\rightarrow U} |
397 | 188 | pbaillot | \quad\quad |
398 | 188 | pbaillot | ((M^{T\rightarrow U}) N^T)^U |
399 | 188 | pbaillot | $$ |
400 | 188 | pbaillot | %$$ |
401 | 188 | pbaillot | %(M^U)^{\forall \alpha.U} |
402 | 188 | pbaillot | %\quad\quad |
403 | 188 | pbaillot | %((M^{\forall\alpha. U})T)^{U[T/\alpha]} |
404 | 188 | pbaillot | %$$ |
405 | 188 | pbaillot | %with: in $\La \alpha. M^U$, |
406 | 188 | pbaillot | %$\alpha$ not free in types of |
407 | 188 | pbaillot | %free term variables of $M$ %(the {\em eigenvariable condition}). |
408 | 188 | pbaillot | |
409 | 188 | pbaillot | \end{frame} |
410 | 188 | pbaillot | |
411 | 188 | pbaillot | %---------- |
412 | 188 | pbaillot | %---------- |
413 | 188 | pbaillot | \begin{frame} \frametitle{Proofs-programs correspondence (Curry-Howard)} |
414 | 188 | pbaillot | |
415 | 188 | pbaillot | \begin{tabular}{ccc} |
416 | 188 | pbaillot | \textbf{typed term} &$\Rightarrow$& \textbf{2nd-order intuitionistic}\\ |
417 | 188 | pbaillot | &&\quad \textbf{ logic proof}\\ |
418 | 188 | pbaillot | &&\\ |
419 | 188 | pbaillot | type && formula\\ |
420 | 188 | pbaillot | &&\\ |
421 | 188 | pbaillot | $M^B$, with & &proof of $A_1, \dots, A_n \vdash B$\\ |
422 | 188 | pbaillot | free variables $x_i:A_i$, $1\leq i \leq n$&&\\ |
423 | 188 | pbaillot | &&\\ |
424 | 188 | pbaillot | $\beta$-reduction of term && normalization of proof\\ |
425 | 188 | pbaillot | && (cut elimination) |
426 | 188 | pbaillot | \end{tabular} |
427 | 188 | pbaillot | \end{frame} |
428 | 188 | pbaillot | |
429 | 188 | pbaillot | |
430 | 188 | pbaillot | %---------- |
431 | 188 | pbaillot | \begin{frame} \frametitle{Some types and data types} |
432 | 188 | pbaillot | $$\begin{array}{lcl} |
433 | 188 | pbaillot | \mbox{Polymorphic identity:}&&\\ |
434 | 188 | pbaillot | %{\blue \La \al. \la x^{\al}. x }&:& \forall \al. (\al \fl \al)\\ |
435 | 188 | pbaillot | {\blue \la x^{\al}. x }&:& \forall \al. (\al \fl \al)\\ |
436 | 188 | pbaillot | &&\\ |
437 | 188 | pbaillot | \mbox{Church unary integers:}&&\\ |
438 | 188 | pbaillot | N^F & =& \forall \al. (\al \fl \al) \fl (\al \fl \al) \\ |
439 | 188 | pbaillot | \mbox{example}&&\\ |
440 | 188 | pbaillot | % {\blue \underline{2}}&{\blue =}& {\blue \La \al. \la f^{\al\fl \al}.\la x^{\al}. (f\; (f \; x))^{\al}: N }\\ |
441 | 188 | pbaillot | %{\blue \underline{2} }&{\blue =}& {\blue \la f^{\al\fl \al}.\la x^{\al}. (f)\; (f) \; x: N }\\ |
442 | 188 | pbaillot | \underline{2} &{\blue =}& {\blue \la f^{\al\fl \al}.\la x^{\al}. (f\; (f \; x)): N^F }\\ |
443 | 188 | pbaillot | \mbox{Church binary words:} &&\\ |
444 | 188 | pbaillot | W^F & =& \forall \al. (\al \fl \al) \fl (\al \fl \al) \fl (\al \fl \al)\\ |
445 | 188 | pbaillot | \mbox{example}&&\\ |
446 | 188 | pbaillot | % {\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 | 188 | pbaillot | % {\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 | 188 | pbaillot | \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 | 188 | pbaillot | %\end{eqnarray*} |
450 | 188 | pbaillot | \end{array} |
451 | 188 | pbaillot | $$ |
452 | 188 | pbaillot | \end{frame} |
453 | 188 | pbaillot | |
454 | 188 | pbaillot | |
455 | 188 | pbaillot | |
456 | 188 | pbaillot | %---------- |
457 | 188 | pbaillot | \begin{frame} \frametitle{Iteration } |
458 | 188 | pbaillot | |
459 | 188 | pbaillot | For each inductive data type an associated iteration principle. |
460 | 188 | pbaillot | |
461 | 188 | pbaillot | For instance, for $N= \forall \al. (\al \fl \al) \fl (\al \fl \al)$, |
462 | 188 | pbaillot | we can define an iterator $\ite$: |
463 | 188 | pbaillot | $$ \ite= \la f x n. \; (n \; f \; x) \; : (A \fl A) \fl A \fl N \fl A, \quad \mbox{for any $A$}$$ |
464 | 188 | pbaillot | then |
465 | 188 | pbaillot | |
466 | 188 | pbaillot | $(\ite \; t \; u \; \un{n}) \rightarrow (t\; (t \dots (t\; u)\dots)$ \quad ($n$ times) |
467 | 188 | pbaillot | |
468 | 188 | pbaillot | \bigskip |
469 | 188 | pbaillot | |
470 | 188 | pbaillot | \textbf{example:} |
471 | 188 | pbaillot | |
472 | 188 | pbaillot | |
473 | 188 | pbaillot | $double: N \fl N$ |
474 | 188 | pbaillot | |
475 | 188 | pbaillot | $exp= \la n. (\ite \; double \; \un{1} \; n)\; : N \fl N$ |
476 | 188 | pbaillot | |
477 | 188 | pbaillot | $tower= \la n. (\ite \; exp \; \un{1} \; n)\; : N \fl N$ |
478 | 188 | pbaillot | |
479 | 188 | pbaillot | |
480 | 188 | pbaillot | |
481 | 188 | pbaillot | \end{frame} |
482 | 188 | pbaillot | |
483 | 188 | pbaillot | %---------- |
484 | 188 | pbaillot | |
485 | 188 | pbaillot | \begin{frame} \frametitle{Examples of terms} |
486 | 188 | pbaillot | |
487 | 188 | pbaillot | |
488 | 188 | pbaillot | $$\begin{array}{lll} |
489 | 188 | pbaillot | \mbox{concatenation}&&\\ |
490 | 188 | pbaillot | %conc &=& \la u^{W}. \la v^{W} .\La \al. \la o. \la z. \la x . (u \; o \; z \;(v \; o\; z \; x))\\ |
491 | 188 | pbaillot | 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 | 188 | pbaillot | &:~ &W\fl W \fl W\\ |
493 | 188 | pbaillot | &&\\ |
494 | 188 | pbaillot | \mbox{length}&&\\ |
495 | 188 | pbaillot | %length&=& \la u^{W}. \La \al. \la f^{\al\fl \al }.( u\; f \; f)^{\al\fl \al}\\ |
496 | 188 | pbaillot | length&=& \la u^{W}. \la f^{\al\fl \al }.(u\; f \; f)^{\al\fl \al}\\ |
497 | 188 | pbaillot | &:~ &W \fl N\\ |
498 | 188 | pbaillot | % \end{array}$$ |
499 | 188 | pbaillot | % |
500 | 188 | pbaillot | % $$\begin{array}{lll} |
501 | 188 | pbaillot | \mbox{\textit{repeated concatenation}}&&\\ |
502 | 188 | pbaillot | %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 | 188 | pbaillot | %mult&=& \la n^{N}. \la v^{W}. (n \; (conc \; v)^{W\fl W} ) \; \underline{nil}^W\\ |
504 | 188 | pbaillot | rep&=& \la n^{N}. \la v^{W}. [n \; (conc \; v) \; \underline{nil}]^W\\ |
505 | 188 | pbaillot | &:& ~N \fl W \fl W\\ |
506 | 188 | pbaillot | %&&&&\\ |
507 | 188 | pbaillot | %square&& &:&N \fm \pa^{4}N |
508 | 188 | pbaillot | \end{array} |
509 | 188 | pbaillot | $$ |
510 | 188 | pbaillot | \end{frame} |
511 | 188 | pbaillot | |
512 | 188 | pbaillot | %---------- |
513 | 188 | pbaillot | \begin{frame} \frametitle{System F and termination} |
514 | 188 | pbaillot | |
515 | 188 | pbaillot | \bigskip |
516 | 188 | pbaillot | \begin{theo}[Girard] %[Girard 1972] |
517 | 188 | pbaillot | If a term is well typed in $F$, then it is strongly normalizable. |
518 | 188 | pbaillot | \end{theo} |
519 | 188 | pbaillot | |
520 | 188 | pbaillot | \bigskip |
521 | 188 | pbaillot | |
522 | 188 | pbaillot | Thus a type derivation can be seen as a termination witness. |
523 | 188 | pbaillot | |
524 | 188 | pbaillot | In particular, a term $t: W \fl W$ represents a function on words which terminates |
525 | 188 | pbaillot | on all inputs. |
526 | 188 | pbaillot | |
527 | 188 | pbaillot | \bigskip |
528 | 188 | pbaillot | |
529 | 188 | pbaillot | %\textbf {Problem:} |
530 | 188 | pbaillot | |
531 | 188 | pbaillot | Can we refine this system in order to guarantee \textit{feasible} termination, that is to |
532 | 188 | pbaillot | say in polynomial time? |
533 | 188 | pbaillot | \end{frame} |
534 | 188 | pbaillot | |
535 | 188 | pbaillot | %--------------- |
536 | 188 | pbaillot | |
537 | 188 | pbaillot | |
538 | 188 | pbaillot | %----------- |
539 | 188 | pbaillot | %%\begin{frame} \frametitle{Exponential blow up} |
540 | 188 | pbaillot | %\begin{frame} \frametitle{How can exponential blow up occur?} |
541 | 188 | pbaillot | % |
542 | 188 | pbaillot | %\vspace{-5mm} |
543 | 188 | pbaillot | % |
544 | 188 | pbaillot | %(thanks to K.~Terui) |
545 | 188 | pbaillot | % |
546 | 188 | pbaillot | %2 easy ways to cause exponential blow-up: |
547 | 188 | pbaillot | %\begin{itemize} |
548 | 188 | pbaillot | %\item |
549 | 188 | pbaillot | % basic functions: $0: \NN$, \quad $s: \NN \rightarrow \NN$, \quad $+:\NN \rightarrow \NN \rightarrow \NN$. |
550 | 188 | pbaillot | %\item exponential blow-up can be caused by: |
551 | 188 | pbaillot | %\begin{enumerate} |
552 | 188 | pbaillot | % \item iteration-iteration |
553 | 188 | pbaillot | %$$\begin{array}{cccccc} |
554 | 188 | pbaillot | %\mbox{dbl}(0) &=&0 \qquad \qquad & \mbox{exp}(0)&=&1 \\ |
555 | 188 | pbaillot | %\mbox{dbl}(s(x))&=&\mbox{dbl}(x)+2 \qquad & \mbox{exp}(s(x))&=&\mbox{dbl}(\mbox{exp}(x)) |
556 | 188 | pbaillot | %\end{array} |
557 | 188 | pbaillot | %$$ |
558 | 188 | pbaillot | %\item contraction-iteration |
559 | 188 | pbaillot | %$$\begin{array}{cccccc} |
560 | 188 | pbaillot | %\mbox{dbl}(x) &=&x+x \qquad \qquad & \mbox{exp}(0)&=&1 \\ |
561 | 188 | pbaillot | % &&& \mbox{exp}(s(x))&=&\mbox{dbl}(\mbox{exp}(x)) |
562 | 188 | pbaillot | %\end{array} |
563 | 188 | pbaillot | %$$ |
564 | 188 | pbaillot | %\end{enumerate} |
565 | 188 | pbaillot | %\vspace{-4mm} |
566 | 188 | pbaillot | %\item to keep contraction and iteration, we need to forbid bad combinations of these. |
567 | 188 | pbaillot | %\end{itemize} |
568 | 188 | pbaillot | % |
569 | 188 | pbaillot | %\end{frame} |
570 | 188 | pbaillot | |
571 | 188 | pbaillot | |
572 | 188 | pbaillot | %----------- |
573 | 188 | pbaillot | \begin{frame} \frametitle{Linear logic} |
574 | 188 | pbaillot | |
575 | 188 | pbaillot | \begin{itemize} |
576 | 188 | pbaillot | \item Linear logic (LL) arises from the decomposition |
577 | 188 | pbaillot | $$A \fli B \equiv \bs A \fm B$$ |
578 | 188 | pbaillot | |
579 | 188 | pbaillot | \item the $\bs$ modality accounts for duplication (contraction) |
580 | 188 | pbaillot | |
581 | 188 | pbaillot | \item $!$ satisfies the following principles: |
582 | 188 | pbaillot | $$ |
583 | 188 | pbaillot | \begin{array}{ccc} |
584 | 188 | pbaillot | \bs A \fm \bs A \otimes \bs A \qquad & \infer{ \bs A\vdash \bs B}{A \vdash B} \qquad & \bs A \fm A \\ |
585 | 188 | pbaillot | & \bs A \otimes \bs B \fm \bs (A \otimes B) & \bs A \fm \bs \bs A |
586 | 188 | pbaillot | \end{array} |
587 | 188 | pbaillot | $$ |
588 | 188 | pbaillot | \end{itemize} |
589 | 188 | pbaillot | \end{frame} |
590 | 188 | pbaillot | |
591 | 188 | pbaillot | \section{Elementary linear logic} |
592 | 188 | pbaillot | %----------- |
593 | 188 | pbaillot | \begin{frame} \frametitle{Elementary linear logic (ELL) \qquad [Girard95]} |
594 | 188 | pbaillot | |
595 | 188 | pbaillot | \begin{itemize} |
596 | 188 | pbaillot | \item Language of formulas: |
597 | 188 | pbaillot | $$ A, B := \alpha \;|\; A \multimap B \;|\; !A \;|\; \forall \alpha. A $$ |
598 | 188 | pbaillot | |
599 | 188 | pbaillot | \smallskip |
600 | 188 | pbaillot | Denote $!^k A$ for $k$ occurrences of $!$. |
601 | 188 | pbaillot | \item The system is designed in such a way that the following principles are \textbf{not} provable |
602 | 188 | pbaillot | $$ !A \multimap A, \quad !A \multimap !!A$$ |
603 | 188 | pbaillot | \item Defined to characterize \textit{elementary time complexity}, that is to say in time bounded by $2_k^{n}$, for arbitrary $k$. |
604 | 188 | pbaillot | \end{itemize} |
605 | 188 | pbaillot | \end{frame} |
606 | 188 | pbaillot | |
607 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%% |
608 | 188 | pbaillot | |
609 | 188 | pbaillot | \begin{frame} \frametitle{Elementary linear logic rules} |
610 | 188 | pbaillot | |
611 | 188 | pbaillot | %{\tiny |
612 | 188 | pbaillot | \vspace{-5mm} |
613 | 188 | pbaillot | |
614 | 188 | pbaillot | \begin{center} |
615 | 188 | pbaillot | \begin{tabular}{ll} |
616 | 188 | pbaillot | {\infer[\mbox{(Id)}]{ x:A \vdash x:A}{}} & \\[1ex] |
617 | 188 | pbaillot | &\\ |
618 | 188 | pbaillot | {\infer[\mbox{($\fm$ i)}]{\Gamma \vdash \la x. t: A \fm B } |
619 | 188 | pbaillot | {\Gamma, x:A \vdash t:B}} |
620 | 188 | pbaillot | |
621 | 188 | pbaillot | & |
622 | 188 | pbaillot | {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2 \vdash (t\; u) :B } |
623 | 188 | pbaillot | {\Gamma_1 \vdash t:A \fm B & \Gamma_2 \vdash u:A}} |
624 | 188 | pbaillot | \\[1ex] |
625 | 188 | pbaillot | &\\ |
626 | 188 | pbaillot | {\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 | 188 | pbaillot | & |
628 | 188 | pbaillot | {\infer[\mbox{(Weak)}]{\Gamma, x:B\vdash t: A } |
629 | 188 | pbaillot | {\Gamma \vdash t:A}} |
630 | 188 | pbaillot | |
631 | 188 | pbaillot | \\[1ex] |
632 | 188 | pbaillot | &\\ |
633 | 188 | pbaillot | {\infer[\mbox{($!$ i)}]{x_1:! B_1, \dots, x_n:! B_n \vdash t: ! A } |
634 | 188 | pbaillot | { x_1:B_1, \dots, x_n:B_n \vdash t:A}} |
635 | 188 | pbaillot | & |
636 | 188 | pbaillot | {\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2 \vdash t[u \slash x] :B } |
637 | 188 | pbaillot | {\Gamma_1 \vdash u: ! A & \Gamma_2, x:! A \vdash t:B}} |
638 | 188 | pbaillot | \\[1ex] |
639 | 188 | pbaillot | %{\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma \vdash t:\forall \alpha. A}}{{ \Gamma \vdash t:A}}} |
640 | 188 | pbaillot | % & |
641 | 188 | pbaillot | % {\infer[\mbox{($\forall$ e)}]{\Gamma \vdash t:A[B \slash \al] } |
642 | 188 | pbaillot | %{\Gamma \vdash t:\forall \al. A}} |
643 | 188 | pbaillot | \end{tabular} |
644 | 188 | pbaillot | %} |
645 | 188 | pbaillot | \end{center} |
646 | 188 | pbaillot | \end{frame} |
647 | 188 | pbaillot | |
648 | 188 | pbaillot | %---------- |
649 | 188 | pbaillot | \begin{frame} \frametitle{Forgetful map from ELL to F} |
650 | 188 | pbaillot | |
651 | 188 | pbaillot | |
652 | 188 | pbaillot | Consider $\eras{(.)}: ELL \rightarrow F$ defined by: |
653 | 188 | pbaillot | $$\eras{(\bs A)}= \eras{A},\ \ \ |
654 | 188 | pbaillot | \eras{(A\fm B)}=\eras{A} \rightarrow \eras{B}, \quad \eras{(\forall \al. A)}= \forall \al. \eras{A}, \quad \eras{\al}=\al.$$ |
655 | 188 | pbaillot | |
656 | 188 | pbaillot | \begin{prop} |
657 | 188 | pbaillot | If $\Gamma \vdash_{ELL} t:A$ then $t$ is typable in F with type $\eras{A}$. |
658 | 188 | pbaillot | \end{prop} |
659 | 188 | pbaillot | |
660 | 188 | pbaillot | \medskip |
661 | 188 | pbaillot | |
662 | 188 | pbaillot | If $\eras{A}=T$, say $A$ is a {\emph decoration} of $T$ in ELL. |
663 | 188 | pbaillot | \end{frame} |
664 | 188 | pbaillot | |
665 | 188 | pbaillot | |
666 | 188 | pbaillot | |
667 | 188 | pbaillot | %---------- |
668 | 188 | pbaillot | \begin{frame} \frametitle{Data types in ELL} |
669 | 188 | pbaillot | |
670 | 188 | pbaillot | \begin{itemize} |
671 | 188 | pbaillot | \item |
672 | 188 | pbaillot | Church unary integers |
673 | 188 | pbaillot | \end{itemize} |
674 | 188 | pbaillot | %\begin{center} |
675 | 188 | pbaillot | %{\tiny |
676 | 188 | pbaillot | %\hspace{-4mm} |
677 | 188 | pbaillot | \begin{tabular}{ccc} |
678 | 188 | pbaillot | system F: & & ELL: \\ |
679 | 188 | pbaillot | $N^F$ &\qquad & $N^{ELL}$ \\ |
680 | 188 | pbaillot | $\forall \al. (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$ |
681 | 188 | pbaillot | & & $\forall \al. \bs (\al \fm \al) \fm \bs (\al \fm \al)$ |
682 | 188 | pbaillot | \end{tabular} |
683 | 188 | pbaillot | |
684 | 188 | pbaillot | %\begin{tabular}{ccc} |
685 | 188 | pbaillot | % system F: & & ELL: \\ |
686 | 188 | pbaillot | %$N^F$ &\qquad \qquad \qquad \qquad & $N^{ELL}$ \\ |
687 | 188 | pbaillot | %$\forall \al. (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$ |
688 | 188 | pbaillot | %& & $\forall \al. \bs (\al \fm \al) \fm \bs (\al \fm \al)$ |
689 | 188 | pbaillot | %\end{tabular} |
690 | 188 | pbaillot | %} |
691 | 188 | pbaillot | %\end{center} |
692 | 188 | pbaillot | \smallskip |
693 | 188 | pbaillot | |
694 | 188 | pbaillot | {\tiny Example: integer $2$, in F: |
695 | 188 | pbaillot | |
696 | 188 | pbaillot | $$ \un{2}=\lambda f^{\blue (\al \rightarrow \al)}. \lambda x^{\blue \al}. (f\;(f\; x))~.$$ |
697 | 188 | pbaillot | } |
698 | 188 | pbaillot | \begin{itemize} |
699 | 188 | pbaillot | \item |
700 | 188 | pbaillot | Church binary words |
701 | 188 | pbaillot | \end{itemize} |
702 | 188 | pbaillot | %{\tiny |
703 | 188 | pbaillot | \begin{tabular}{cc} |
704 | 188 | pbaillot | system F: & ELL: \\ |
705 | 188 | pbaillot | $W^F$ & $W^{ELL}$\\ |
706 | 188 | pbaillot | {\tiny $\forall \al. (\al \rightarrow \al) \rightarrow (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$} |
707 | 188 | pbaillot | & |
708 | 188 | pbaillot | {\tiny $\forall \al. \bs (\al \fm \al) \fm \bs (\al \fm \al) \fm \bs(\al \fm \al)$} |
709 | 188 | pbaillot | \end{tabular} |
710 | 188 | pbaillot | %} |
711 | 188 | pbaillot | \smallskip |
712 | 188 | pbaillot | |
713 | 188 | pbaillot | {\tiny |
714 | 188 | pbaillot | Example: $w=\langle 1, 0, 0 \rangle$, in F: |
715 | 188 | pbaillot | |
716 | 188 | pbaillot | $$ \un{w}=\lambda s_0^{\blue (\al \rightarrow \al)}. \lambda s_1^{\blue (\al \rightarrow \al)}. |
717 | 188 | pbaillot | \lambda x^{\blue \al}. (s_1\;(s_0\; (s_0\; x)))~.$$ |
718 | 188 | pbaillot | } |
719 | 188 | pbaillot | \end{frame} |
720 | 188 | pbaillot | |
721 | 188 | pbaillot | %---------- |
722 | 188 | pbaillot | |
723 | 188 | pbaillot | \begin{frame} \frametitle{Representation of functions} |
724 | 188 | pbaillot | |
725 | 188 | pbaillot | \begin{itemize} |
726 | 188 | pbaillot | \item a term $t$ of type $!^k N \fm !^l N$, for some $k$, $l$, represents a function over unary integers |
727 | 188 | pbaillot | \item some examples of terms |
728 | 188 | pbaillot | $$\begin{array}{lll} |
729 | 188 | pbaillot | \mbox{addition}&&\\ |
730 | 188 | pbaillot | add &=& \la n m f x. (n\; f) \; (m \; f \; x) \; \\ |
731 | 188 | pbaillot | |
732 | 188 | pbaillot | &:~ &N\fm N \fm N\\ |
733 | 188 | pbaillot | &&\\ |
734 | 188 | pbaillot | \mbox{multiplication}&&\\ |
735 | 188 | pbaillot | %mult &=& \la n m f . (n\; (m\; f)) \\ |
736 | 188 | pbaillot | mult &=& \la n m f . (n\; (m\; f)) \\ |
737 | 188 | pbaillot | |
738 | 188 | pbaillot | &:~ &N\fm N \fm N\\ |
739 | 188 | pbaillot | |
740 | 188 | pbaillot | \mbox{squaring}&&\\ |
741 | 188 | pbaillot | square &=& \la n f . (n\; (n\; f)) \\ |
742 | 188 | pbaillot | |
743 | 188 | pbaillot | &:~ &\bs N \fm \bs N\\ |
744 | 188 | pbaillot | \end{array} |
745 | 188 | pbaillot | $$ |
746 | 188 | pbaillot | \end{itemize} |
747 | 188 | pbaillot | |
748 | 188 | pbaillot | %$$\begin{array}{cclcc} |
749 | 188 | pbaillot | % N & =& \forall \al. (\al \fm \al) \fli \pa (\al \fm \al)&&\\ |
750 | 188 | pbaillot | %&&&&\\ |
751 | 188 | pbaillot | %add &=& \la n. \la m .\la f .\la x . (n \; f \;(m \; f \; x))&:~ &N\fm N \fm N\\ |
752 | 188 | pbaillot | %&&&&\\ |
753 | 188 | pbaillot | %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 | 188 | pbaillot | %mult&=& \la n. \la m. (m \; (add \; n) ) \; \underline{0}&:& ~N \fli N \fm \pa N\\ |
755 | 188 | pbaillot | %&&&&\\ |
756 | 188 | pbaillot | %square&& &:&N \fm \pa^{4}N |
757 | 188 | pbaillot | %\end{array} |
758 | 188 | pbaillot | %$$ |
759 | 188 | pbaillot | \end{frame} |
760 | 188 | pbaillot | |
761 | 188 | pbaillot | %---------- |
762 | 188 | pbaillot | |
763 | 188 | pbaillot | \begin{frame} \frametitle{Iteration in ELL} |
764 | 188 | pbaillot | |
765 | 188 | pbaillot | recall the iterator $\ite$: |
766 | 188 | pbaillot | $$ \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 | 188 | pbaillot | with $(\ite \; t \; u \; \un{n}) \rightarrow (t\; (t \; \dots (t\; u)\dots))$ \quad ($n$ times) |
768 | 188 | pbaillot | |
769 | 188 | pbaillot | \smallskip |
770 | 188 | pbaillot | |
771 | 188 | pbaillot | \textbf{examples:} |
772 | 188 | pbaillot | |
773 | 188 | pbaillot | $double: N \fm N$ |
774 | 188 | pbaillot | |
775 | 188 | pbaillot | $exp= (\ite \; double \; \un{1}) : N \fm \bs N$ |
776 | 188 | pbaillot | |
777 | 188 | pbaillot | remark: $exp$ cannot be iterated; $tower= (\ite \exp \; \un{1})$ non ELL typable. |
778 | 188 | pbaillot | |
779 | 188 | pbaillot | %$(add \underline{2}): N \fm N$ |
780 | 188 | pbaillot | % |
781 | 188 | pbaillot | %$double'= \la n. (\ite \; (add \underline{2}) \; \un{0}) \; n\; : N \fm \pa N$ |
782 | 188 | pbaillot | % |
783 | 188 | pbaillot | %but $double'$ cannot be iterated. |
784 | 188 | pbaillot | % |
785 | 188 | pbaillot | %\medskip |
786 | 188 | pbaillot | |
787 | 188 | pbaillot | \end{frame} |
788 | 188 | pbaillot | |
789 | 188 | pbaillot | |
790 | 188 | pbaillot | %---------- |
791 | 188 | pbaillot | \begin{frame} \frametitle{From derivations to proof-nets } |
792 | 188 | pbaillot | |
793 | 188 | pbaillot | \begin{figure} %[ht] |
794 | 188 | pbaillot | %\begin{center} |
795 | 188 | pbaillot | \includegraphics[angle=90,width=9cm]{SCANS/ELLtranslation.jpg} |
796 | 188 | pbaillot | %\end{center} |
797 | 188 | pbaillot | \end{figure} |
798 | 188 | pbaillot | \end{frame} |
799 | 188 | pbaillot | |
800 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%% |
801 | 188 | pbaillot | |
802 | 188 | pbaillot | \begin{frame} \frametitle{Elementary linear logic rules, again} |
803 | 188 | pbaillot | |
804 | 188 | pbaillot | %{\tiny |
805 | 188 | pbaillot | \vspace{-5mm} |
806 | 188 | pbaillot | |
807 | 188 | pbaillot | \begin{center} |
808 | 188 | pbaillot | \begin{tabular}{ll} |
809 | 188 | pbaillot | {\infer[\mbox{(Id)}]{ x:A \vdash x:A}{}} & \\[1ex] |
810 | 188 | pbaillot | &\\ |
811 | 188 | pbaillot | {\infer[\mbox{($\fm$ i)}]{\Gamma \vdash \la x. t: A \fm B } |
812 | 188 | pbaillot | {\Gamma, x:A \vdash t:B}} |
813 | 188 | pbaillot | |
814 | 188 | pbaillot | & |
815 | 188 | pbaillot | {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2 \vdash (t\; u) :B } |
816 | 188 | pbaillot | {\Gamma_1 \vdash t:A \fm B & \Gamma_2 \vdash u:A}} |
817 | 188 | pbaillot | \\[1ex] |
818 | 188 | pbaillot | &\\ |
819 | 188 | pbaillot | {\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 | 188 | pbaillot | & |
821 | 188 | pbaillot | {\infer[\mbox{(Weak)}]{\Gamma, x:B\vdash t: A } |
822 | 188 | pbaillot | {\Gamma \vdash t:A}} |
823 | 188 | pbaillot | |
824 | 188 | pbaillot | \\[1ex] |
825 | 188 | pbaillot | &\\ |
826 | 188 | pbaillot | {\infer[\mbox{($!$ i)}]{x_1:! B_1, \dots, x_n:! B_n \vdash t: ! A } |
827 | 188 | pbaillot | { x_1:B_1, \dots, x_n:B_n \vdash t:A}} |
828 | 188 | pbaillot | & |
829 | 188 | pbaillot | {\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2 \vdash t[u \slash x] :B } |
830 | 188 | pbaillot | {\Gamma_1 \vdash u: ! A & \Gamma_2, x:! A \vdash t:B}} |
831 | 188 | pbaillot | \\[1ex] |
832 | 188 | pbaillot | %{\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma \vdash t:\forall \alpha. A}}{{ \Gamma \vdash t:A}}} |
833 | 188 | pbaillot | % & |
834 | 188 | pbaillot | % {\infer[\mbox{($\forall$ e)}]{\Gamma \vdash t:A[B \slash \al] } |
835 | 188 | pbaillot | %{\Gamma \vdash t:\forall \al. A}} |
836 | 188 | pbaillot | \end{tabular} |
837 | 188 | pbaillot | %} |
838 | 188 | pbaillot | \end{center} |
839 | 188 | pbaillot | \end{frame} |
840 | 188 | pbaillot | |
841 | 188 | pbaillot | |
842 | 188 | pbaillot | |
843 | 188 | pbaillot | %---------- |
844 | 188 | pbaillot | \begin{frame} \frametitle{ELL Proof-Nets } |
845 | 188 | pbaillot | |
846 | 188 | pbaillot | \vspace{-8mm} |
847 | 188 | pbaillot | \begin{figure} %[ht] |
848 | 188 | pbaillot | %\begin{center} |
849 | 188 | pbaillot | \includegraphics[angle=90,width=10.8cm]{SCANS/ELLproofnets6.jpg} |
850 | 188 | pbaillot | |
851 | 188 | pbaillot | |
852 | 188 | pbaillot | %\end{center} |
853 | 188 | pbaillot | %\caption{Lambda terms and Light proof-nets.}\label{schema1} |
854 | 188 | pbaillot | |
855 | 188 | pbaillot | \end{figure} |
856 | 188 | pbaillot | |
857 | 188 | pbaillot | |
858 | 188 | pbaillot | \textit{depth} of an edge: number of boxes it is contained in. |
859 | 188 | pbaillot | |
860 | 188 | pbaillot | %\vspace{-1mm} |
861 | 188 | pbaillot | |
862 | 188 | pbaillot | \textit{depth} of proof-net: maximal depth of its edges. |
863 | 188 | pbaillot | \end{frame} |
864 | 188 | pbaillot | |
865 | 188 | pbaillot | %%%%%%%%% |
866 | 188 | pbaillot | \begin{frame} \frametitle{ELL proof-net : example } |
867 | 188 | pbaillot | |
868 | 188 | pbaillot | %\vspace{-5mm} |
869 | 188 | pbaillot | Church integer $\un{3}$: |
870 | 188 | pbaillot | |
871 | 188 | pbaillot | \vspace{-4mm} |
872 | 188 | pbaillot | |
873 | 188 | pbaillot | \begin{figure} %[ht] |
874 | 188 | pbaillot | %\begin{center} |
875 | 188 | pbaillot | \includegraphics[angle=90,width=5cm]{SCANS/examplePNthree.jpg} |
876 | 188 | pbaillot | %\end{center} |
877 | 188 | pbaillot | \end{figure} |
878 | 188 | pbaillot | |
879 | 188 | pbaillot | \end{frame} |
880 | 188 | pbaillot | |
881 | 188 | pbaillot | |
882 | 188 | pbaillot | |
883 | 188 | pbaillot | %%%%%%%%% |
884 | 188 | pbaillot | \begin{frame} \frametitle{ELL proof-net reduction } |
885 | 188 | pbaillot | |
886 | 188 | pbaillot | \vspace{-6mm} |
887 | 188 | pbaillot | \begin{figure} %[ht] |
888 | 188 | pbaillot | %\begin{center} |
889 | 188 | pbaillot | \includegraphics[angle=90,width=10cm]{SCANS/ELLreduction.jpg} |
890 | 188 | pbaillot | %\end{center} |
891 | 188 | pbaillot | \end{figure} |
892 | 188 | pbaillot | |
893 | 188 | pbaillot | \end{frame} |
894 | 188 | pbaillot | |
895 | 188 | pbaillot | %---------- |
896 | 188 | pbaillot | \begin{frame} \frametitle{Methodology} |
897 | 188 | pbaillot | |
898 | 188 | pbaillot | \begin{itemize} |
899 | 188 | pbaillot | \item write programs with ELL typed $\lambda$-terms |
900 | 188 | pbaillot | \item evaluate them by: |
901 | 188 | pbaillot | |
902 | 188 | pbaillot | compiling them into proof-nets, and then performing proof-net reduction |
903 | 188 | pbaillot | \item beware: |
904 | 188 | pbaillot | \begin{itemize} |
905 | 188 | pbaillot | \item proof-net reduction does not exactly match $\beta$-reduction |
906 | 188 | pbaillot | \item ELL does not satisfy subject reduction |
907 | 188 | pbaillot | \end{itemize} |
908 | 188 | pbaillot | but that's all right for our present goal \dots |
909 | 188 | pbaillot | |
910 | 188 | pbaillot | More about that in tomorrow's talk, without proof-nets. |
911 | 188 | pbaillot | \end{itemize} |
912 | 188 | pbaillot | |
913 | 188 | pbaillot | \end{frame} |
914 | 188 | pbaillot | |
915 | 188 | pbaillot | |
916 | 188 | pbaillot | %%%%%%%%% |
917 | 188 | pbaillot | \begin{frame} \frametitle{ELL proof-net reduction properties} |
918 | 188 | pbaillot | |
919 | 188 | pbaillot | \begin{itemize} |
920 | 188 | pbaillot | \item We have |
921 | 188 | pbaillot | \begin{prop}[Stratification] |
922 | 188 | pbaillot | The depth of an edge does not change during reduction. |
923 | 188 | pbaillot | \end{prop} |
924 | 188 | pbaillot | |
925 | 188 | pbaillot | Consequence: the depth $d$ of a proof-net does not increase during reduction. |
926 | 188 | pbaillot | \item \textbf{Level-by-level reduction strategy}: |
927 | 188 | pbaillot | |
928 | 188 | pbaillot | $R$ proof-net of depth $d$ |
929 | 188 | pbaillot | |
930 | 188 | pbaillot | perform reduction successively at depth 0, 1 \dots, $d$. |
931 | 188 | pbaillot | |
932 | 188 | pbaillot | \end{itemize} |
933 | 188 | pbaillot | \end{frame} |
934 | 188 | pbaillot | |
935 | 188 | pbaillot | %%%%%%%%% |
936 | 188 | pbaillot | \begin{frame} \frametitle{Level-by-level reduction of ELL proof-nets} |
937 | 188 | pbaillot | |
938 | 188 | pbaillot | |
939 | 188 | pbaillot | \begin{itemize} |
940 | 188 | pbaillot | \item let $R$ be an ELL proof-net of depth $d$ |
941 | 188 | pbaillot | |
942 | 188 | pbaillot | $|R|_i$ = size at depth $i$ |
943 | 188 | pbaillot | |
944 | 188 | pbaillot | $|R|$ = total size |
945 | 188 | pbaillot | |
946 | 188 | pbaillot | round $i$: reduction at depth $i$ |
947 | 188 | pbaillot | |
948 | 188 | pbaillot | there are $d+1$ rounds for the reduction of $R$ |
949 | 188 | pbaillot | |
950 | 188 | pbaillot | \item \textbf{what happens during round $i$?} |
951 | 188 | pbaillot | \begin{itemize} |
952 | 188 | pbaillot | \item $|R|_i$ decreases at each step |
953 | 188 | pbaillot | |
954 | 188 | pbaillot | thus there are at most $|R|_i$ steps \quad {\blue (size bounds time)} |
955 | 188 | pbaillot | \item but $|R|_{i+1}$ can increase at each step, in fact it can double |
956 | 188 | pbaillot | \item hence round $i$ can cause an exponential size increase |
957 | 188 | pbaillot | \end{itemize} |
958 | 188 | pbaillot | \item on the whole we have a $2_d^{|R|}$ size increase |
959 | 188 | pbaillot | \item this yields a $O(2_d^{|R|})$ bound on the number of steps |
960 | 188 | pbaillot | \end{itemize} |
961 | 188 | pbaillot | \end{frame} |
962 | 188 | pbaillot | |
963 | 188 | pbaillot | %%%%%%%%% |
964 | 188 | pbaillot | \begin{frame} \frametitle{ELL complexity results} |
965 | 188 | pbaillot | |
966 | 188 | pbaillot | %\begin{itemize} |
967 | 188 | pbaillot | %\item We get |
968 | 188 | pbaillot | \begin{theorem}[Proof-net complexity] |
969 | 188 | pbaillot | If $R$ is an ELL proof-net of depth $d$, then it can be reduced to its normal form in |
970 | 188 | pbaillot | $O(2_d^{|R|})$ steps. |
971 | 188 | pbaillot | |
972 | 188 | pbaillot | \end{theorem} |
973 | 188 | pbaillot | |
974 | 188 | pbaillot | \medskip |
975 | 188 | pbaillot | |
976 | 188 | pbaillot | \begin{theorem}[Representable functions] |
977 | 188 | pbaillot | The functions representable by a term of type $N \fm !^k N$, where $k\geq 0$ , are exactly the elementary time functions. |
978 | 188 | pbaillot | |
979 | 188 | pbaillot | \end{theorem} |
980 | 188 | pbaillot | |
981 | 188 | pbaillot | %\end{itemize} |
982 | 188 | pbaillot | \end{frame} |
983 | 188 | pbaillot | |
984 | 188 | pbaillot | %%%%%%%%% |
985 | 188 | pbaillot | \begin{frame} \frametitle{Proof of the representability theorem} |
986 | 188 | pbaillot | |
987 | 188 | pbaillot | \begin{itemize} |
988 | 188 | pbaillot | \item $\subseteq$ (soundness): |
989 | 188 | pbaillot | |
990 | 188 | pbaillot | if $t: N \fm !^k N$ for some $k$, then $t$ represents an elementary function $f$. |
991 | 188 | pbaillot | |
992 | 188 | pbaillot | \smallskip |
993 | 188 | pbaillot | |
994 | 188 | pbaillot | \textbf{proof}: compute $(t \underline{n})$ by proof-net reduction. |
995 | 188 | pbaillot | |
996 | 188 | pbaillot | \item $\supseteq$ (completeness): |
997 | 188 | pbaillot | |
998 | 188 | pbaillot | 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 | 188 | pbaillot | |
1000 | 188 | pbaillot | \smallskip |
1001 | 188 | pbaillot | |
1002 | 188 | pbaillot | \textbf{proof}: simulation of $O(2_i^n)$-time bounded Turing machine, for any $i$. |
1003 | 188 | pbaillot | |
1004 | 188 | pbaillot | \end{itemize} |
1005 | 188 | pbaillot | \end{frame} |
1006 | 188 | pbaillot | %%%%%%%%% |
1007 | 188 | pbaillot | |
1008 | 188 | pbaillot | \section{Light linear logic} |
1009 | 188 | pbaillot | |
1010 | 188 | pbaillot | \begin{frame} \frametitle{Taming the exponential blow-up?} |
1011 | 188 | pbaillot | %\begin{frame} \frametitle{Motivation: exponential blow-up} |
1012 | 188 | pbaillot | |
1013 | 188 | pbaillot | \vspace{-4mm} |
1014 | 188 | pbaillot | \begin{figure} %[ht] |
1015 | 188 | pbaillot | %\begin{center} |
1016 | 188 | pbaillot | \includegraphics[width=2.7cm]{SCANS/example_exponent.jpg} |
1017 | 188 | pbaillot | %\end{center} |
1018 | 188 | pbaillot | \end{figure} |
1019 | 188 | pbaillot | |
1020 | 188 | pbaillot | \end{frame} |
1021 | 188 | pbaillot | |
1022 | 188 | pbaillot | |
1023 | 188 | pbaillot | %----------- |
1024 | 188 | pbaillot | \begin{frame} \frametitle{Light linear logic (LLL) \qquad [Girard95]} |
1025 | 188 | pbaillot | |
1026 | 188 | pbaillot | \begin{itemize} |
1027 | 188 | pbaillot | \item Language of formulas: |
1028 | 188 | pbaillot | $$ A, B := \alpha \;|\; A \multimap B \;|\; \forall \alpha. A \;|\; !A \;|\; {\red \pa A}$$ |
1029 | 188 | pbaillot | |
1030 | 188 | pbaillot | intuition: $\pa$ a new modality for non-duplicable boxes |
1031 | 188 | pbaillot | \item The following principles are still \textbf{not} provable |
1032 | 188 | pbaillot | $$ !A \multimap A, \quad !A \multimap !!A$$ |
1033 | 188 | pbaillot | \end{itemize} |
1034 | 188 | pbaillot | \end{frame} |
1035 | 188 | pbaillot | |
1036 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1037 | 188 | pbaillot | |
1038 | 188 | pbaillot | \begin{frame} \frametitle{Light linear logic rules} |
1039 | 188 | pbaillot | |
1040 | 188 | pbaillot | \begin{itemize} |
1041 | 188 | pbaillot | \item rules (Id), ($\fm$ i), ($\fm$ e), (Cntr), (Weak): as in ELL. |
1042 | 188 | pbaillot | \item new rules ($!$ i), ($!$ e), ($\pa$ i), ($\pa$ e): |
1043 | 188 | pbaillot | |
1044 | 188 | pbaillot | \bigskip |
1045 | 188 | pbaillot | |
1046 | 188 | pbaillot | \begin{center} |
1047 | 188 | pbaillot | \begin{tabular}{ll} |
1048 | 188 | pbaillot | % {\infer[\mbox{(Id)}]{ x:A \vdash x:A}{}} & \\[1ex] |
1049 | 188 | pbaillot | % &\\ |
1050 | 188 | pbaillot | % {\infer[\mbox{($\fm$ i)}]{\Gamma \vdash \la x. t: A \fm B } |
1051 | 188 | pbaillot | % {\Gamma, x:A \vdash t:B}} |
1052 | 188 | pbaillot | % |
1053 | 188 | pbaillot | % & |
1054 | 188 | pbaillot | % {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2 \vdash (t\; u) :B } |
1055 | 188 | pbaillot | % {\Gamma_1 \vdash t:A \fm B & \Gamma_2 \vdash u:A}} |
1056 | 188 | pbaillot | %\\[1ex] |
1057 | 188 | pbaillot | %&\\ |
1058 | 188 | pbaillot | %{\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 | 188 | pbaillot | %& |
1060 | 188 | pbaillot | %{\infer[\mbox{(Weak)}]{\Gamma, x:B\vdash t: A } |
1061 | 188 | pbaillot | % {\Gamma \vdash t:A}} |
1062 | 188 | pbaillot | % |
1063 | 188 | pbaillot | %\\[1ex] |
1064 | 188 | pbaillot | %&\\ |
1065 | 188 | pbaillot | {\infer[\mbox{($!$ i)}]{x:! B \vdash t: ! A } |
1066 | 188 | pbaillot | { x :B \vdash t:A}} |
1067 | 188 | pbaillot | & |
1068 | 188 | pbaillot | {\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2 \vdash t[u \slash x] :B } |
1069 | 188 | pbaillot | {\Gamma_1 \vdash u: ! A & \Gamma_2, x:! A \vdash t:B}} |
1070 | 188 | pbaillot | \\[1ex] |
1071 | 188 | pbaillot | &\\ |
1072 | 188 | pbaillot | |
1073 | 188 | pbaillot | {\infer[\mbox{($\pa$ i)}]{! \Gamma, \pa \Delta \vdash t: \pa A } |
1074 | 188 | pbaillot | { \Gamma, \Delta \vdash t:A}} |
1075 | 188 | pbaillot | & |
1076 | 188 | pbaillot | {\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2 \vdash t[u \slash x] :B } |
1077 | 188 | pbaillot | {\Gamma_1 \vdash u: \pa A & \Gamma_2, x: \pa A \vdash t:B}} |
1078 | 188 | pbaillot | |
1079 | 188 | pbaillot | %{\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 | 188 | pbaillot | % { x_1:B_1, \dots, x_i: B_i, \dots , x_n:B_n \vdash t:A}} |
1081 | 188 | pbaillot | % & |
1082 | 188 | pbaillot | %{\infer[\mbox{($!$ e)}]{\Gamma_1,\Gamma_2 \vdash t[u \slash x] :B } |
1083 | 188 | pbaillot | % {\Gamma_1 \vdash u: \pa A & \Gamma_2, x: \pa A \vdash t:B}} |
1084 | 188 | pbaillot | %\\[1ex] |
1085 | 188 | pbaillot | |
1086 | 188 | pbaillot | %{\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma \vdash t:\forall \alpha. A}}{{ \Gamma \vdash t:A}}} |
1087 | 188 | pbaillot | % & |
1088 | 188 | pbaillot | % {\infer[\mbox{($\forall$ e)}]{\Gamma \vdash t:A[B \slash \al] } |
1089 | 188 | pbaillot | %{\Gamma \vdash t:\forall \al. A}} |
1090 | 188 | pbaillot | \end{tabular} |
1091 | 188 | pbaillot | %} |
1092 | 188 | pbaillot | \end{center} |
1093 | 188 | pbaillot | |
1094 | 188 | pbaillot | \bigskip |
1095 | 188 | pbaillot | where if $\Gamma= x_1:B_1, \dots, x_k:B_k$, |
1096 | 188 | pbaillot | |
1097 | 188 | pbaillot | $\dagger \Gamma= x_1: \dagger B_1, \dots, x_k: :\dagger B_k$, for $\dagger= !, \pa$. |
1098 | 188 | pbaillot | \end{itemize} |
1099 | 188 | pbaillot | |
1100 | 188 | pbaillot | \end{frame} |
1101 | 188 | pbaillot | |
1102 | 188 | pbaillot | %---------- |
1103 | 188 | pbaillot | \begin{frame} \frametitle{Forgetful map from LLL to ELL} |
1104 | 188 | pbaillot | |
1105 | 188 | pbaillot | |
1106 | 188 | pbaillot | Consider $\lte{(.)}: LLL \rightarrow ELL$ defined by: |
1107 | 188 | pbaillot | $$\lte{(\pa A)}= ! \lte{A}, \quad \lte{(! A)}= ! \lte{A}$$ |
1108 | 188 | pbaillot | and other connectives unchanged. |
1109 | 188 | pbaillot | %\eras{(A\fm B)}=\eras{A} \rightarrow \eras{B}, \quad \eras{(\forall \al. A)}= \forall \al. \eras{A}, \quad \eras{\al}=\al.$$ |
1110 | 188 | pbaillot | |
1111 | 188 | pbaillot | \begin{prop} |
1112 | 188 | pbaillot | If $\Gamma \vdash_{LLL} t:A$ then $\lte{\Gamma} \vdash_{ELL} t:\lte{A}$. |
1113 | 188 | pbaillot | \end{prop} |
1114 | 188 | pbaillot | |
1115 | 188 | pbaillot | \end{frame} |
1116 | 188 | pbaillot | |
1117 | 188 | pbaillot | |
1118 | 188 | pbaillot | |
1119 | 188 | pbaillot | %---------- |
1120 | 188 | pbaillot | \begin{frame} \frametitle{Data types in LLL} |
1121 | 188 | pbaillot | |
1122 | 188 | pbaillot | \begin{itemize} |
1123 | 188 | pbaillot | \item |
1124 | 188 | pbaillot | Church unary integers |
1125 | 188 | pbaillot | \end{itemize} |
1126 | 188 | pbaillot | %\begin{center} |
1127 | 188 | pbaillot | %{\tiny |
1128 | 188 | pbaillot | %\hspace{-4mm} |
1129 | 188 | pbaillot | \begin{tabular}{ccc} |
1130 | 188 | pbaillot | system F: & & LLL: \\ |
1131 | 188 | pbaillot | $N^F$ &\qquad & $N^{LLL}$ \\ |
1132 | 188 | pbaillot | $\forall \al. (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$ |
1133 | 188 | pbaillot | & & $\forall \al. \bs (\al \fm \al) \fm {\red \pa} (\al \fm \al)$ |
1134 | 188 | pbaillot | \end{tabular} |
1135 | 188 | pbaillot | |
1136 | 188 | pbaillot | %\begin{tabular}{ccc} |
1137 | 188 | pbaillot | % system F: & & ELL: \\ |
1138 | 188 | pbaillot | %$N^F$ &\qquad \qquad \qquad \qquad & $N^{ELL}$ \\ |
1139 | 188 | pbaillot | %$\forall \al. (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$ |
1140 | 188 | pbaillot | %& & $\forall \al. \bs (\al \fm \al) \fm \bs (\al \fm \al)$ |
1141 | 188 | pbaillot | %\end{tabular} |
1142 | 188 | pbaillot | %} |
1143 | 188 | pbaillot | %\end{center} |
1144 | 188 | pbaillot | \smallskip |
1145 | 188 | pbaillot | |
1146 | 188 | pbaillot | {\tiny Example: integer $2$, in F: |
1147 | 188 | pbaillot | |
1148 | 188 | pbaillot | $$ \un{2}=\lambda f^{\blue (\al \rightarrow \al)}. \lambda x^{\blue \al}. (f\;(f\; x))~.$$ |
1149 | 188 | pbaillot | } |
1150 | 188 | pbaillot | \begin{itemize} |
1151 | 188 | pbaillot | \item |
1152 | 188 | pbaillot | Church binary words |
1153 | 188 | pbaillot | \end{itemize} |
1154 | 188 | pbaillot | %{\tiny |
1155 | 188 | pbaillot | \begin{tabular}{cc} |
1156 | 188 | pbaillot | system F: & LLL: \\ |
1157 | 188 | pbaillot | $W^F$ & $W^{LLL}$\\ |
1158 | 188 | pbaillot | {\tiny $\forall \al. (\al \rightarrow \al) \rightarrow (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$} |
1159 | 188 | pbaillot | & |
1160 | 188 | pbaillot | {\tiny $\forall \al. \bs (\al \fm \al) \fm \bs (\al \fm \al) \fm {\red \pa} (\al \fm \al)$} |
1161 | 188 | pbaillot | \end{tabular} |
1162 | 188 | pbaillot | %} |
1163 | 188 | pbaillot | \smallskip |
1164 | 188 | pbaillot | |
1165 | 188 | pbaillot | {\tiny |
1166 | 188 | pbaillot | Example: $w=\langle 1, 0, 0 \rangle$, in F: |
1167 | 188 | pbaillot | |
1168 | 188 | pbaillot | $$ \un{w}=\lambda s_0^{\blue (\al \rightarrow \al)}. \lambda s_1^{\blue (\al \rightarrow \al)}. |
1169 | 188 | pbaillot | \lambda x^{\blue \al}. (s_1\;(s_0\; (s_0\; x)))~.$$ |
1170 | 188 | pbaillot | } |
1171 | 188 | pbaillot | \end{frame} |
1172 | 188 | pbaillot | |
1173 | 188 | pbaillot | %---------- |
1174 | 188 | pbaillot | |
1175 | 188 | pbaillot | \begin{frame} \frametitle{Representation of functions} |
1176 | 188 | pbaillot | |
1177 | 188 | pbaillot | \begin{itemize} |
1178 | 188 | pbaillot | \item a term $t$ of type $!^k N \fm \pa^l N$, for some $k$, $l$, represents a function over unary integers |
1179 | 188 | pbaillot | |
1180 | 188 | pbaillot | $!^k W \fm \pa^l W$: function over binary words. |
1181 | 188 | pbaillot | |
1182 | 188 | pbaillot | \item some examples of terms |
1183 | 188 | pbaillot | $$\begin{array}{lll} |
1184 | 188 | pbaillot | \mbox{addition}&&\\ |
1185 | 188 | pbaillot | add &=& \la n m f x. (n\; f) \; (m \; f \; x) \; \\ |
1186 | 188 | pbaillot | |
1187 | 188 | pbaillot | &:~ &N\fm N \fm N\\ |
1188 | 188 | pbaillot | &&\\ |
1189 | 188 | pbaillot | \mbox{double}&&\\ |
1190 | 188 | pbaillot | double &=& \la n f x. (n\; f) \; (n \; f \; x) \; \\ |
1191 | 188 | pbaillot | |
1192 | 188 | pbaillot | &:~ &! N \fm \pa N\\ |
1193 | 188 | pbaillot | \mbox{concatenation}&&\\ |
1194 | 188 | pbaillot | %conc &=& \la u^{W}. \la v^{W} .\La \al. \la o. \la z. \la x . (u \; o \; z \;(v \; o\; z \; x))\\ |
1195 | 188 | pbaillot | %conc &=& \la u^{W}. \la v^{W} . \la o. \la z. \la x . ((u) \; o \; z) \;(v) \; o\; z \; x\\ |
1196 | 188 | pbaillot | % &:~ &W\fl W \fl W\\ |
1197 | 188 | pbaillot | conc &:~ &W\fm W \fm W\\ |
1198 | 188 | pbaillot | \end{array} |
1199 | 188 | pbaillot | $$ |
1200 | 188 | pbaillot | %\mbox{multiplication}&&\\ |
1201 | 188 | pbaillot | %%mult &=& \la n m f . (n\; (m\; f)) \\ |
1202 | 188 | pbaillot | %mult' &=& \la n m f . (n\; (m\; f)) \\ |
1203 | 188 | pbaillot | % |
1204 | 188 | pbaillot | % &:~ &N\fm N \fm N\\ |
1205 | 188 | pbaillot | % |
1206 | 188 | pbaillot | %\mbox{squaring}&&\\ |
1207 | 188 | pbaillot | %square &=& \la n f . (n\; (n\; f)) \\ |
1208 | 188 | pbaillot | % |
1209 | 188 | pbaillot | % &:~ &\bs N \fm \bs N\\ |
1210 | 188 | pbaillot | %\end{array} |
1211 | 188 | pbaillot | %$$ |
1212 | 188 | pbaillot | \end{itemize} |
1213 | 188 | pbaillot | |
1214 | 188 | pbaillot | \end{frame} |
1215 | 188 | pbaillot | |
1216 | 188 | pbaillot | %---------- |
1217 | 188 | pbaillot | |
1218 | 188 | pbaillot | \begin{frame} \frametitle{Iteration in LLL} |
1219 | 188 | pbaillot | |
1220 | 188 | pbaillot | we can type the iterator $\ite$: |
1221 | 188 | pbaillot | $$ \ite= \la f {x} {n}. \; (n \; f \; x) \; : \bs (A \fm A) \fm {\red \bs A} \fm {N} \fm {\red \pa A}$$ |
1222 | 188 | pbaillot | %with $(\ite _A \; F \; t) \; \un{n} \rightarrow (F\; (F \; \dots (F\; t)\dots))$ \quad ($n$ times) |
1223 | 188 | pbaillot | |
1224 | 188 | pbaillot | \textbf{examples:} |
1225 | 188 | pbaillot | |
1226 | 188 | pbaillot | $(add \underline{3}): N \fm N$ can be iterated |
1227 | 188 | pbaillot | |
1228 | 188 | pbaillot | \smallskip |
1229 | 188 | pbaillot | |
1230 | 188 | pbaillot | $double: !N \fm \pa N$ cannot be iterated |
1231 | 188 | pbaillot | |
1232 | 188 | pbaillot | \smallskip |
1233 | 188 | pbaillot | |
1234 | 188 | pbaillot | thus some exponentially growing terms are not typable |
1235 | 188 | pbaillot | %$double'= \la n. (\ite \; (add \underline{2}) \; \un{0}) \; n\; : N \fm \pa N$ |
1236 | 188 | pbaillot | % |
1237 | 188 | pbaillot | %but $double'$ cannot be iterated. |
1238 | 188 | pbaillot | |
1239 | 188 | pbaillot | |
1240 | 188 | pbaillot | \end{frame} |
1241 | 188 | pbaillot | |
1242 | 188 | pbaillot | %%%%%%%%% |
1243 | 188 | pbaillot | \begin{frame} \frametitle{LLL proof-nets} |
1244 | 188 | pbaillot | |
1245 | 188 | pbaillot | \vspace{-3mm} |
1246 | 188 | pbaillot | \begin{figure} %[ht] |
1247 | 188 | pbaillot | %\begin{center} |
1248 | 188 | pbaillot | \includegraphics[angle=90,width=6.3cm]{SCANS/LLLboxes.jpg} |
1249 | 188 | pbaillot | %\end{center} |
1250 | 188 | pbaillot | \end{figure} |
1251 | 188 | pbaillot | |
1252 | 188 | pbaillot | \end{frame} |
1253 | 188 | pbaillot | |
1254 | 188 | pbaillot | %%%%%%%%% |
1255 | 188 | pbaillot | \begin{frame} \frametitle{LLL proof-net reduction} |
1256 | 188 | pbaillot | |
1257 | 188 | pbaillot | \vspace{-4mm} |
1258 | 188 | pbaillot | |
1259 | 188 | pbaillot | \begin{figure} %[ht] |
1260 | 188 | pbaillot | %\begin{center} |
1261 | 188 | pbaillot | \includegraphics[angle=90,width=6cm]{SCANS/LLLreduction.jpg} |
1262 | 188 | pbaillot | %\end{center} |
1263 | 188 | pbaillot | \end{figure} |
1264 | 188 | pbaillot | |
1265 | 188 | pbaillot | \end{frame} |
1266 | 188 | pbaillot | |
1267 | 188 | pbaillot | %%%%%%%%% |
1268 | 188 | pbaillot | \begin{frame} \frametitle{Level-by-level reduction of LLL proof-nets} |
1269 | 188 | pbaillot | |
1270 | 188 | pbaillot | |
1271 | 188 | pbaillot | \begin{itemize} |
1272 | 188 | pbaillot | \item as in ELL we use a level-by-level strategy |
1273 | 188 | pbaillot | \item let $R$ be an LLL proof-net of depth $d$ |
1274 | 188 | pbaillot | |
1275 | 188 | pbaillot | round $i$: reduction at depth $i$ |
1276 | 188 | pbaillot | |
1277 | 188 | pbaillot | there are $d+1$ rounds for the reduction of $R$ |
1278 | 188 | pbaillot | |
1279 | 188 | pbaillot | \item \textbf{what happens during round $i$?} |
1280 | 188 | pbaillot | \begin{itemize} |
1281 | 188 | pbaillot | \item $|R|_i$ decreases at each step |
1282 | 188 | pbaillot | |
1283 | 188 | pbaillot | thus there are at most $|R|_i$ steps \quad {\blue (size bounds time)} |
1284 | 188 | pbaillot | \item yet $|R|_{i+1}$ can increase: |
1285 | 188 | pbaillot | |
1286 | 188 | pbaillot | during round $i$ we can have a quadratic increase: |
1287 | 188 | pbaillot | |
1288 | 188 | pbaillot | $$|R'|_{i+1} \leq |R|_{i+1}^2$$ |
1289 | 188 | pbaillot | \end{itemize} |
1290 | 188 | pbaillot | \item this repeats $d$ times, so on the whole we have a $|R|^{2^d}$ size increase |
1291 | 188 | pbaillot | \item this yields a $O(|R|^{2^d})$ bound on the number of steps |
1292 | 188 | pbaillot | \end{itemize} |
1293 | 188 | pbaillot | \end{frame} |
1294 | 188 | pbaillot | |
1295 | 188 | pbaillot | %%%%%%%%% |
1296 | 188 | pbaillot | \begin{frame} \frametitle{LLL complexity results} |
1297 | 188 | pbaillot | |
1298 | 188 | pbaillot | %\begin{itemize} |
1299 | 188 | pbaillot | %\item We get |
1300 | 188 | pbaillot | \begin{theorem}[Proof-net complexity] |
1301 | 188 | pbaillot | If $R$ is an LLL proof-net of depth $d$, then it can be reduced to its normal form in |
1302 | 188 | pbaillot | $O(|R|^{2^d})$ steps. |
1303 | 188 | pbaillot | |
1304 | 188 | pbaillot | \end{theorem} |
1305 | 188 | pbaillot | |
1306 | 188 | pbaillot | Thus at fixed depth $d$ we have a polynomial bound. |
1307 | 188 | pbaillot | \medskip |
1308 | 188 | pbaillot | |
1309 | 188 | pbaillot | \begin{theorem}[Representable functions] |
1310 | 188 | pbaillot | 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 | 188 | pbaillot | \end{theorem} |
1312 | 188 | pbaillot | |
1313 | 188 | pbaillot | %\end{itemize} |
1314 | 188 | pbaillot | \end{frame} |
1315 | 188 | pbaillot | |
1316 | 188 | pbaillot | %%%%%%%%% |
1317 | 188 | pbaillot | \begin{frame} \frametitle{Further comments about LLL} |
1318 | 188 | pbaillot | |
1319 | 188 | pbaillot | \begin{itemize} |
1320 | 188 | pbaillot | \item \textbf{LLL and $\lambda$-calculus}: |
1321 | 188 | pbaillot | |
1322 | 188 | pbaillot | 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 | 188 | pbaillot | \item \textbf{about expressivity}: |
1324 | 188 | pbaillot | |
1325 | 188 | pbaillot | the completeness result is an extensional one |
1326 | 188 | pbaillot | |
1327 | 188 | pbaillot | but the intensional expressivity of LLL is quite limited |
1328 | 188 | pbaillot | |
1329 | 188 | pbaillot | \smallskip |
1330 | 188 | pbaillot | |
1331 | 188 | pbaillot | indeed: rich features (higher-order, polymorphism) but "pessimistic" account of iteration \dots |
1332 | 188 | pbaillot | \end{itemize} |
1333 | 188 | pbaillot | \end{frame} |
1334 | 188 | pbaillot | |
1335 | 188 | pbaillot | \section{Other linear logic variants} |
1336 | 188 | pbaillot | |
1337 | 188 | pbaillot | %%%%%%%%% |
1338 | 188 | pbaillot | \begin{frame} \frametitle{A glimpse of a linear logics zoo} |
1339 | 188 | pbaillot | |
1340 | 188 | pbaillot | \begin{itemize} |
1341 | 188 | pbaillot | \item for P |
1342 | 188 | pbaillot | \begin{itemize} |
1343 | 188 | pbaillot | \item soft linear logic: {\tiny [Lafont04]} |
1344 | 188 | pbaillot | |
1345 | 188 | pbaillot | a simple system, but with more constrained programming |
1346 | 188 | pbaillot | |
1347 | 188 | pbaillot | \item bounded linear logic: {\tiny [GSS92]} |
1348 | 188 | pbaillot | |
1349 | 188 | pbaillot | $!_{P(\vec{x})} A$ : more explicit, but more flexible |
1350 | 188 | pbaillot | \end{itemize} |
1351 | 188 | pbaillot | \item for EXPTIME and $k$-EXPTIME |
1352 | 188 | pbaillot | \begin{itemize} |
1353 | 188 | pbaillot | \item ELL again: see tomorrow's talk |
1354 | 188 | pbaillot | \end{itemize} |
1355 | 188 | pbaillot | \item for PSPACE |
1356 | 188 | pbaillot | \begin{itemize} |
1357 | 188 | pbaillot | \item $STA_B$ {\tiny [GMRdR08]} : extends soft linear logic with a craftly typed conditional |
1358 | 188 | pbaillot | \end{itemize} |
1359 | 188 | pbaillot | \item for LOGSPACE |
1360 | 188 | pbaillot | \begin{itemize} |
1361 | 188 | pbaillot | \item $IntML$ {\tiny[DLS10]}: evaluation by computation by interaction |
1362 | 188 | pbaillot | \end{itemize} |
1363 | 188 | pbaillot | \end{itemize} |
1364 | 188 | pbaillot | \end{frame} |
1365 | 188 | pbaillot | |
1366 | 188 | pbaillot | %\section{Conclusion} |
1367 | 188 | pbaillot | %%%%%%%%%%%%%%%% |
1368 | 188 | pbaillot | \begin{frame}{Conclusions and perspectives} |
1369 | 188 | pbaillot | \begin{itemize} |
1370 | 188 | pbaillot | \item while ramified recursion is based on a stratification of data, |
1371 | 188 | pbaillot | |
1372 | 188 | pbaillot | ELL / LLL are based on a stratification of programs |
1373 | 188 | pbaillot | \item they yield type systems for $\lambda$-calculus |
1374 | 188 | pbaillot | \item w.r.t. other ICC approaches: |
1375 | 188 | pbaillot | \begin{itemize} |
1376 | 188 | pbaillot | \item handle higher-order computation |
1377 | 188 | pbaillot | \item but limited intensional expressivity |
1378 | 188 | pbaillot | \end{itemize} |
1379 | 188 | pbaillot | relations with other ICC systems are still to explore |
1380 | 188 | pbaillot | %\item still to explore: how they relate to other more expressive ICC approaches (interpretations, NSI types) |
1381 | 188 | pbaillot | \item light logics are languages for higher-order computation, but we only characterize first-order complexity classes \dots |
1382 | 188 | pbaillot | |
1383 | 188 | pbaillot | what about higher-order complexity? |
1384 | 188 | pbaillot | \end{itemize} |
1385 | 188 | pbaillot | \end{frame} |
1386 | 188 | pbaillot | |
1387 | 188 | pbaillot | \end{document} |
1388 | 188 | pbaillot | |
1389 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1390 | 188 | pbaillot | %%%%%%%%%%%%%%%%% GARBAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1391 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
1392 | 188 | pbaillot | |
1393 | 188 | pbaillot | |
1394 | 188 | pbaillot | %----------- |
1395 | 188 | pbaillot | \begin{frame} \frametitle{Light linear logic, LLL (Girard 98)} |
1396 | 188 | pbaillot | |
1397 | 188 | pbaillot | %\vspace{-8mm} |
1398 | 188 | pbaillot | |
1399 | 188 | pbaillot | $$ |
1400 | 188 | pbaillot | \begin{array}{ccc} |
1401 | 188 | pbaillot | \bs A \fm \bs A \otimes \bs A \qquad & \infer{ \bs A\vdash \bs B}{A \vdash B} \qquad & \\ |
1402 | 188 | pbaillot | & \bs A \otimes \bs B \fm \pa (A \otimes B) & |
1403 | 188 | pbaillot | \end{array} |
1404 | 188 | pbaillot | $$ |
1405 | 188 | pbaillot | |
1406 | 188 | pbaillot | \begin{tabular}{ll} |
1407 | 188 | pbaillot | new modality $\pa$, with: & $\bs A \fm \pa A$\\ |
1408 | 188 | pbaillot | $\pa$ is a functor and &$\pa A \otimes \pa B \fm \pa(A\otimes B)$ |
1409 | 188 | pbaillot | \end{tabular} |
1410 | 188 | pbaillot | |
1411 | 188 | pbaillot | $\longrightarrow$ manages to avoid both exponentiation schemes |
1412 | 188 | pbaillot | |
1413 | 188 | pbaillot | \smallskip |
1414 | 188 | pbaillot | |
1415 | 188 | pbaillot | Light affine logic (LAL) is the variant with full weakening. |
1416 | 188 | pbaillot | \end{frame} |
1417 | 188 | pbaillot | |
1418 | 188 | pbaillot | %%%%%%%%%%% |
1419 | 188 | pbaillot | \begin{frame} \frametitle{Light linear logic: properties} |
1420 | 188 | pbaillot | Proofs can be represented as \textit{proof-nets} (graphs). Normalization of proof-nets |
1421 | 188 | pbaillot | corresponds to program execution. |
1422 | 188 | pbaillot | \smallskip |
1423 | 188 | pbaillot | |
1424 | 188 | pbaillot | \begin{theo}[Girard] %[Girard 95] |
1425 | 188 | pbaillot | Light linear logic \textit{proof-nets} admit a polynomial time normalization (at fixed \textit{depth}). |
1426 | 188 | pbaillot | \end{theo} |
1427 | 188 | pbaillot | |
1428 | 188 | pbaillot | %\smallskip |
1429 | 188 | pbaillot | |
1430 | 188 | pbaillot | \begin{theo}[Completeness. Girard/Asperti-Roversi] |
1431 | 188 | pbaillot | %All polynomial time functions on binary lists |
1432 | 188 | pbaillot | All polynomial time functions $f: \{0,1\}^{\star} \rightarrow \{0,1\}^{\star}$ |
1433 | 188 | pbaillot | can be represented in Light Linear Logic (resp. Light \textit{Affine} Logic). |
1434 | 188 | pbaillot | \end{theo} |
1435 | 188 | pbaillot | |
1436 | 188 | pbaillot | \end{frame} |
1437 | 188 | pbaillot | |
1438 | 188 | pbaillot | %----------- |
1439 | 188 | pbaillot | \begin{frame} \frametitle{ Light linear logic and typing} |
1440 | 188 | pbaillot | |
1441 | 188 | pbaillot | %\vspace{-3mm} |
1442 | 188 | pbaillot | |
1443 | 188 | pbaillot | Can we use LLL or LAL directly as type systems for lambda calculus~? |
1444 | 188 | pbaillot | \smallskip |
1445 | 188 | pbaillot | There are two pitfalls: |
1446 | 188 | pbaillot | \begin{itemize} |
1447 | 188 | pbaillot | \item they do not give subject-reduction, |
1448 | 188 | pbaillot | \item no polynomial bound on the number of $\beta$-reduction steps for typed terms (even if there is one on proof-net normalization). |
1449 | 188 | pbaillot | \end{itemize} |
1450 | 188 | pbaillot | \end{frame} |
1451 | 188 | pbaillot | |
1452 | 188 | pbaillot | %----------- |
1453 | 188 | pbaillot | \begin{frame} \frametitle{Type system DLAL} |
1454 | 188 | pbaillot | |
1455 | 188 | pbaillot | %\vspace{-3mm} |
1456 | 188 | pbaillot | % |
1457 | 188 | pbaillot | %Can we use LLL or LAL directly as type systems for lambda calculus~? |
1458 | 188 | pbaillot | % There are two pitfalls: |
1459 | 188 | pbaillot | %\begin{itemize} |
1460 | 188 | pbaillot | %\item they do not give subject-reduction, |
1461 | 188 | pbaillot | %\item no polynomial bound on the number of $\beta$-reduction steps for typed terms (even if there is one on proof-net normalization). |
1462 | 188 | pbaillot | %\end{itemize} |
1463 | 188 | pbaillot | |
1464 | 188 | pbaillot | %\medskip |
1465 | 188 | pbaillot | %$\rightarrow$ To overcome these problems: |
1466 | 188 | pbaillot | |
1467 | 188 | pbaillot | To overcome the problems with typing in LAL: |
1468 | 188 | pbaillot | |
1469 | 188 | pbaillot | we can restrict in Light affine logic the use of $\bs$ to $\bs A \fm B$, denoted $A \fli B$ |
1470 | 188 | pbaillot | |
1471 | 188 | pbaillot | the DLAL (\textit{Dual Light Affine Logic}) type system [Baillot-Terui04]: |
1472 | 188 | pbaillot | $$ A, B ::= \alpha \; |\; A \fm B \; |\; A \fli B \; |\; \pa A \; |\; \forall \alpha. A$$ |
1473 | 188 | pbaillot | |
1474 | 188 | pbaillot | \vspace{-4mm} |
1475 | 188 | pbaillot | typing judgements of the form: $ {\blue \Gamma} ; {\red \Delta} \vdash t: A$, |
1476 | 188 | pbaillot | where |
1477 | 188 | pbaillot | |
1478 | 188 | pbaillot | \begin{tabular}{l} |
1479 | 188 | pbaillot | $ {\blue \Gamma}$ contains duplicable variables,\\ |
1480 | 188 | pbaillot | ${\red \Delta}$ contains linear variables. |
1481 | 188 | pbaillot | \end{tabular} |
1482 | 188 | pbaillot | \end{frame} |
1483 | 188 | pbaillot | |
1484 | 188 | pbaillot | %---------- |
1485 | 188 | pbaillot | % |
1486 | 188 | pbaillot | %%\overlays{8}{ |
1487 | 188 | pbaillot | %\begin{frame} \frametitle{DLAL typing rules} |
1488 | 188 | pbaillot | %%\DefaultTransition{Dissolve} |
1489 | 188 | pbaillot | %{\tiny |
1490 | 188 | pbaillot | %%\onlySlide*{1}{ |
1491 | 188 | pbaillot | %% \begin{center} |
1492 | 188 | pbaillot | %%\hspace{-12mm} |
1493 | 188 | pbaillot | %%\fbox{ |
1494 | 188 | pbaillot | %\begin{tabular}{l@{\hspace{-2mm}}l} |
1495 | 188 | pbaillot | % {\infer[\mbox{(Id)}]{; x:A \vdash x:A}{}} & \\ |
1496 | 188 | pbaillot | %% &\\ |
1497 | 188 | pbaillot | % |
1498 | 188 | pbaillot | %\untilSlide*{2}{ |
1499 | 188 | pbaillot | %{\infer[\mbox{($\fm$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fm B } |
1500 | 188 | pbaillot | % {\Gamma_1; \Delta_1, x:A \vdash t:B}} |
1501 | 188 | pbaillot | %} |
1502 | 188 | pbaillot | %\onlySlide*{3}{ |
1503 | 188 | pbaillot | %{\red \infer[\mbox{($\fm$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fm B } |
1504 | 188 | pbaillot | % {\Gamma_1{\blue ;} \Delta_1, x:A \vdash t:B}} |
1505 | 188 | pbaillot | %} |
1506 | 188 | pbaillot | %\fromSlide*{4}{ |
1507 | 188 | pbaillot | %{\infer[\mbox{($\fm$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fm B } |
1508 | 188 | pbaillot | % {\Gamma_1; \Delta_1, x:A \vdash t:B}} |
1509 | 188 | pbaillot | %} |
1510 | 188 | pbaillot | % & |
1511 | 188 | pbaillot | % {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash (t\; u) :B } |
1512 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash t:A \fm B & \Gamma_2; \Delta_2 \vdash u:A}} |
1513 | 188 | pbaillot | %\\[1ex] |
1514 | 188 | pbaillot | % |
1515 | 188 | pbaillot | %\untilSlide*{2}{ |
1516 | 188 | pbaillot | %{\infer[\mbox{($\fli$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fli B } |
1517 | 188 | pbaillot | % {\Gamma_1, x:A ; \Delta_1\vdash t:B}} |
1518 | 188 | pbaillot | %} |
1519 | 188 | pbaillot | %\onlySlide*{3}{\red |
1520 | 188 | pbaillot | %{\infer[\mbox{($\fli$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fli B } |
1521 | 188 | pbaillot | % {\Gamma_1, x:A {\blue ;} \Delta_1\vdash t:B}} |
1522 | 188 | pbaillot | %} |
1523 | 188 | pbaillot | %\fromSlide*{4}{ |
1524 | 188 | pbaillot | %{\infer[\mbox{($\fli$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fli B } |
1525 | 188 | pbaillot | % {\Gamma_1, x:A ; \Delta_1\vdash t:B}} |
1526 | 188 | pbaillot | %} |
1527 | 188 | pbaillot | % & |
1528 | 188 | pbaillot | %\untilSlide*{3}{ |
1529 | 188 | pbaillot | %{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B } |
1530 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash t:A \fli B & ; z:C \vdash u:A}} |
1531 | 188 | pbaillot | %} |
1532 | 188 | pbaillot | %\onlySlide*{4}{\red |
1533 | 188 | pbaillot | %{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B } |
1534 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash t:A \fli B & {\blue ; z:C \vdash u:A }}} |
1535 | 188 | pbaillot | %} |
1536 | 188 | pbaillot | %\onlySlide*{5}{ |
1537 | 188 | pbaillot | %{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B } |
1538 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash t:A \fli B & ; z:C \vdash u:A}} |
1539 | 188 | pbaillot | %} |
1540 | 188 | pbaillot | %\onlySlide*{6}{ |
1541 | 188 | pbaillot | %{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B } |
1542 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash t:A \fli B & ; z:C \vdash u:A}} |
1543 | 188 | pbaillot | %} |
1544 | 188 | pbaillot | %\fromSlide*{7}{ |
1545 | 188 | pbaillot | %{\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B } |
1546 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash t:A \fli B & {\blue ; z:C \vdash u:A}}} |
1547 | 188 | pbaillot | %} |
1548 | 188 | pbaillot | % |
1549 | 188 | pbaillot | %\\[1ex] |
1550 | 188 | pbaillot | %{\infer[\mbox{(Weak)}]{\Gamma_1, \Gamma_2; \Delta_1, \Delta_2 \vdash t: A } |
1551 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash t:A}} |
1552 | 188 | pbaillot | % & |
1553 | 188 | pbaillot | %\onlySlide*{1}{ |
1554 | 188 | pbaillot | %{\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 | 188 | pbaillot | %} |
1556 | 188 | pbaillot | %\onlySlide*{2}{\red |
1557 | 188 | pbaillot | %{\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 | 188 | pbaillot | %} |
1559 | 188 | pbaillot | %\fromSlide*{3}{ |
1560 | 188 | pbaillot | %{\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 | 188 | pbaillot | %} |
1562 | 188 | pbaillot | %\\[1ex] |
1563 | 188 | pbaillot | % |
1564 | 188 | pbaillot | %\untilSlide*{4}{ |
1565 | 188 | pbaillot | %{\infer[\mbox{($\pa$ i)}]{\Gamma ; x_1:\pa B_1, \dots, x_n:\pa B_n \vdash t: \pa A } |
1566 | 188 | pbaillot | % { ; \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}} |
1567 | 188 | pbaillot | %} |
1568 | 188 | pbaillot | %\onlySlide*{5}{\red |
1569 | 188 | pbaillot | %{\infer[\mbox{($\pa$ i)}]{\Gamma {\blue ;} x_1:\pa B_1, \dots, x_n:\pa B_n \vdash t: \pa A } |
1570 | 188 | pbaillot | % { {\blue ;} \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}} |
1571 | 188 | pbaillot | %} |
1572 | 188 | pbaillot | %\onlySlide*{6}{ |
1573 | 188 | pbaillot | %{\infer[\mbox{($\pa$ i)}]{\Gamma ; x_1:\pa B_1, \dots, x_n:\pa B_n \vdash t: \pa A } |
1574 | 188 | pbaillot | % { ; \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}} |
1575 | 188 | pbaillot | %} |
1576 | 188 | pbaillot | %\fromSlide*{7}{ |
1577 | 188 | pbaillot | %{\infer[\mbox{($\pa$ i)}]{ \Gamma ; x_1:\pa B_1, \dots, x_n:\pa B_n \vdash t: \pa A } |
1578 | 188 | pbaillot | % { {\blue ; \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}}} |
1579 | 188 | pbaillot | %} |
1580 | 188 | pbaillot | % |
1581 | 188 | pbaillot | % & |
1582 | 188 | pbaillot | %%\hspace{-10mm} |
1583 | 188 | pbaillot | % |
1584 | 188 | pbaillot | % \untilSlide*{5}{ |
1585 | 188 | pbaillot | % {\infer[\mbox{\hspace{-1mm}($\pa$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash t[u \slash x] :B } |
1586 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash u: \pa A & \Gamma_2; x:\pa A, \Delta_2 \vdash t:B}} |
1587 | 188 | pbaillot | %} |
1588 | 188 | pbaillot | %\onlySlide*{6}{\red |
1589 | 188 | pbaillot | % {\infer[\mbox{\hspace{-1mm}($\pa$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash t[u \slash x] :B } |
1590 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash u: \pa A & \Gamma_2; x:\pa A, \Delta_2 \vdash t:B}} |
1591 | 188 | pbaillot | %} |
1592 | 188 | pbaillot | %\fromSlide*{7}{ |
1593 | 188 | pbaillot | % {\infer[\mbox{\hspace{-1mm}($\pa$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash t[u \slash x] :B } |
1594 | 188 | pbaillot | % {\Gamma_1; \Delta_1 \vdash u: \pa A & \Gamma_2; x:\pa A, \Delta_2 \vdash t:B}} |
1595 | 188 | pbaillot | %} |
1596 | 188 | pbaillot | % |
1597 | 188 | pbaillot | %\\[1ex] |
1598 | 188 | pbaillot | %\fromSlide*{8}{ %% ajout? 26/6 |
1599 | 188 | pbaillot | %{\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma_1; \Delta_1 \vdash t:\forall \alpha. A}}{{ \Gamma_1; \Delta_1 \vdash t:A}}}} |
1600 | 188 | pbaillot | % & |
1601 | 188 | pbaillot | %\fromSlide*{8}{ |
1602 | 188 | pbaillot | % {\infer[\mbox{($\forall$ e)}]{\Gamma_1; \Delta_1 \vdash t:A[B \slash \al] } |
1603 | 188 | pbaillot | %{\Gamma_1; \Delta_1 \vdash t:\forall \al. A}} |
1604 | 188 | pbaillot | %} |
1605 | 188 | pbaillot | % |
1606 | 188 | pbaillot | % \end{tabular} |
1607 | 188 | pbaillot | % |
1608 | 188 | pbaillot | %%} |
1609 | 188 | pbaillot | %%\end{center} |
1610 | 188 | pbaillot | %%} |
1611 | 188 | pbaillot | %} |
1612 | 188 | pbaillot | % |
1613 | 188 | pbaillot | % |
1614 | 188 | pbaillot | %\medskip |
1615 | 188 | pbaillot | % |
1616 | 188 | pbaillot | %\onlySlide*{2} |
1617 | 188 | pbaillot | %{ |
1618 | 188 | pbaillot | %\begin{lem}\label{linearitylemma} |
1619 | 188 | pbaillot | % If $\Gamma ; \Delta \vdash_{DLAL} t:A$ and $x \in |
1620 | 188 | pbaillot | % \Delta$ then $x$ has at most one occurrence in $t$. |
1621 | 188 | pbaillot | %\end{lem} |
1622 | 188 | pbaillot | %} |
1623 | 188 | pbaillot | % |
1624 | 188 | pbaillot | % |
1625 | 188 | pbaillot | %\onlySlide*{3} |
1626 | 188 | pbaillot | %{ |
1627 | 188 | pbaillot | % $(\fm i)$ (resp. $(\fli i)$) corresponds to abstraction on a linear (resp. non-linear) variable, |
1628 | 188 | pbaillot | %} |
1629 | 188 | pbaillot | % |
1630 | 188 | pbaillot | %\onlySlide*{4} |
1631 | 188 | pbaillot | %{ |
1632 | 188 | pbaillot | %an argument {\blue $u$} of a term {\red $t$} of type {\red $A\fli B$} must have at most one |
1633 | 188 | pbaillot | %free variable {\blue $z$}, which is moreover linear. |
1634 | 188 | pbaillot | % |
1635 | 188 | pbaillot | %{\red $\rightarrow$ prevents 2nd exponentiation scheme (contraction-iteration)}. |
1636 | 188 | pbaillot | %} |
1637 | 188 | pbaillot | % |
1638 | 188 | pbaillot | %\onlySlide*{5} |
1639 | 188 | pbaillot | %{ |
1640 | 188 | pbaillot | % the rule ($\pa$ i) allows to turn linear variables (in $\Gamma$) into non-linear ones. |
1641 | 188 | pbaillot | % |
1642 | 188 | pbaillot | %\medskip |
1643 | 188 | pbaillot | % |
1644 | 188 | pbaillot | %{\red $\rightarrow$ prevents 1st exponentiation scheme (iteration-iteration)}. |
1645 | 188 | pbaillot | %} |
1646 | 188 | pbaillot | % |
1647 | 188 | pbaillot | %%\fromSlide*{6} |
1648 | 188 | pbaillot | %%{ |
1649 | 188 | pbaillot | %% \begin{prop} |
1650 | 188 | pbaillot | %%If $\cal D$ has conclusion $\Gamma;\Delta \vdash_{DLAL} t: A$ |
1651 | 188 | pbaillot | %%then $|t| \leq |{\cal D}|$. |
1652 | 188 | pbaillot | %%\end{prop} |
1653 | 188 | pbaillot | %%} |
1654 | 188 | pbaillot | % |
1655 | 188 | pbaillot | %\onlySlide*{7} |
1656 | 188 | pbaillot | %{ |
1657 | 188 | pbaillot | % \textit{Depth} $d$ of a derivation $\cal D$: maximal number of ($\pa$ i) and r.h.s. |
1658 | 188 | pbaillot | % premises of ($\fli$ e) in |
1659 | 188 | pbaillot | %a branch of $\cal D$. |
1660 | 188 | pbaillot | %} |
1661 | 188 | pbaillot | % |
1662 | 188 | pbaillot | %\fromSlide*{8} |
1663 | 188 | pbaillot | %{ |
1664 | 188 | pbaillot | % (*) $\alpha \notin \Gamma_1, \Delta_1$. |
1665 | 188 | pbaillot | %} |
1666 | 188 | pbaillot | % |
1667 | 188 | pbaillot | %\end{frame} |
1668 | 188 | pbaillot | %%} |
1669 | 188 | pbaillot | |
1670 | 188 | pbaillot | %---------- |
1671 | 188 | pbaillot | \begin{frame} \frametitle{DLAL and system F} |
1672 | 188 | pbaillot | |
1673 | 188 | pbaillot | \begin{itemize} |
1674 | 188 | pbaillot | \item Forgetful map $(.)^-$ from DLAL to F: |
1675 | 188 | pbaillot | \begin{itemize} |
1676 | 188 | pbaillot | \item remove occurrences of $\S$, |
1677 | 188 | pbaillot | \item replace $\fm$ and $\fli$ with $\rightarrow$. |
1678 | 188 | pbaillot | \end{itemize} |
1679 | 188 | pbaillot | |
1680 | 188 | pbaillot | $(.)^-$ gives a map from DLAL derivations to system F derivations. |
1681 | 188 | pbaillot | |
1682 | 188 | pbaillot | \item Data types in DLAL: |
1683 | 188 | pbaillot | |
1684 | 188 | pbaillot | \medskip |
1685 | 188 | pbaillot | |
1686 | 188 | pbaillot | |
1687 | 188 | pbaillot | %\begin{center} |
1688 | 188 | pbaillot | {\tiny |
1689 | 188 | pbaillot | \begin{tabular}{l@{\hspace{0mm}}ll} |
1690 | 188 | pbaillot | & \quad F & \quad DLAL \\ |
1691 | 188 | pbaillot | %$N^{EAL}$ & $N^{LAL}$ \\ |
1692 | 188 | pbaillot | \hspace{-1.2cm} |
1693 | 188 | pbaillot | Church integers& $\forall \al. (\al \rightarrow \al) \rightarrow (\al \rightarrow \al)$ & |
1694 | 188 | pbaillot | $\forall \al. (\al \fm \al) \fli \S (\al \fm \al)$\\ |
1695 | 188 | pbaillot | \hspace{-1.2cm} |
1696 | 188 | pbaillot | binary lists |
1697 | 188 | pbaillot | &$\forall \al. (\al \rightarrow \al) \rightarrow (\al \rightarrow \al) |
1698 | 188 | pbaillot | \rightarrow (\al \rightarrow \al)$ |
1699 | 188 | pbaillot | & |
1700 | 188 | pbaillot | $\forall \al. (\al \fm \al) {\red \fli} (\al \fm \al) {\red \fli} \S (\al {\blue \fm} \al)$ |
1701 | 188 | pbaillot | \end{tabular} |
1702 | 188 | pbaillot | } |
1703 | 188 | pbaillot | |
1704 | 188 | pbaillot | \medskip |
1705 | 188 | pbaillot | |
1706 | 188 | pbaillot | {\tiny |
1707 | 188 | pbaillot | Example for binary lists: $w=\langle 1, 0, 0 \rangle$: |
1708 | 188 | pbaillot | |
1709 | 188 | pbaillot | $$ \un{w}={\red \lambda s_0}^{\black (\al \rightarrow \al)}. {\red \lambda s_1}^{\black (\al \rightarrow \al)}. |
1710 | 188 | pbaillot | {\blue \lambda x}^{\black \al}. (s_1\;(s_0\; (s_0\; x)))~.$$ |
1711 | 188 | pbaillot | } |
1712 | 188 | pbaillot | \end{itemize} |
1713 | 188 | pbaillot | |
1714 | 188 | pbaillot | \end{frame} |
1715 | 188 | pbaillot | |
1716 | 188 | pbaillot | %---------- |
1717 | 188 | pbaillot | \begin{frame} \frametitle{Intuitionistic Proof-Nets for DLAL terms} |
1718 | 188 | pbaillot | |
1719 | 188 | pbaillot | \vspace{-5mm} |
1720 | 188 | pbaillot | $(A \fli B)^{\star}=\bs A^{\star} \fm B^{\star}$ |
1721 | 188 | pbaillot | |
1722 | 188 | pbaillot | %\smallskip |
1723 | 188 | pbaillot | %$\moda_i= \bs \mbox{ or } \pa$ |
1724 | 188 | pbaillot | |
1725 | 188 | pbaillot | \vspace{-7mm} |
1726 | 188 | pbaillot | |
1727 | 188 | pbaillot | \begin{figure} %[ht] |
1728 | 188 | pbaillot | \begin{center} |
1729 | 188 | pbaillot | \input PN_35.pstex_t |
1730 | 188 | pbaillot | \end{center} |
1731 | 188 | pbaillot | %\caption{Lambda terms and Light proof-nets.}\label{schema1} |
1732 | 188 | pbaillot | |
1733 | 188 | pbaillot | \end{figure} |
1734 | 188 | pbaillot | |
1735 | 188 | pbaillot | \vspace{-4mm} |
1736 | 188 | pbaillot | |
1737 | 188 | pbaillot | \textit{depth} of an edge: number of boxes it is contained in. |
1738 | 188 | pbaillot | |
1739 | 188 | pbaillot | \vspace{-1mm} |
1740 | 188 | pbaillot | |
1741 | 188 | pbaillot | \textit{depth} of proof-net: maximal depth of its edges. |
1742 | 188 | pbaillot | \end{frame} |
1743 | 188 | pbaillot | |
1744 | 188 | pbaillot | %---------- |
1745 | 188 | pbaillot | \begin{frame} \frametitle{Proof-net reduction} |
1746 | 188 | pbaillot | |
1747 | 188 | pbaillot | \vspace{-5mm} |
1748 | 188 | pbaillot | \begin{figure} %[ht] |
1749 | 188 | pbaillot | \begin{center} |
1750 | 188 | pbaillot | \input redPN_mult25.pstex_t \hspace{12mm} \input redPN_cont25.pstex_t |
1751 | 188 | pbaillot | |
1752 | 188 | pbaillot | \input redPN_!!25.pstex_t |
1753 | 188 | pbaillot | \hspace{12mm}\input redPN_pp25.pstex_t |
1754 | 188 | pbaillot | \end{center} |
1755 | 188 | pbaillot | %\caption{Lambda terms and Light proof-nets.}\label{schema1} |
1756 | 188 | pbaillot | \end{figure} |
1757 | 188 | pbaillot | %\vspace{-5mm} |
1758 | 188 | pbaillot | During normalization: the depth of an edge is unchanged. |
1759 | 188 | pbaillot | \end{frame} |
1760 | 188 | pbaillot | |
1761 | 188 | pbaillot | %---------- |
1762 | 188 | pbaillot | \begin{frame} \frametitle{Example} |
1763 | 188 | pbaillot | |
1764 | 188 | pbaillot | $$M= (\la f. (f \;(f \; x)))((\la h. h) \; g) $$ |
1765 | 188 | pbaillot | It can be given the following simple type: |
1766 | 188 | pbaillot | |
1767 | 188 | pbaillot | $$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 | 188 | pbaillot | |
1769 | 188 | pbaillot | \end{frame} |
1770 | 188 | pbaillot | |
1771 | 188 | pbaillot | |
1772 | 188 | pbaillot | %---------- |
1773 | 188 | pbaillot | \begin{frame} \frametitle{Example} |
1774 | 188 | pbaillot | |
1775 | 188 | pbaillot | $$M= (\la f. (f \;(f \; x)))((\la h. h) \; g) $$ |
1776 | 188 | pbaillot | |
1777 | 188 | pbaillot | \begin{figure}[ht] |
1778 | 188 | pbaillot | \begin{center} |
1779 | 188 | pbaillot | \input exemplesquelette40.pstex_t %% r?duire ? ?chelle 40 ? |
1780 | 188 | pbaillot | %\input exemplesquelette60.pstex_t |
1781 | 188 | pbaillot | \end{center} |
1782 | 188 | pbaillot | %\caption{Example of Classical Proof-Net.}\label{exampleCPN} |
1783 | 188 | pbaillot | \end{figure} |
1784 | 188 | pbaillot | |
1785 | 188 | pbaillot | \end{frame} |
1786 | 188 | pbaillot | |
1787 | 188 | pbaillot | %------------------ |
1788 | 188 | pbaillot | \begin{frame} \frametitle{Example of type derivation} |
1789 | 188 | pbaillot | |
1790 | 188 | pbaillot | $$M= (\la f. (f \;(f \; x)))((\la h. h) \; g) $$ |
1791 | 188 | pbaillot | |
1792 | 188 | pbaillot | %\hspace{-5mm} |
1793 | 188 | pbaillot | \begin{center} |
1794 | 188 | pbaillot | \begin{figure}[ht] |
1795 | 188 | pbaillot | {\tiny |
1796 | 188 | pbaillot | \begin{prooftree} |
1797 | 188 | pbaillot | %\AxiomC{$;f_1: \al \fm \al \vdash f_1: \al \fm \al$ } |
1798 | 188 | pbaillot | %\AxiomC{$;f_2: \al \fm \al \vdash f_2: \al \fm \al$ } |
1799 | 188 | pbaillot | %\AxiomC{$;x: \al \vdash x: \al$ } |
1800 | 188 | pbaillot | %\BinaryInfC{$; f_2: \al \fm \al , x: \al \vdash (f_2) \; x: \al $} |
1801 | 188 | pbaillot | \AxiomC{\dots} |
1802 | 188 | pbaillot | \UnaryInfC{$; f_2: \al \fm \al , x: \al \vdash (f_2) \; x: \al $} |
1803 | 188 | pbaillot | \AxiomC{$;f_1: \al \fm \al \vdash f_1: \al \fm \al$ } |
1804 | 188 | pbaillot | \kernHyps{10mm} |
1805 | 188 | pbaillot | \BinaryInfC{$; f_1: \beta, f_2: \beta, x: \al \vdash (f_1) \; ((f_2) \; x ): \al$} |
1806 | 188 | pbaillot | \LeftLabel{($\pa$ i)}\UnaryInfC{{\blue $ f_1: \beta, f_2: \beta; x: \pa \al \vdash (f_1) \; ((f_2) \; x ): \pa \al$}} |
1807 | 188 | pbaillot | \UnaryInfC{$ f: \beta; x: \pa \al \vdash (f) \; ((f) \; x ): \pa \al$} |
1808 | 188 | pbaillot | \UnaryInfC{$ ; x:\pa \al \vdash\la f. (f) \; ((f) \; x ): \beta \fli \pa \al $} |
1809 | 188 | pbaillot | |
1810 | 188 | pbaillot | %\AxiomC{$;g: \al \fm \al\vdash g: \al \fm \al$ } |
1811 | 188 | pbaillot | \AxiomC{$;h: \beta\vdash h: \beta$ } |
1812 | 188 | pbaillot | \UnaryInfC{$; \vdash \la h . h: \beta \fm \beta $} |
1813 | 188 | pbaillot | \AxiomC{$;g: \beta\vdash g: \beta$ } |
1814 | 188 | pbaillot | %{\red |
1815 | 188 | pbaillot | \BinaryInfC{{\red $; g: \beta \vdash (\la h . h)\; g: \beta $}} |
1816 | 188 | pbaillot | %} |
1817 | 188 | pbaillot | \insertBetweenHyps{\hspace{-1.9cm}} |
1818 | 188 | pbaillot | \LeftLabel{($\fli$ e)}\BinaryInfC{$g: \beta; x: \pa \al \vdash (\la f. (f) \; ((f) \; x )) ((\la h . h)\; g): \pa \al $} |
1819 | 188 | pbaillot | \end{prooftree} |
1820 | 188 | pbaillot | } |
1821 | 188 | pbaillot | where $\beta=\al \fm \al .$ |
1822 | 188 | pbaillot | \end{figure} |
1823 | 188 | pbaillot | \end{center} |
1824 | 188 | pbaillot | \end{frame} |
1825 | 188 | pbaillot | |
1826 | 188 | pbaillot | %--------------- |
1827 | 188 | pbaillot | \begin{frame} \frametitle{Example} |
1828 | 188 | pbaillot | |
1829 | 188 | pbaillot | $$M= (\la f. {\blue (f \;(f \; x))}){\red ((\la h. h) \; g)} $$ |
1830 | 188 | pbaillot | |
1831 | 188 | pbaillot | %\vspace{-4mm} |
1832 | 188 | pbaillot | %we want to turn it into an (intuitionistic) proof-net like: %PN like: |
1833 | 188 | pbaillot | |
1834 | 188 | pbaillot | %{\tiny |
1835 | 188 | pbaillot | %$ |
1836 | 188 | pbaillot | %\begin{array}{ccc} |
1837 | 188 | pbaillot | %@ & = & (\fm L) \\ |
1838 | 188 | pbaillot | %\la & = & (\fm R) |
1839 | 188 | pbaillot | %\end{array} |
1840 | 188 | pbaillot | %$ |
1841 | 188 | pbaillot | %} |
1842 | 188 | pbaillot | \begin{figure}[ht] |
1843 | 188 | pbaillot | \begin{center} |
1844 | 188 | pbaillot | \input examplePNcolors40.pstex_t |
1845 | 188 | pbaillot | %\input examplePN40.pstex_t |
1846 | 188 | pbaillot | \end{center} |
1847 | 188 | pbaillot | %\caption{Example of Classical Proof-Net.}\label{exampleCPN} |
1848 | 188 | pbaillot | \end{figure} |
1849 | 188 | pbaillot | |
1850 | 188 | pbaillot | \end{frame} |
1851 | 188 | pbaillot | |
1852 | 188 | pbaillot | |
1853 | 188 | pbaillot | |
1854 | 188 | pbaillot | %----------- |
1855 | 188 | pbaillot | \begin{frame} \frametitle{Boxes} |
1856 | 188 | pbaillot | \vspace{-3mm} |
1857 | 188 | pbaillot | Boxes in linear logic proof-nets have 2 characteristics: |
1858 | 188 | pbaillot | \begin{enumerate} |
1859 | 188 | pbaillot | \item \textit{logically:} |
1860 | 188 | pbaillot | |
1861 | 188 | pbaillot | they correspond to a sequentiality information on the graph. |
1862 | 188 | pbaillot | \item \textit{dynamically:} |
1863 | 188 | pbaillot | |
1864 | 188 | pbaillot | they delimitate portions of the graph that can be duplicated. |
1865 | 188 | pbaillot | \end{enumerate} |
1866 | 188 | pbaillot | Note that in LAL, (2) is not relevant for $\pa$ boxes, since they |
1867 | 188 | pbaillot | cannot be duplicated. |
1868 | 188 | pbaillot | |
1869 | 188 | pbaillot | In Light logics, the crucial point of boxes is that they allow to define |
1870 | 188 | pbaillot | some \textit{invariants} of the dynamics of the graphs: |
1871 | 188 | pbaillot | \begin{itemize} |
1872 | 188 | pbaillot | \item depth of edges, |
1873 | 188 | pbaillot | \item quantitative invariant: the number of inputs of |
1874 | 188 | pbaillot | duplicable boxes ($\bs$ boxes) is at most one. |
1875 | 188 | pbaillot | \end{itemize} |
1876 | 188 | pbaillot | %In fact, the $\pa$ boxes can be dropped if we manage to maintain |
1877 | 188 | pbaillot | % in another way the invariant of depth. |
1878 | 188 | pbaillot | \end{frame} |
1879 | 188 | pbaillot | |
1880 | 188 | pbaillot | %---------- |
1881 | 188 | pbaillot | \begin{frame} \frametitle{DLAL: complexity bounds} |
1882 | 188 | pbaillot | |
1883 | 188 | pbaillot | DLAL satisfies the subject-reduction property. |
1884 | 188 | pbaillot | |
1885 | 188 | pbaillot | \medskip |
1886 | 188 | pbaillot | |
1887 | 188 | pbaillot | \begin{theo}[Strong Ptime bound] |
1888 | 188 | pbaillot | If $t$ is typable in DLAL with a derivation of depth |
1889 | 188 | pbaillot | $d$, then |
1890 | 188 | pbaillot | any $\beta$ reduction of $t$ can be performed in |
1891 | 188 | pbaillot | time $O((d+1)\cdot|t|^{2^{d+1}})$. |
1892 | 188 | pbaillot | %sequence of $\beta$-reducts of $t$ |
1893 | 188 | pbaillot | %has length bounded by $O((d+1)\cdot|t|^{2^{d+1}})$. |
1894 | 188 | pbaillot | \end{theo} |
1895 | 188 | pbaillot | |
1896 | 188 | pbaillot | Remarks: |
1897 | 188 | pbaillot | \begin{itemize} |
1898 | 188 | pbaillot | %\item we are dealing here with $\beta$-r?duction, |
1899 | 188 | pbaillot | %and not anymore with proof-net reduction; |
1900 | 188 | pbaillot | \item one in fact shows a bound $O((d+1)\cdot|t|^{2^{d}})$ on the \textit{number} |
1901 | 188 | pbaillot | of $\beta$-steps and then uses the fact that the cost of each step is here bounded; |
1902 | 188 | pbaillot | \item this bound holds for any reduction strategy; |
1903 | 188 | pbaillot | \item in particular, if $\vdash t: W \fm \S^k W$ then $t$ is Ptime. |
1904 | 188 | pbaillot | \end{itemize} |
1905 | 188 | pbaillot | |
1906 | 188 | pbaillot | %\medskip |
1907 | 188 | pbaillot | %Note that here the bound is with respect to $\beta$ reduction: the boxing structure |
1908 | 188 | pbaillot | %is not needed for polynomial time evaluation. |
1909 | 188 | pbaillot | %\medskip |
1910 | 188 | pbaillot | % |
1911 | 188 | pbaillot | %\begin{theo}[Completeness] |
1912 | 188 | pbaillot | % For any polynomial time function $f:\{0,1\}^{\ast} \rightarrow \{0,1\}^{\ast}$, |
1913 | 188 | pbaillot | %there exists a term $t$ representing it and typable |
1914 | 188 | pbaillot | %in DLAL with a type $W \fm \pa^k W$, for a certain integer $k\in \NN$. |
1915 | 188 | pbaillot | %\end{theo} |
1916 | 188 | pbaillot | % However DLAL is not very expressive from an intensional point of view: |
1917 | 188 | pbaillot | %some simple Ptime lambda terms might not be typable. |
1918 | 188 | pbaillot | \end{frame} |
1919 | 188 | pbaillot | |
1920 | 188 | pbaillot | %---------- |
1921 | 188 | pbaillot | |
1922 | 188 | pbaillot | %\overlays{1}{ |
1923 | 188 | pbaillot | \begin{frame} \frametitle{Coercions in DLAL} |
1924 | 188 | pbaillot | \vspace{-4mm} |
1925 | 188 | pbaillot | In practice we often need to change the type of arguments, |
1926 | 188 | pbaillot | for instance from $\pa N$ to $N$, or from non-linear to linear position. |
1927 | 188 | pbaillot | |
1928 | 188 | pbaillot | This is possible for \textit{data} arguments (\textit{e.g.} $N$ or |
1929 | 188 | pbaillot | $W$), thanks to \textit{coercions}. |
1930 | 188 | pbaillot | |
1931 | 188 | pbaillot | \smallskip |
1932 | 188 | pbaillot | |
1933 | 188 | pbaillot | %dans ILAL on avait: $coerc^{p,q}: N \fm \pa^{p+1} \bs ^q N$ |
1934 | 188 | pbaillot | |
1935 | 188 | pbaillot | In DLAL one can define terms with the following types: |
1936 | 188 | pbaillot | |
1937 | 188 | pbaillot | |
1938 | 188 | pbaillot | $\begin{array}{cccc} |
1939 | 188 | pbaillot | \mbox{coer}_1 &:& N \fm \pa N & \\ |
1940 | 188 | pbaillot | \mbox{coer}_2 &:& \pa (N \fli A) \fm (N \fm \pa A) |
1941 | 188 | pbaillot | \end{array} |
1942 | 188 | pbaillot | $ |
1943 | 188 | pbaillot | |
1944 | 188 | pbaillot | such that: |
1945 | 188 | pbaillot | |
1946 | 188 | pbaillot | $\begin{array}{cccc} |
1947 | 188 | pbaillot | (\mbox{coer}_1 \; \un{n})&\rightarrow &\un{n}\\ |
1948 | 188 | pbaillot | (\mbox{coer}_2 \; t \; \un{n}) &\rightarrow & (t \; \un{n}) |
1949 | 188 | pbaillot | \end{array} |
1950 | 188 | pbaillot | $ |
1951 | 188 | pbaillot | |
1952 | 188 | pbaillot | Similarly, there exists a term contracting arguments by: |
1953 | 188 | pbaillot | |
1954 | 188 | pbaillot | |
1955 | 188 | pbaillot | $\begin{array}{cccc} |
1956 | 188 | pbaillot | \mbox{cont} &:& \pa (N \fli N \fm A) \fm (N \fm \pa A) |
1957 | 188 | pbaillot | \end{array} |
1958 | 188 | pbaillot | $ |
1959 | 188 | pbaillot | with: |
1960 | 188 | pbaillot | |
1961 | 188 | pbaillot | $\begin{array}{cccc} |
1962 | 188 | pbaillot | (\mbox{cont} \;t\; \un{n})&\rightarrow & (t \; \un{n} \; \un{n} )\\ |
1963 | 188 | pbaillot | \end{array} |
1964 | 188 | pbaillot | $ |
1965 | 188 | pbaillot | |
1966 | 188 | pbaillot | % |
1967 | 188 | pbaillot | %exemple: |
1968 | 188 | pbaillot | % |
1969 | 188 | pbaillot | %$\begin{array}{cccc} |
1970 | 188 | pbaillot | % mult &:& N \fli (N \fm \pa N) & \\ |
1971 | 188 | pbaillot | %mult' &:& N \fm \pa (N \fm \pa N) & \mbox{ par (coerc1)}\\ |
1972 | 188 | pbaillot | %mult'' &:& N \fm N \fm \pa \pa N & \mbox{ par (coerc2)} |
1973 | 188 | pbaillot | %\end{array} |
1974 | 188 | pbaillot | %$ |
1975 | 188 | pbaillot | |
1976 | 188 | pbaillot | |
1977 | 188 | pbaillot | \begin{prop} |
1978 | 188 | pbaillot | If $P \in \mathbb{N}[X]$, then there exists a term $t_P$ representing |
1979 | 188 | pbaillot | $P$ and an integer $k$ such that: $\vdash_{DLAL} t_P: N \fm \pa^k N$. |
1980 | 188 | pbaillot | \end{prop} |
1981 | 188 | pbaillot | \end{frame} |
1982 | 188 | pbaillot | |
1983 | 188 | pbaillot | |
1984 | 188 | pbaillot | %---------- |
1985 | 188 | pbaillot | \begin{frame} \frametitle{DLAL: PTIME extensional completeness} |
1986 | 188 | pbaillot | |
1987 | 188 | pbaillot | \bigskip |
1988 | 188 | pbaillot | |
1989 | 188 | pbaillot | \begin{theo}[Completeness] |
1990 | 188 | pbaillot | For any polynomial time function $f:\{0,1\}^{\ast} \rightarrow \{0,1\}^{\ast}$, |
1991 | 188 | pbaillot | there exists a term $t$ representing it and typable |
1992 | 188 | pbaillot | in DLAL with a type $W \fm \pa^k W$, for a certain integer $k\in \NN$. |
1993 | 188 | pbaillot | %The functions representable by terms typeable in DLAL |
1994 | 188 | pbaillot | %are exactly the functions of FP. |
1995 | 188 | pbaillot | \end{theo} |
1996 | 188 | pbaillot | \medskip |
1997 | 188 | pbaillot | |
1998 | 188 | pbaillot | However DLAL (or LAL) is not very expressive from an intensional point of view: |
1999 | 188 | pbaillot | some simple Ptime lambda terms might not be typable. |
2000 | 188 | pbaillot | \end{frame} |
2001 | 188 | pbaillot | |
2002 | 188 | pbaillot | %%----------- |
2003 | 188 | pbaillot | %\begin{frame} \frametitle{Relating the Bellantoni-Cook algebra and Linear logic} |
2004 | 188 | pbaillot | % |
2005 | 188 | pbaillot | % We show how to embed a variant of BC into DLAL, following Murawski/Ong [MO04] |
2006 | 188 | pbaillot | %(see also Tranquilli's Master thesis, 2005) |
2007 | 188 | pbaillot | % |
2008 | 188 | pbaillot | %\medskip |
2009 | 188 | pbaillot | % |
2010 | 188 | pbaillot | %\begin{tabular}{c} |
2011 | 188 | pbaillot | % $f(\vec{x}; \vec{y})$ will be represented by\\ |
2012 | 188 | pbaillot | % $; \vec{x}: W, \vec{y}:\pa^k W \vdash_{DLAL} t: \pa^k W$, for some $k$ |
2013 | 188 | pbaillot | %\end{tabular} |
2014 | 188 | pbaillot | % |
2015 | 188 | pbaillot | %\medskip |
2016 | 188 | pbaillot | % |
2017 | 188 | pbaillot | %Note that: |
2018 | 188 | pbaillot | %\begin{itemize} |
2019 | 188 | pbaillot | %\item in $f(\vec{x}; \vec{y})$, $\vec{x}$ stands |
2020 | 188 | pbaillot | %for $x_1, \dots, x_n$, |
2021 | 188 | pbaillot | %\item in the DLAL judgement, $; \vec{x}: W$ stands for |
2022 | 188 | pbaillot | % $x_1:W, \dots, x_n:W$. |
2023 | 188 | pbaillot | % |
2024 | 188 | pbaillot | %\end{itemize} |
2025 | 188 | pbaillot | %\end{frame} |
2026 | 188 | pbaillot | % |
2027 | 188 | pbaillot | % |
2028 | 188 | pbaillot | % |
2029 | 188 | pbaillot | %%------------ |
2030 | 188 | pbaillot | %\begin{frame} \frametitle{The algebra $\mbox{BC}^-$} |
2031 | 188 | pbaillot | % |
2032 | 188 | pbaillot | % In the DLAL judgements given, observe that normal variables (of type $W$) can be contracted, |
2033 | 188 | pbaillot | %but that safe ones (of type $\pa^k W$) cannot. |
2034 | 188 | pbaillot | % |
2035 | 188 | pbaillot | %Fragment of BC with non-contractible safe variables: $\mbox{BC}^-$. |
2036 | 188 | pbaillot | % |
2037 | 188 | pbaillot | %\medskip |
2038 | 188 | pbaillot | %$\mbox{BC}^-$ is defined by: |
2039 | 188 | pbaillot | % |
2040 | 188 | pbaillot | %\begin{tabular}{cc} |
2041 | 188 | pbaillot | %recursion: & $f(\epsilon, \vec{x}; \vec{y})=h(\vec{x};\vec{y})$\\ |
2042 | 188 | pbaillot | % & $f(a.z, \vec{x}; \vec{y})=g(a,z,\vec{x};f(z, \vec{x}; \vec{y}))$\\ |
2043 | 188 | pbaillot | %composition: & |
2044 | 188 | pbaillot | %\end{tabular} |
2045 | 188 | pbaillot | % $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 | 188 | pbaillot | % h_{k} (\vec{x};\vec{y_i}))$ |
2047 | 188 | pbaillot | % |
2048 | 188 | pbaillot | %where $\vec{y_1},\dots, \vec{y_i}$ is a partition of $\vec{y}$. |
2049 | 188 | pbaillot | % |
2050 | 188 | pbaillot | %basic functions: as in BC. |
2051 | 188 | pbaillot | %\end{frame} |
2052 | 188 | pbaillot | % |
2053 | 188 | pbaillot | % |
2054 | 188 | pbaillot | %%------------ |
2055 | 188 | pbaillot | %\begin{frame} \frametitle{$\mbox{BC}^-$ inside DLAL} |
2056 | 188 | pbaillot | % |
2057 | 188 | pbaillot | %%\bigskip |
2058 | 188 | pbaillot | % |
2059 | 188 | pbaillot | %\begin{prop}{[MO04]} |
2060 | 188 | pbaillot | % The algebra $\mbox{BC}^-$ can be embedded in DLAL. |
2061 | 188 | pbaillot | %\end{prop} |
2062 | 188 | pbaillot | % |
2063 | 188 | pbaillot | % |
2064 | 188 | pbaillot | % However $\mbox{BC}^-$ is (presumably) not complete for PTIME. |
2065 | 188 | pbaillot | %\medskip |
2066 | 188 | pbaillot | % |
2067 | 188 | pbaillot | %But one can consider extra constructs to enrich the algebra: |
2068 | 188 | pbaillot | % |
2069 | 188 | pbaillot | %\begin{itemize} |
2070 | 188 | pbaillot | %\item a form of \textit{definition by cases} |
2071 | 188 | pbaillot | % $$ \mbox{case}_K(;u)[p_1:f_1|\dots |p_m:f_m|\mbox{else}:f_{m+1}]$$ |
2072 | 188 | pbaillot | %\item a restricted \textit{recursion on safe arguments}: $\sigma\mbox{rec}$ |
2073 | 188 | pbaillot | % |
2074 | 188 | pbaillot | %$\begin{array}{ccc} |
2075 | 188 | pbaillot | % f(\vec{x}; \epsilon, \vec{y})&=& h(\vec{x}; \vec{y})\\ |
2076 | 188 | pbaillot | % f(\vec{x}; a.z, \vec{y})&=& \mbox{step}_i(; f(\vec{x};z,\vec{y})) |
2077 | 188 | pbaillot | %\end{array} |
2078 | 188 | pbaillot | %$ |
2079 | 188 | pbaillot | % |
2080 | 188 | pbaillot | %with $\mbox{step}_i$ of a specific form (permutation) |
2081 | 188 | pbaillot | %\end{itemize} |
2082 | 188 | pbaillot | % See [MO04] for complete definitions. |
2083 | 188 | pbaillot | %\end{frame} |
2084 | 188 | pbaillot | % |
2085 | 188 | pbaillot | % |
2086 | 188 | pbaillot | %%------------ |
2087 | 188 | pbaillot | %\begin{frame} \frametitle{Extension of $\mbox{BC}^-$} |
2088 | 188 | pbaillot | % |
2089 | 188 | pbaillot | %Let $\mbox{BC}^{\pm}$ be the algebra defined as $\mbox{BC}^-$ but with these 2 new constructs. |
2090 | 188 | pbaillot | % |
2091 | 188 | pbaillot | %\begin{theo}{[MO04]} |
2092 | 188 | pbaillot | %\begin{enumerate} |
2093 | 188 | pbaillot | %\item $\mbox{BC}^{\pm}$ is sound and extensionally complete for PTIME, |
2094 | 188 | pbaillot | %\item $\mbox{BC}^{\pm}$ can be embedded in DLAL. |
2095 | 188 | pbaillot | %\end{enumerate} |
2096 | 188 | pbaillot | %\end{theo} |
2097 | 188 | pbaillot | %The second point comes from the fact that the new constructs can be represented |
2098 | 188 | pbaillot | %in DLAL. |
2099 | 188 | pbaillot | %\end{frame} |
2100 | 188 | pbaillot | |
2101 | 188 | pbaillot | %------------ |
2102 | 188 | pbaillot | \begin{frame} \frametitle{Conclusion} |
2103 | 188 | pbaillot | |
2104 | 188 | pbaillot | \begin{itemize} |
2105 | 188 | pbaillot | \item Other type systems derived from LL characterize different complexity classes: |
2106 | 188 | pbaillot | Logspace [Sch?pp07], Pspace [GMR08] |
2107 | 188 | pbaillot | \item the relations between different the light logics and possible ways |
2108 | 188 | pbaillot | to unfiy them are still to explore |
2109 | 188 | pbaillot | \item type inference can be performed by constraints solving (e.g. for DLAL) |
2110 | 188 | pbaillot | \item this approach has a modest intensional expressivity |
2111 | 188 | pbaillot | |
2112 | 188 | pbaillot | could it be combined to other ICC systems for more flexibility~? |
2113 | 188 | pbaillot | \end{itemize} |
2114 | 188 | pbaillot | \end{frame} |
2115 | 188 | pbaillot | %%------------ |
2116 | 188 | pbaillot | %\begin{frame} \frametitle{Some other directions in ICC} |
2117 | 188 | pbaillot | % |
2118 | 188 | pbaillot | %\begin{itemize} |
2119 | 188 | pbaillot | %\item higher-order type systems for safe recursion |
2120 | 188 | pbaillot | %(Hofmann 00, Bellantoni-Niggl-Schwichtenberg 00) |
2121 | 188 | pbaillot | %\item non-size-increasing computation: linear |
2122 | 188 | pbaillot | %type system with a basic type $\diamond$ (Hofmann 03) |
2123 | 188 | pbaillot | %\item functional languages with restricted operations |
2124 | 188 | pbaillot | %(no $\mathtt{cons}$): characterizations of Ptime, |
2125 | 188 | pbaillot | %Logspace (Jones 99) |
2126 | 188 | pbaillot | %\end{itemize} |
2127 | 188 | pbaillot | % |
2128 | 188 | pbaillot | %\end{frame} |
2129 | 188 | pbaillot | %%------------ |
2130 | 188 | pbaillot | %\begin{frame} \frametitle{Conclusion on ICC} |
2131 | 188 | pbaillot | %ICC has provided: |
2132 | 188 | pbaillot | %\begin{enumerate} |
2133 | 188 | pbaillot | % \item some machine-independent characterizations of complexity classes of functions, |
2134 | 188 | pbaillot | %\item some criteria for verifying statically that a program, |
2135 | 188 | pbaillot | %admits a certain complexity bound. |
2136 | 188 | pbaillot | %\end{enumerate} |
2137 | 188 | pbaillot | % For (1) it would be useful to relate together the various approaches. |
2138 | 188 | pbaillot | % |
2139 | 188 | pbaillot | %\smallskip |
2140 | 188 | pbaillot | % |
2141 | 188 | pbaillot | % For (2): some recent works try to take advantage of techniques coming |
2142 | 188 | pbaillot | %from termination analysis (e.g. size-change-principle) and possibly |
2143 | 188 | pbaillot | %from abstraction techniques. |
2144 | 188 | pbaillot | % |
2145 | 188 | pbaillot | %\end{frame} |
2146 | 188 | pbaillot | |
2147 | 188 | pbaillot | \end{document} |
2148 | 188 | pbaillot | |
2149 | 188 | pbaillot | |
2150 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
2151 | 188 | pbaillot | %%%%%%%%%%% REGLES POUR DLAL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
2152 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
2153 | 188 | pbaillot | %%%%%%%%%%%%%%%%%%%%%%%%%%%% |
2154 | 188 | pbaillot | |
2155 | 188 | pbaillot | \begin{frame} \frametitle{DLAL rules} |
2156 | 188 | pbaillot | %\DefaultTransition{Dissolve} |
2157 | 188 | pbaillot | {\tiny |
2158 | 188 | pbaillot | \begin{center} |
2159 | 188 | pbaillot | \begin{tabular}{l@{\hspace{-2mm}}l} |
2160 | 188 | pbaillot | {\infer[\mbox{(Id)}]{; x:A \vdash x:A}{}} & \\ |
2161 | 188 | pbaillot | % &\\ |
2162 | 188 | pbaillot | {\infer[\mbox{($\fm$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fm B } |
2163 | 188 | pbaillot | {\Gamma_1; \Delta_1, x:A \vdash t:B}} |
2164 | 188 | pbaillot | |
2165 | 188 | pbaillot | & |
2166 | 188 | pbaillot | {\infer[\mbox{($\fm$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash (t\; u) :B } |
2167 | 188 | pbaillot | {\Gamma_1; \Delta_1 \vdash t:A \fm B & \Gamma_2; \Delta_2 \vdash u:A}} |
2168 | 188 | pbaillot | \\[1ex] |
2169 | 188 | pbaillot | |
2170 | 188 | pbaillot | {\infer[\mbox{($\fli$ i)}]{\Gamma_1; \Delta_1 \vdash \la x. t: A \fli B } |
2171 | 188 | pbaillot | {\Gamma_1, x:A ; \Delta_1\vdash t:B}} |
2172 | 188 | pbaillot | & |
2173 | 188 | pbaillot | {\infer[\mbox{($\fli$ e)}]{\Gamma_1, z:C ; \Delta_1 \vdash (t\; u) :B } |
2174 | 188 | pbaillot | {\Gamma_1; \Delta_1 \vdash t:A \fli B & ; z:C \vdash u:A}} |
2175 | 188 | pbaillot | |
2176 | 188 | pbaillot | \\[1ex] |
2177 | 188 | pbaillot | {\infer[\mbox{(Weak)}]{\Gamma_1, \Gamma_2; \Delta_1, \Delta_2 \vdash t: A } |
2178 | 188 | pbaillot | {\Gamma_1; \Delta_1 \vdash t:A}} |
2179 | 188 | pbaillot | & |
2180 | 188 | pbaillot | {\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 | 188 | pbaillot | |
2182 | 188 | pbaillot | \\[1ex] |
2183 | 188 | pbaillot | {\infer[\mbox{($\pa$ i)}]{\Gamma ; x_1:\pa B_1, \dots, x_n:\pa B_n \vdash t: \pa A } |
2184 | 188 | pbaillot | { ; \Gamma, x_1:B_1, \dots, x_n:B_n \vdash t:A}} |
2185 | 188 | pbaillot | & |
2186 | 188 | pbaillot | {\infer[\mbox{\hspace{-1mm}($\pa$ e)}]{\Gamma_1,\Gamma_2; \Delta_1, \Delta_2 \vdash t[u \slash x] :B } |
2187 | 188 | pbaillot | {\Gamma_1; \Delta_1 \vdash u: \pa A & \Gamma_2; x:\pa A, \Delta_2 \vdash t:B}} |
2188 | 188 | pbaillot | \\[1ex] |
2189 | 188 | pbaillot | {\infer[\mbox{($\forall$ i) (*)}]{{ \Gamma_1; \Delta_1 \vdash t:\forall \alpha. A}}{{ \Gamma_1; \Delta_1 \vdash t:A}}} |
2190 | 188 | pbaillot | & |
2191 | 188 | pbaillot | {\infer[\mbox{($\forall$ e)}]{\Gamma_1; \Delta_1 \vdash t:A[B \slash \al] } |
2192 | 188 | pbaillot | {\Gamma_1; \Delta_1 \vdash t:\forall \al. A}} |
2193 | 188 | pbaillot | \end{tabular} |
2194 | 188 | pbaillot | } |
2195 | 188 | pbaillot | \end{center} |
2196 | 188 | pbaillot | \end{frame} |