scispace - formally typeset
Search or ask a question
Author

Franco Barbanera

Bio: Franco Barbanera is an academic researcher from University of Catania. The author has contributed to research in topics: Session (computer science) & Intersection. The author has an hindex of 17, co-authored 79 publications receiving 1193 citations. Previous affiliations of Franco Barbanera include University of Turin & Sapienza University of Rome.


Papers
More filters
Journal ArticleDOI
TL;DR: A notion of parallel reduction is adopted, which is a refinement of Gross-Knuth reduction, and type theories are introduced to refine the system, among which is the theory called ?
Abstract: Type assignment systems with intersection and union types are introduced. Although the subject reduction property with respect to s-reduction does not hold for a natural deduction-like system, we manage to overcome this problem in two, different ways. The first is to adopt a notion of parallel reduction, which is a refinement of Gross-Knuth reduction. The second is to introduce type theories to refine the system, among which is the theory called ? that induces an assignment system preserving s-reduction. This type assignment system further clarifies the relation with the intersection discipline through the decomposition, first, of a disjunctive type into a set of conjunctive types and, second, of a derivation in the new type assignment system into a set of derivations in the intersection type assignment system. For this system we propose three semantics and prove soundness and completeness theorems.

186 citations

Journal ArticleDOI
19 Apr 1994
TL;DR: The strong normalization property is proved to hold for such a calculus, as well as for its extension to a system equivalent to Peano arithmetic, and a theorem on the shape of terms in normal form makes it possible to get recursive functions out of proofs of recursive functions.
Abstract: We introduce a?-calculus with symmetric reduction rules and “classical” types, i.e., types corresponding to formulas of classical propositional logic. The strong normalization property is proved to hold for such a calculus, as well as for its extension to a system equivalent to Peano arithmetic. A theorem on the shape of terms in normal form is also proved, making it possible to get recursive functions out of proofs of?02formulas, i.e., those corresponding to program specifications.

128 citations

Journal ArticleDOI
TL;DR: It is shown that strong normalization is a modular property of all the systems in the algebraic-λ-cube, provided that the first-order rewrite rules are non-duplicating and the higher-order rules satisfy the general schema of Jouannaud and Okada.
Abstract: In this paper we present the algebraic-λ-cube, an extension of Barendregt's λ-cube with first- and higher-order algebraic rewriting. We show that strong normalization is a modular property of all the systems in the algebraic-λ-cube, provided that the first-order rewrite rules are non-duplicating and the higher-order rules satisfy the general schema of Jouannaud and Okada. We also prove that local confluence is a modular property of all the systems in the algebraic-λ-cube, provided that the higher-order rules do not introduce critical pairs. This property and the strong normalization result imply the modularity of confluence.

48 citations

Proceedings ArticleDOI
26 Jul 2010
TL;DR: In this article, a refinement and simplification of the behavioural semantics of session types, based on the concepts of compliance and sub-behaviour from the theory of web contracts, is proposed.
Abstract: We propose a refinement and a simplification of the behavioural semantics of session types, based on the concepts of compliance and sub-behaviour from the theory of web contracts. We introduce two relations, representing the idea of sub-behaviour from the point of view of the client and the server, respectively, and characterize the sub-behaviour relation (from the literature) as the intersection of the other two. We show that a proper subclass of behaviours, called "session behaviors", and the sub-behaviour relations model session types and subtyping, clarifying the otherwise problematic extension of session type subtyping with concepts from the theory of contracts.

47 citations

01 Jan 2010
TL;DR: It is shown that a proper subclass of behaviours, called "session behaviors", and the sub-behaviour relations model session types and subtyping, clarifying the otherwise problematic extension of session type subtyped with concepts from the theory of contracts.

44 citations


Cited by
More filters
Book
31 Jul 2013
TL;DR: The Lambda Calculus has been extended with types and used in functional programming (Haskell, Clean) and proof assistants (Coq, Isabelle, HOL), used in designing and verifying IT products and mathematical proofs.
Abstract: This handbook with exercises reveals in formalisms, hitherto mainly used for hardware and software design and verification, unexpected mathematical beauty. The lambda calculus forms a prototype universal programming language, which in its untyped version is related to Lisp, and was treated in the first author's classic The Lambda Calculus (1984). The formalism has since been extended with types and used in functional programming (Haskell, Clean) and proof assistants (Coq, Isabelle, HOL), used in designing and verifying IT products and mathematical proofs. In this book, the authors focus on three classes of typing for lambda terms: simple types, recursive types and intersection types. It is in these three formalisms of terms and types that the unexpected mathematical beauty is revealed. The treatment is authoritative and comprehensive, complemented by an exhaustive bibliography, and numerous exercises are provided to deepen the readers' understanding and increase their confidence using types.

927 citations

