ebook img

Typed Lambda Calculi and Applications: Second International Conference on Typed Lambda Calculi and Applications, TLCA '95 Edinburgh, United Kingdom, April 10–12, 1995 Proceedings PDF

452 Pages·1995·6.89 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Typed Lambda Calculi and Applications: Second International Conference on Typed Lambda Calculi and Applications, TLCA '95 Edinburgh, United Kingdom, April 10–12, 1995 Proceedings

Lecture Notes in Computer Science 902 Edited by G. Goos, J. Hartmanis and J. van Leeuwen Advisory Board: W. Brauer D. Gries J. Stoer Mariangiola Dezani-Ciancaglini Gordon Plotkin (Eds.) Typed Lambda Calculi dna Applications Second International Conference on Typed Lambda Calculi and Applications, TLCA '95 Edinburgh, United Kingdom, April 10-12, 5991 sgnideecorP r e g n~ i r p S Series Editors Gerhard Goos Universit~it Karlsruhe Vincenz-Priessnitz-Strale 3, D-76128 Karlsruhe, Germany Jufis Hartmanis Department of Computer Science, Cornell University 4130 Upson Hall, Ithaca, NY 14853, USA Jan van Leeuwen Department of Computer Science, Utrecht University Padualaan 14, 3584 CH Utrecht, The Netherlands Volume Editors Mariangiola Dezani-Ciancaglini Department of Computer Science, University of Turin Corso Svizzera, 185, 1-10149 Turin, Italy Gordon Plotkin Department of Computer Science, University of Edinburgh The King's Buildings, Mayfield Road, Edinburgh EH9 3JZ, United Kingdom CR Subject Classification (1991): E4.1, E3.0, D.I.1 ISBN 3-540-59048-X Springer-Verlag Berlin Heidelberg New York CIP data applied for This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the fights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law. (cid:14)9 Springer-Vedag Berlin Heidelberg 1995 Printed in Germany Typesetting: Camera-ready by author SPIN: 10485422 45/3140-543210 - Printed on acid-free paper Preface This volume is the proceedings of the Second International Confer- ence on Typed Lambda Calculi and Applications, TLCA'95, held in Ed- inburgh, Scotland, from April 10 to April 12, 1995. There are 29 papers concerning the following topics: - Proof theory of type systems; - Logic and type systems; - Typed A-calculi as models of (higher-order) computation; - Semantics of type systems; - Proof verification via type systems; - Type systems of programming languages; - Typed term rewriting systems. These were selected from a total of 58 submissions, of generally high qual- ity. We wish to express our gratitude to all the members of the Program Committee, and to the many referees who assisted them. Moreover, we would like to thank the members of the Organizing Committee and all those who submitted papers. Finally, we greatly appreciate the excellent cooperation with Springer-Verlag. The lambda calculus has served as a source of ideas, problems and ap- plications in computer science for over thirty years. This volume demon- strates i~s continuing vitality. Turin, January 1995 Mariangiola Dezani-Ciancaglini Gordon Plotkin Program Committee H. Barendregt (Catholic University of Nijmegen) M. Dezani (Chairperson, University of Turin) J-Y. Girard (University of Marseilles) R. Hindley (University of Swansea) F. Honsell (University of Udine) J. W. Klop (CWI) G. Longo (ENS) A. Meyer (MIT) G. Plotkin (University of Edinburgh) P. Scott (University of Ottawa) J. Smith (University of Gothenburg/Chalmers) J. Tiuryn 'University of Warsaw) Referees F. Alessi T. Altenkirch G. Amiot F. Barbanera E. Barendsen G. Barthe L.S. van Benthem Jutting S. Berardi C. Berline M. Bezem M. Boffa G. Boudol R. Blute F. Cardone G. Castagna J.R.B. Cockett M. Coppo T. Coquand A. Compagnoni R.L. Crole D. Cubric P:L. Curien W. Dekkers R. Di Cosmo P. Di Gianantonio G. Dowek P. Dybjer T. Ehrhard D. Fridlender H. Geuvers P. Giannini G. Ghelli M. Grabowski P. de Groote T. Hurkens B. Intrigila B. Jacobs J.P. Jouannaud R. Hasegawa M. Hofmann D. Kesner Y. Lafont M. Lenisa U. de' Liguoro P. Lincoln P. Malacaria S. Martini J. Mason E. Meijer M. Miculan E. Moggi R. Nederpelt V. van Oostrom J. Otto C. Paulin-Mohring A. Piperno E. Poll R. Pollack F. van Raamsdonk L. Regnier J.G. Rieeke S. Ronchi della Rocca P. Rosolini L. Roversi M. Ruys A. Salibra A. Schubert R.A.G. Seedy R. Statman P. Urzyczyn R.C. de Vrijer B. Werner Organizing Committee G. Cleland, P. Gardner, M. Lekuse, G. Plotkin (University of Edinburgh) Table of Contents Comparing ),-calculus translations in sharing graphs A. Asperti, C. Laneve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Extensions of pure type systems G. Barthe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 A model for formal parametric polymorphism: a PER interpre- tation for system R. Bellucci, M. Abadi, P.-L. Curien . . . . . . . . . . . . . . . . . . . . . 23 A realization of the negative interpretation of the Axiom of Choice S. Berardi, M. Bezem, T. Coquand . . . . . . . . . . . . . . . . . . . . . . 47 Using subtyping in program optimization S. Berardi, L. Boerio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 What is a categorical model of intuitionistic linear logic? G.M. Bierman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 An explicit Eta rewrite rule D. Briaud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Extracting text from proofs Y. Coscoy, G. Kahn, L. Thdry . . . . . . . . . . . . . . . . . . . . . . . . 901 Higher-order abstract syntax in Coq J. Despeyroux, A. Felty, A. Hirschowitz ................... 421 Expanding extensional polymorphism R. Di Cosmo, A. Piperno . . . . . . . . . . . . . . . . . . . . . . . . . . . 931 Lambda-calculus, combinators and the comprehension scheme G. Dowek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 ~/-equality for coproducts N. Ghani . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Typed operational semantics H. Goguen ................ .................... 681 A simple calculus of exception handling P. de Groote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 A simple model for quotient types M. Hofmann 612 1IIV Untyped )~-calculus with relative typing M.R. Holmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Final semantics for untyped )~-calculus F. Honselt, M. Lenisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942 A simplification of Girard's paradox A. J. C. Hurkens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662 Basic properties of data types with inequational refinements 1t. Kondoh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972 Decidable properties of intersection type systems T. Kurata, M. Takahashi . . . . . . . . . . . . . . . . . . . . . . . . . . . 792 Termination proof of term rewriting system with the multiset path ordering. A complete development in the system Coq F. Leelerc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Typed )~-calculi with explicit substitutions may not terminate P.A. Mellies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823 On equivalence classes of interpolation equations V. Padovani ........................... : ....... 533 Strict functionals for termination proofs J. van de Pol, H. Schwichtenberg . . . . . . . . . . . . . . . . . . . . . . . 053 A verified typechecker R. Pollack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563 Categorical semantics of the call-by-value )~-calculus A. Pravato, S. Ronchi della Rocca, L. Roversi . . . . . . . . . . . . . . . . 183 A fully abstract translation between a )~-calculus with reference types and standard ML E. R}tter, A.M. Pitts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793 Categorical completeness results for the simply-typed )~-calculus A.K. Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 Third-order matching in the presence of type constructors J. Springiutveld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824 Author Index . . ............................... 344 Comparing A-calculus translations in Sharing Graphs * Andrea Asperti 1 and Cosimo Laneve ~ 1 Dip. di Matematica, P.za di Porta .S Donato, ,5 40127 Bologna, Italy. INRIA Sophia Antipolis, 2004 Route des Lucioles BP ,39 06902 Valbonne, France. Abstract. Since Lamping's seminal work Lam90 on optimal graph re- duction techniques for the A-calculus, several different translations based on the same set of control operators (sharing graphs) have been proposed in the literature GAL92a, GAL92b, AL93a, As94. In this paper we clar- ify the correspondence between all these translations, passing through the so called bus-notation GAL92a. Indeed all the sharing graph en- codings turn out to be equivalent modulo the way of counting bus levels. 1 Introduction In Lam90, Lamping proposed a complex graph reduction technique for the A-calculus that was optimal in the sense of L6vy Le78. Lamping's approach was revisited in GAL92a, where a restricted set of control nodes and reduction rules was proved sufficient for the implementation. In GAL92b Gonthier-Abadi- L6vy pointed out a strong analogy between optimal reductions and Linear Logic Gi86. In particular, the optimal implementation of A-calculus is actually a re- finement of Girard's proof-net representation. This refinement just provides a local implementation of the non-linear operations over shared data (nets into bozes), which in proof-nets are performed as a single, global step. By their en- coding of Linear Logic in sharing graphs, and some encoding of A-calculus in Linear Logic, a third (slightly different) translation was implicitly obtained. This encoding has been used (and explicited) in AL93a, in the much more general case of Interaction Systems. At the same time of GAL92b, Asperti proposed yet another and sensibly different translation of A-calculus into sharing graphs As94. This latter transla- tion is strongly connected to the dynamic algebra interpreta,tion of Linear Logic IRe92, DR93 (a relation that has been recently formalized in ADLR94). Up to now, no correspondence has been established in the literature between all these different translations. In this paper we prove that such differences may be explained, up to minor syntactic details, by the way of counting the nesting of boxes into proof-nets. Precisely, the innermost box into a proof-net may be con- sidered as a box at "depth 0" or a box at ~depth n", if there are n outer boxes. In order to formalize this intuition, we shall use a further sharing graph imple- mentation of :~-calculus: the so-called bus-notation GAL92a. The bus notation * Partially supported by the ESPRIT Basic Research Project 6454 - CONFER. was introduced with the aim of reducing the number of interaction rules between control nodes. This is achieved by considering edges as set of wires (buses) and an n-in(texed control node as affecting the n-th wire only. The above conventions for counting nestings of boxes are reflected into the two ways of counting wires: "from the left" or "from the right". So, if we have h + 1 wires in the bus, and a node on a wire, this node can be seen as an operator at level n (assuming rt wires on the right) or h - rt (when counting from the left). The two different choices underlie respectively the translations in As94 and GAL92b, which therefore are mapped onto the same sharing graph in the bus notation. This also explains why exactly the same set of rewriting rules works in both cases. We remark that this work could have been written in the framework of proof nets Gi86. Indeed the results presented here could be transposed to proof nets without any difficulty. We choose to stick to S-calculus for simplicity sake. We warn the reader that some general knowledge of the literature (in partic- ular GAL92a and As94) is a prerequisite for understanding this paper. 2 Sharing Graphs In GAL92a it was proved that Lamping's original set of .operators (nodes) needed for the optimal implementation of h-calculus could be reduced to only five (indexed) control ,sedo~r described in the following picture: )toor( (erasing) (croissant) (bracket) )naf( Actually, only three of them (fan, croissant and bracket) are really important. The fan node represents sharing (or duplication), while croissant and brackets are needed for the correct interaction of fans during the reduction. In Lamping's original intuition, brackets and croissants must surround fans, implicitly defining their scope. Two different kinds of "brackets" are needed, since they propagate in opposite directions. This is essentially equivalent to consider brackets and crois- sants as delimiting the extent of the box of Linear Logic (recall that the box is just a sort of global bracket surrounding a datum that can be duplicated or erased) (see GAL92a, GAL92b). This relation was furtherly stressed in ,49sA where a tight relation between croissant, bracket and the two categorical oper- ations associated with the comonad "!" of Linear Logic was proved. Erasing nodes are needed in the case of lambda abstractions over variables not appearing in the body of the function; until ew do not consider garbage collection rules, these nodes have no operational effect. In AL93a it was shown that all these control nodes could be considered as an abstract set of operators for implementing sharing in virtually every class of higher order rewriting systems. This suggested the name of "sharing graphs", that we shall adopt in the following. The rules governing the interactions between control operators are drawn in Figure 1. We shall also explicitly consider t~vo "proper nodes", for application and lambda abstraction. G | A~ :Z ix7 Vi (cid:12)9 o (cid:12)9 o $ I I I - S' ,--L i j i ' I I ? oJ i Vi x. ef i I i iTyX Fig. 1. The control rules (0 _< i < j) The abstraction and application nodes are ternary nodes, i.e. they are connected to three edges. In particular, in the case of abstraction nodes, one edge points to the root, one to the body of the function, and the third one to the bound variable. Thus, bound variables are supposed to be explicitly connected to their binders (an idea that goes back 7to Bourbaki). As shown in GAL92a, application and lambda nodes are not actually nec- essary, since from the operational point of view they can be assimilated to fan. Note in particular that the interaction between an application and an abstrac- tion amounts to connect the root of the application to the root of the body of the function, and the bound variable to the argument of the application. For the sake of clarity, we prefer to keep the distinction; however we shall not explicitly draw the interaction rules between proper operators and control nodes, that are exactly the same as for fans.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.