Journal ArticleDOI
TL;DR: The calculus' contribution to analyzing mobile processes is a major topic, and it is dealt with extensively starting from part three, and how π-calculus can be employed in studying practical, modern software engineering concepts such as object-oriented programming is shown.
Abstract: The π-Calculus: A theory of mobile processes by Davide Sangiorgi and David Walker Formal methods have formed the foundation of Computer Science since its inception. Although, initially these formal methods dealt with processes and systems on an individual basis, the paradigm has shifted with the dawn of the age of computer networks. When dealing with systems with interconnected, communicating, dependent, cooperative, and competitive components, the older outlook of analyzing and developing singular systems—and the tools that went with it—were hardly suitable. This led to the development of theories and tools that would support the new paradigm. On the tools end, the development has been widespread and satisfactory: programming languages, development frameworks, databases, and even end-user software products such as word processors, have gained network-awareness. However on the theoretical end, the development has been far less satisfactory. The major work was done by Robin Milner, Joachim Parrow, and David Walker who developed the formalism known as π-calculus in 1989. π-calculus is a process calculus that treats communication between its components as the basic form of computation. It has been quite successful as a foundation of several other calculi in the field and as Milner puts it, it has become common to express ideas about interactions and mobility in variants of the calculus. Introduction The current book serves as a comprehensive reference to π-calculus. Besides Milner's own book on the subject, this is the only other book-length publication on the topic. In many ways, it is much more comprehensive than Milner's: a much wider area of topics are dealt with and in more detail as well. Contents The book is split into seven part. The first part presents the basic theory of π-calculus. However, basic does not mean concise: every topic is discussed in great detail. The section on bisimulation is particularly intensive and provides several insights about the motivation for the theory. Part two discusses several variants of the original calculus. By varying several characteristics of the calculus, such as whether a process can communicate with more than processes at a time, we can obtain these variants. A number of interesting properties of the language are studied by the other when discussing these variants. As can be understood from the title, the calculus' contribution to analyzing mobile processes is a major topic, and it is dealt with extensively starting from part three. The basics are introduced by the way of a sophisticated typing system whose application in speciying complex processes is presented in part four. Part five looks at higher-order π-calculus in which composed systems are considered as first-class citizens. Part six is one of the best in the book and discusses the relation between π-calculus and lambda-calculus, which is an older and more basic calculus. Finally part seven shows how π-calculus can be employed in studying practical, modern software engineering concepts such as object-oriented programming. Impressions One of my disappointments with this book is in how often the reader is left perplexed with some of the theoretical developments, specially in part three. π-calculus is a complicated topic, even for the graduate student audience to which this book is directed, and the author would have done much better by reducing the number of topics and instead focusing on more lucid and detailed explanations. There are several experimental digressions throughout the book, which although interesting, take away from some of the momentum of sequential study. For example, topics such as comparison and encoding of one language to another could be easily moved to a separate section in order to make the content more suitable for self-study. Another issue is the little effort towards making the connection from the theoretical to the practical. The main reason why formal methods have not been adopted in mainstream software development pracitces is that often it is unclear to developers how formalisms can contribute towards the software engineering process. The book would have served its purpose much better if it had spent part of eah chapter discussing the practical application of that chapter's content. For example, congruence checking and bisimulation can be incredbily exciting topics for programmers to learn if they can see practical applications of such powerful techniques. Beyond the above criticism, the book is absolutely indispensible to students and researchers in the field of formal methods. Currently it serves as the primary reference for anyone who wishes to learn the various aspects of π-calculus in detail. Raheel Ahmad

484 citations

Book
04 Apr 2013
TL;DR: The Curry-Howard isomorphism as discussed by the authors is a type-free lambda-calculus, which is a variant of the Lambda-cube, and it can be expressed as follows:
Abstract: Preface Outline Acknowledgements 1. Typefree lambda-calculus 2. Intuitionistic logic 3. Simply typed lambdacalculus 4. The Curry-Howard isomorphism 5. Proofs as combinators 6. Classical logic and control operators 7. Sequent calculus 8. Firstorder logic 9. Firstorder arithmetic 10. Godel's system T 11. Secondorder logic and polymorphism 12. Secondorder arithmetic 13. Dependent types 14. Pure type systems and the lambda-cube 15. Solutions and hints to selected exercises 16. Solutions for chapter 6 Appendix A Mathematical Background Appendix B Solutions to Selected Exercises Bibliography Index

401 citations

Proceedings ArticleDOI
01 Sep 2000
TL;DR: The μ -calculus is presented, a syntax for λ-calculus + control operators exhibiting symmetries such as program/context and call-by-name/call- by-value, derived from implicational Gentzen's sequent calculus LK.
Abstract: We present the μ -calculus, a syntax for λ-calculus + control operators exhibiting symmetries such as program/context and call-by-name/call-by-value. This calculus is derived from implicational Gentzen's sequent calculus LK, a key classical logical system in proof theory. Under the Curry-Howard correspondence between proofs and programs, we can see LK, or more precisely a formulation called LKμ , as a syntax-directed system of simple types for μ -calculus. For μ -calculus, choosing a call-by-name or call-by-value discipline for reduction amounts to choosing one of the two possible symmetric orientations of a critical pair. Our analysis leads us to revisit the question of what is a natural syntax for call-by-value functional computation. We define a translation of λμ-calculus into μ -calculus and two dual translations back to λ-calculus, and we recover known CPS translations by composing these translations.

379 citations