191 results on '"Intersection types"'
Search Results
2. YACC: Yet Another Church Calculus : A Birthday Present for Herman Inspired by His Supervisor Activity
- Author
-
Barbanera, Franco, Dezani-Ciancaglini, Mariangiola, de’Liguoro, Ugo, Venneri, Betti, Goos, Gerhard, Series Editor, Hartmanis, Juris, Founding Editor, van Leeuwen, Jan, Series Editor, Hutchison, David, Editorial Board Member, Kanade, Takeo, Editorial Board Member, Kittler, Josef, Editorial Board Member, Kleinberg, Jon M., Editorial Board Member, Kobsa, Alfred, Series Editor, Mattern, Friedemann, Editorial Board Member, Mitchell, John C., Editorial Board Member, Naor, Moni, Editorial Board Member, Nierstrasz, Oscar, Series Editor, Pandu Rangan, C., Editorial Board Member, Sudan, Madhu, Series Editor, Terzopoulos, Demetri, Editorial Board Member, Tygar, Doug, Editorial Board Member, Weikum, Gerhard, Series Editor, Vardi, Moshe Y, Series Editor, Bertino, Elisa, Editorial Board Member, Gao, Wen, Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Yung, Moti, Editorial Board Member, Woeginger, Gerhard, Editorial Board Member, Capretta, Venanzio, editor, Krebbers, Robbert, editor, and Wiedijk, Freek, editor
- Published
- 2024
- Full Text
- View/download PDF
3. Programming with Union, Intersection, and Negation Types
- Author
-
Castagna, Giuseppe and Meyer, Bertrand, editor
- Published
- 2024
- Full Text
- View/download PDF
4. NON-DETERMINISTIC FUNCTIONS AS NON-DETERMINISTIC PROCESSES.
- Author
-
PAULUS, JOSEPH W. N., NANTES-SOBRINHO, DANIELE, and PÉREZ, JORGE A.
- Subjects
ENCODING ,MALLIAVIN calculus ,LOGIC - Abstract
We study encodings of the calculus into the p-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider sp, a p-calculus in which non-determinism and failure rest upon a Curry-Howard correspondence between linear logic and session types. We present a typed encoding of into sp and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in via typed processes in sp. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interaction protocols. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
5. Quantitative Weak Linearisation
- Author
-
Alves, Sandra, Ventura, Daniel, Goos, Gerhard, Founding Editor, Hartmanis, Juris, Founding Editor, Bertino, Elisa, Editorial Board Member, Gao, Wen, Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Yung, Moti, Editorial Board Member, Seidl, Helmut, editor, Liu, Zhiming, editor, and Pasareanu, Corina S., editor
- Published
- 2022
- Full Text
- View/download PDF
6. Type Inference for Rank-2 Intersection Types Using Set Unification
- Author
-
Ângelo, Pedro, Florido, Mário, Goos, Gerhard, Founding Editor, Hartmanis, Juris, Founding Editor, Bertino, Elisa, Editorial Board Member, Gao, Wen, Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Yung, Moti, Editorial Board Member, Seidl, Helmut, editor, Liu, Zhiming, editor, and Pasareanu, Corina S., editor
- Published
- 2022
- Full Text
- View/download PDF
7. Structural Rules and Algebraic Properties of Intersection Types
- Author
-
Alves, Sandra, Florido, Mário, Goos, Gerhard, Founding Editor, Hartmanis, Juris, Founding Editor, Bertino, Elisa, Editorial Board Member, Gao, Wen, Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Yung, Moti, Editorial Board Member, Seidl, Helmut, editor, Liu, Zhiming, editor, and Pasareanu, Corina S., editor
- Published
- 2022
- Full Text
- View/download PDF
8. The Ackermann Award 2023
- Author
-
Maribel Fernández and Jean Goubault-Larrecq and Delia Kesner, Fernández, Maribel, Goubault-Larrecq, Jean, Kesner, Delia, Maribel Fernández and Jean Goubault-Larrecq and Delia Kesner, Fernández, Maribel, Goubault-Larrecq, Jean, and Kesner, Delia
- Abstract
Report on the 2023 Ackermann Award.
- Published
- 2024
- Full Text
- View/download PDF
9. Non-idempotent Intersection Types in Logical Form
- Author
-
Ehrhard, Thomas, Goos, Gerhard, Founding Editor, Hartmanis, Juris, Founding Editor, Bertino, Elisa, Editorial Board Member, Gao, Wen, Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Woeginger, Gerhard, Editorial Board Member, Yung, Moti, Editorial Board Member, Goubault-Larrecq, Jean, editor, and König, Barbara, editor
- Published
- 2020
- Full Text
- View/download PDF
10. Towards Probabilistic Reasoning in Type Theory - The Intersection Type Case
- Author
-
Ghilezan, Silvia, Ivetić, Jelena, Kašterović, Simona, Ognjanović, Zoran, Savić, Nenad, Goos, Gerhard, Founding Editor, Hartmanis, Juris, Founding Editor, Bertino, Elisa, Editorial Board Member, Gao, Wen, Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Woeginger, Gerhard, Editorial Board Member, Yung, Moti, Editorial Board Member, Herzig, Andreas, editor, and Kontinen, Juha, editor
- Published
- 2020
- Full Text
- View/download PDF
11. ON SETS OF TERMS HAVING A GIVEN INTERSECTION TYPE.
- Author
-
POLONSKY, ANDREW and STATMAN, RICHARD
- Subjects
INTERSECTION graph theory ,ALGEBRA ,NUMBER systems ,NUMERALS - Abstract
Working in a variant of the intersection type assignment system of Coppo, Dezani-Ciancaglini and Venneri (CDV) [CDV81], we prove several facts about sets of terms having a given intersection type. Our main result is that every strongly normalizing term M admits a uniqueness typing, which is a pair (Γ, A) such that ● Γ ⊢ M ∶ A ● Γ ⊢ N ∶ A Ô⇒ M =
βη N We also discuss several presentations of intersection type algebras, and the corresponding choices of type assignment rules. Moreover, we show that the set of closed terms with a given type is uniformly separable, and, if infinite, forms an adequate numeral system. The proof of this fact uses an internal version of the B¨ohm-out technique, adapted to terms of a given intersection type. [ABSTRACT FROM AUTHOR]- Published
- 2022
- Full Text
- View/download PDF
12. Semantics for Combinatory Logic With Intersection Types
- Author
-
Silvia Ghilezan and Simona Kašterović
- Subjects
computational systems ,combinatory logic ,equational theory ,type theory ,intersection types ,soundness ,Electronic computers. Computer science ,QA75.5-76.95 - Abstract
There is a plethora of semantics of computational models, nevertheless, the semantics of combinatory logic are among the less investigated ones. In this paper, we propose semantics for the computational system of combinatory logic with intersection types. We define extensional applicative structures endowed with special elements corresponding to primitive combinators. We prove two soundness and completeness results. First, the equational theory of untyped combinatory logic is proven to be sound and complete with respect to the proposed semantics. Second, the system of the combinatory logic with intersection types is proven to be sound and complete with respect to the proposed semantics. The usual approach to the semantics for calculi with types that can be found in the literature is based on models for the untyped calculus endowed with a valuation of type variables which enables the interpretation of types to be defined inductively. We propose, however, a different approach. In the semantics we propose, the interpretation of types is represented as a family of subsets that satisfies certain properties, whereas for a given valuation of term variables, the interpretation of terms is defined inductively. Due to the wide applicability of semantics of computational models, the presented approach could be further developed to other computational models and beyond—to current and foreseen application of semantics to large distributed systems and new challenging technologies.
- Published
- 2022
- Full Text
- View/download PDF
13. Fast Verified BCD Subtyping
- Author
-
Bessai, Jan, Rehof, Jakob, Düdder, Boris, Hutchison, David, Editorial Board Member, Kanade, Takeo, Editorial Board Member, Kittler, Josef, Editorial Board Member, Kleinberg, Jon M., Editorial Board Member, Mattern, Friedemann, Editorial Board Member, Mitchell, John C., Editorial Board Member, Naor, Moni, Editorial Board Member, Pandu Rangan, C., Editorial Board Member, Steffen, Bernhard, Editorial Board Member, Terzopoulos, Demetri, Editorial Board Member, Tygar, Doug, Editorial Board Member, Goos, Gerhard, Founding Editor, Hartmanis, Juris, Founding Editor, Margaria, Tiziana, editor, Graf, Susanne, editor, and Larsen, Kim G., editor
- Published
- 2019
- Full Text
- View/download PDF
14. The Completeness of BCD for an Operational Semantics
- Author
-
Statman, Rick, Hutchison, David, Series editor, Kanade, Takeo, Series editor, Kittler, Josef, Series editor, Kleinberg, Jon M., Series editor, Mattern, Friedemann, Series editor, Mitchell, John C., Series editor, Naor, Moni, Series editor, Pandu Rangan, C., Series editor, Steffen, Bernhard, Series editor, Terzopoulos, Demetri, Series editor, Tygar, Doug, Series editor, Weikum, Gerhard, Series editor, Artemov, Sergei, editor, and Nerode, Anil, editor
- Published
- 2018
- Full Text
- View/download PDF
15. Factoring Derivation Spaces via Intersection Types
- Author
-
Barenbaum, Pablo, Ciruelos, Gonzalo, Hutchison, David, Series Editor, Kanade, Takeo, Series Editor, Kittler, Josef, Series Editor, Kleinberg, Jon M., Series Editor, Mattern, Friedemann, Series Editor, Mitchell, John C., Series Editor, Naor, Moni, Series Editor, Pandu Rangan, C., Series Editor, Steffen, Bernhard, Series Editor, Terzopoulos, Demetri, Series Editor, Tygar, Doug, Series Editor, Weikum, Gerhard, Series Editor, and Ryu, Sukyoung, editor
- Published
- 2018
- Full Text
- View/download PDF
16. Higher-order model checking with traversals
- Author
-
Neatherway, Robin Philip and Ong, C.-H. Luke
- Subjects
005.1 ,Computer science (mathematics) ,Theory and automated verification ,software verification ,intersection types ,model checking - Abstract
Higher-order recursion schemes are a powerful model of functional computation that grew out of traditional recursive program schemes and generalisations of grammars. It is common to view recursion schemes as generators of possibly-infinite trees, which Ong showed to have a decidable monadic second order theory and opened the door to applications in verification. Kobayashi later presented an intersection type characterisation of the model checking problem, on which most subsequent applied work is based. In recent work, recursion schemes have been considered to play a role similar to Boolean programs in verification of first-order imperative programs: a natural target for abstraction of programs with very large or infinite data domains. In this thesis we focus on the development of model checking algorithms for variants of recursion schemes. We start our contributions with a model checking algorithm inspired by the fully abstract game semantics of recursion schemes, but specified as a goal-directed approach to intersection type inference, that offers a unification of the views of Ong and Kobayashi. We build on this largely theoretical contribution with two orthogonal extensions and practical implementations. First, we develop a new extension of recursion schemes: higher-order recursion schemes with cases, which add non-determinism and a case construct operating over a finite data domain. These additions provide us with a more natural and succinct target for abstraction from functional programs: encoding data using functions inevitably results in an increase in the order and arity of the scheme, which have a direct impact on the worst-case complexity of the problem. We characterise the model checking problem using a novel intersection and union type system and give a practical algorithm for type inference in this system. We have carried out an empirical evaluation of the implementation --- the tool T
RAV MC --- using a variety of problem instances from the literature and a new suite of problem instances derived via an abstraction-refinement procedure from functional programs. Second, we extend our approach from safety properties to all properties expressible in monadic second order logic using alternating parity tree automata as our specification language. We again provide an implementation and an empirical evaluation, which shows that despite the challenges accompanying liveness properties our tool scales beyond the current state of the art.- Published
- 2014
17. Intersection types and higer-order model checking
- Author
-
Ramsay, Steven J. and Ong, C.-H. Luke
- Subjects
005.3 ,Theory and automated verification ,software verification ,intersection types ,model checking - Abstract
Higher-order recursion schemes are systems of equations that are used to define finite and infinite labelled trees. Since, as Ong has shown, the trees defined have a decidable monadic second order theory, recursion schemes have drawn the attention of research in program verification, where they sit naturally as a higher-order, functional analogue of Boolean programs. Driven by applications, fragments have been studied, algorithms developed and extensions proposed; the emerging theme is called higher-order model checking. Kobayashi has pioneered an approach to higher-order model checking using intersection types, from which many recent advances have followed. The key is a characterisation of model checking as a problem of intersection type assignment. This dissertation contributes to both the theory and practice of the intersection type approach. A new, fixed-parameter polynomial-time decision procedure is described for the alternating trivial automaton fragment of higher-order model checking. The algorithm uses a novel, type-directed form of abstraction refinement, in which behaviours of the scheme are distinguished according to the intersection types that they inhabit. Furthermore, by using types to reason about acceptance and rejection simultaneously, the algorithm is able to converge on a solution from two sides. An implementation, Preface, and an extensive body of evidence demonstrate empirically that the algorithm scales well to schemes of several thousand rules. A comparison with other tools on benchmarks derived from current practice and the related literature puts it well beyond the state-of-the-art. A generalisation of the intersection type approach is presented in which higher-order model checking is seen as an instance of exact abstract interpretation. Intersection type assignment is used to characterise a general class of safety checking problems, defined independently of any particular representation (such as automata) for a class of recursion schemes built over arbitrary constants. Decidability of any problem in the class is an immediate corollary. Moreover, the work looks beyond whole-program verification, the traditional territory of model checking, by giving a natural treatment of higher-type properties, which are sets of functions.
- Published
- 2014
18. A Type System Describing Unboundedness
- Author
-
Paweł Parys
- Subjects
simultaneous-unboundedness problem ,higher-order recursion schemes ,intersection types ,reflection ,[info.info-fl]computer science [cs]/formal languages and automata theory [cs.fl] ,[info.info-lo]computer science [cs]/logic in computer science [cs.lo] ,[info.info-cc]computer science [cs]/computational complexity [cs.cc] ,Mathematics ,QA1-939 - Abstract
We consider nondeterministic higher-order recursion schemes as recognizers of languages of finite words or finite trees. We propose a type system that allows to solve the simultaneous-unboundedness problem (SUP) for schemes, which asks, given a set of letters A and a scheme G, whether it is the case that for every number n the scheme accepts a word (a tree) in which every letter from A appears at least n times. Using this type system we prove that SUP is (m-1)-EXPTIME-complete for word-recognizing schemes of order m, and m-EXPTIME-complete for tree-recognizing schemes of order m. Moreover, we establish the reflection property for SUP: out of an input scheme G one can create its enhanced version that recognizes the same language but is aware of the answer to SUP.
- Published
- 2020
- Full Text
- View/download PDF
19. A Type System Describing Unboundedness.
- Author
-
Parys, Paweł
- Subjects
- *
PROGRAMMING languages , *RECURSION theory , *TREE graphs , *PROBLEM solving , *DATA analysis - Abstract
We consider nondeterministic higher-order recursion schemes as recognizers of languages of finite words or finite trees. We propose a type system that allows to solve the simultaneous-unboundedness problem (SUP) for schemes, which asks, given a set of letters A and a scheme G, whether it is the case that for every number n the scheme accepts a word (a tree) in which every letter from A appears at least n times. Using this type system we prove that SUP is (m = 1)-EXPTIME-complete for word-recognizing schemes of order m, and m-EXPTIME-complete for tree-recognizing schemes of order m. Moreover, we establish the reflection property for SUP: out of an input scheme G one can create its enhanced version that recognizes the same language but is aware of the answer to SUP. [ABSTRACT FROM AUTHOR]
- Published
- 2020
20. NON-IDEMPOTENT TYPES FOR CLASSICAL CALCULI IN NATURAL DEDUCTION STYLE.
- Author
-
KESNER, DELIA and VIAL, PIERRE
- Subjects
CALCULI ,CALCULUS ,ARGUMENT ,TERMS & phrases - Abstract
In the first part of this paper, we define two resource aware typing systems for the λμ-calculus based on non-idempotent intersection and union types. The non-idempotent approach provides very simple combinatorial arguments {based on decreasing measures of type derivations{ to characterize head and strongly normalizing terms. Moreover, typability provides upper bounds for the lengths of the head-reduction and the maximal reduction sequences to normal-form. In the second part of this paper, the λμ-calculus is refined to a small-step calculus called λμs, which is inspired by the substitution at a distance paradigm. The λμs-calculus turns out to be compatible with a natural extension of the non-idempotent interpretations ofλμ, i.e.λμs-reduction preserves and decreases typing derivations in an extended appropriate typing system. We thus derive a simple arithmetical characterization of strongly λμs-normalizing terms by means of typing. [ABSTRACT FROM AUTHOR]
- Published
- 2020
- Full Text
- View/download PDF
21. The theory of call-by-value solvability
- Author
-
Beniamino Accattoli, Giulio Guerrieri, Automatisation et ReprésenTation: fOndation du calcUl et de la déducTion (PARTOUT), Laboratoire d'informatique de l'École polytechnique [Palaiseau] (LIX), École polytechnique (X)-Centre National de la Recherche Scientifique (CNRS)-École polytechnique (X)-Centre National de la Recherche Scientifique (CNRS)-Inria Saclay - Ile de France, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria), École polytechnique (X)-Centre National de la Recherche Scientifique (CNRS), and University of Bath [Bath]
- Subjects
call-by-value ,intersection types ,[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO] ,Safety, Risk, Reliability and Quality ,solvability ,Software - Abstract
International audience; The semantics of the untyped (call-by-name) lambda-calculus is a well developed field built around the concept of solvable terms, which are elegantly characterized in many different ways. In particular, unsolvable terms provide a consistent notion of meaningless term. The semantics of the untyped call-by-value lambda-calculus (CbV) is instead still in its infancy, because of some inherent difficulties but also because CbV solvable terms are less studied and understood than in call-by-name. On the one hand, we show that a carefully crafted presentation of CbV allows us to recover many of the properties that solvability has in call-by-name, in particular qualitative and quantitative characterizations via multi types. On the other hand, we stress that, in CbV, solvability plays a different role: identifying unsolvable terms as meaningless induces an inconsistent theory.
- Published
- 2022
22. Multi types and reasonable space
- Author
-
Beniamino Accattoli, Ugo Dal Lago, Gabriele Vanoni, Accattoli, B, Dal Lago, U, Vanoni, G, Automatisation et ReprésenTation: fOndation du calcUl et de la déducTion (PARTOUT), Laboratoire d'informatique de l'École polytechnique [Palaiseau] (LIX), École polytechnique (X)-Centre National de la Recherche Scientifique (CNRS)-École polytechnique (X)-Centre National de la Recherche Scientifique (CNRS)-Inria Saclay - Ile de France, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria), École polytechnique (X)-Centre National de la Recherche Scientifique (CNRS), Foundations of Component-based Ubiquitous Systems (FOCUS), Inria Sophia Antipolis - Méditerranée (CRISAM), Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Dipartimento di Informatica - Scienza e Ingegneria [Bologna] (DISI), Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO)-Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO), and University of Bologna/Università di Bologna
- Subjects
lambda calculu ,intersection type ,intersection types ,abstract machines ,[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO] ,cost model ,lambda calculus ,cost models ,Safety, Risk, Reliability and Quality ,space complexity ,Software ,abstract machine - Abstract
International audience; Accattoli, Dal Lago, and Vanoni have recently proved that the space used by the Space KAM, a variant of the Krivine abstract machine, is a reasonable space cost model for the λ-calculus accounting for logarithmic space, solving a longstanding open problem. In this paper, we provide a new system of multi types (a variant of intersection types) and extract from multi type derivations the space used by the Space KAM, capturing into a type system the space complexity of the abstract machine. Additionally, we show how to capture also the time of the Space KAM, which is a reasonable time cost model, via minor changes to the type system.
- Published
- 2022
23. New Semantical Insights Into Call-by-Value λ-Calculus.
- Author
-
Manzonetto, Giulio, Pagani, Michele, Ronchi Della Rocca, Simona, Altenkirch, Thorsten, and Schubert, Aleksy
- Subjects
- *
APPROXIMATION theory , *PERMUTATIONS , *LAMBDA calculus , *KRIPKE semantics , *CALCULUS , *LOGIC - Abstract
Despite the fact that call-by-value λ-calculus was defined by Plotkin in 1977, we believe that its theory of program approximation is still at the beginning. A problem that is often encountered when studying its operational semantics is that, during the reduction of a λ-term, some redexes remain stuck (waiting for a value). Recently, Carraro and Guerrieri proposed to endow this calculus with permutation rules, naturally arising in the context of linear logic proof-nets, that succeed in unblocking a certain number of such redexes. In the present paper we introduce a new class of models of call-by-value λ-calculus, arising from non-idempotent intersection type systems. Beside satisfying the usual properties as soundness and adequacy, these models validate the permutation rules mentioned above as well as some reductions obtained by contracting suitable λI-redexes. Thanks to these (perhaps unexpected) features, we are able to demonstrate that every model living in this class satisfies an Approximation Theorem with respect to a refined notion of syntactic approximant. While this kind of results often require impredicative techniques like reducibility candidates, the quantitative information carried by type derivations in our system allows us to provide a combinatorial proof. [ABSTRACT FROM AUTHOR]
- Published
- 2019
- Full Text
- View/download PDF
24. The Duality of Classical Intersection and Union Types.
- Author
-
Downen, Paul, Ariola, Zena M., Ghilezan, Silvia, Altenkirch, Thorsten, and Schubert, Aleksy
- Subjects
- *
LAMBDA calculus , *PROGRAMMING languages , *TYPE design , *CALCULUS - Abstract
For a long time, intersection types have been admired for their surprising ability to complete the simply typed lambda calculus. Intersection types are an example of an implicit typing feature which can describe program behavior without manifesting itself within the syntax of a program. Dual to intersections, union types are another implicit typing feature which extends the completeness property of intersection types in the lambda calculus to full-fledged programming languages. However, the formalization of union types can easily break other desirable meta-theoretical properties of the type system. But why should unions be troublesome when their dual, intersections, are not? We look at the issues surrounding the design of type systems for both intersection and union types through the lens of duality by formalizing them within the symmetric language of the classical sequent calculus. In order to formulate type systems which have all of our properties of interest—soundness, completeness, and type safety—we also look at the impact of evaluation strategy on typing. As a result, we present two dual type systems—one for call-by-value and one for call-by-name evaluation—which have all three properties. We also consider the possibility of classical non-deterministic evaluation, for which there is a choice between two different systems depending on which properties are desired: a full type system which is complete, and a simplified type system which is sound and type safe. [ABSTRACT FROM AUTHOR]
- Published
- 2019
- Full Text
- View/download PDF
25. Dependent Merges and First-Class Environments (Artifact)
- Author
-
Tan, Jinhao and Oliveira, Bruno C. d. S.
- Subjects
Disjointness ,Intersection Types ,Theory of computation → Type theory ,First-class Environments - Abstract
This artifact contains the mechanical formalization of the calculi associated with the paper Dependent Merges and First-Class Environments. All of the metatheory has been formalized in Coq theorem prover. The paper studies a statically typed calculus, called 𝖤_i, with first-class environments. The main novelty of the 𝖤_i calculus is its support for first-class environments, together with an expressive set of operators that manipulate them., DARTS, Vol. 9, Special Issue of the 37th European Conference on Object-Oriented Programming (ECOOP 2023), pages 2:1-2:3
- Published
- 2023
- Full Text
- View/download PDF
26. Dependent Merges and First-Class Environments
- Author
-
Tan, Jinhao and Oliveira, Bruno C. d. S.
- Subjects
Disjointness ,Intersection Types ,Theory of computation → Type theory ,First-class Environments - Abstract
In most programming languages a (runtime) environment stores all the definitions that are available to programmers. Typically, environments are a meta-level notion, used only conceptually or internally in the implementation of programming languages. Only a few programming languages allow environments to be first-class values, which can be manipulated directly in programs. Although there is some research on calculi with first-class environments for statically typed programming languages, these calculi typically have significant restrictions. In this paper we propose a statically typed calculus, called 𝖤_i, with first-class environments. The main novelty of the 𝖤_i calculus is its support for first-class environments, together with an expressive set of operators that manipulate them. Such operators include: reification of the current environment, environment concatenation, environment restriction, and reflection mechanisms for running computations under a given environment. In 𝖤_i any type can act as a context (i.e. an environment type) and contexts are simply types. Furthermore, because 𝖤_i supports subtyping, there is a natural notion of context subtyping. There are two important ideas in 𝖤_i that generalize and are inspired by existing notions in the literature. The 𝖤_i calculus borrows disjoint intersection types and a merge operator, used in 𝖤_i to model contexts and environments, from the λ_i calculus. However, unlike the merges in λ_i, the merges in 𝖤_i can depend on previous components of a merge. From implicit calculi, the 𝖤_i calculus borrows the notion of a query, which allows type-based lookups on environments. In particular, queries are key to the ability of 𝖤_i to reify the current environment, or some parts of it. We prove the determinism and type soundness of 𝖤_i, and show that 𝖤_i can encode all well-typed λ_i programs., LIPIcs, Vol. 263, 37th European Conference on Object-Oriented Programming (ECOOP 2023), pages 34:1-34:32
- Published
- 2023
- Full Text
- View/download PDF
27. Characterisation of Normalisation Properties for λμ using Strict Negated Intersection Types.
- Author
-
VAN BAKEL, STEFFEN
- Subjects
RESPECT ,CALCULUS ,SEMANTICS - Abstract
We show characterisation results for normalisation, head-normalisation, and strong normalisation for λμ using intersection types. We reach these results for a strict notion of type assignment for λμ that is the natural restriction of the domain-based system of van Bakel et al. (2011) for λμ by limiting the type inclusion relation to just intersection elimination. We show that this system respects ßµ-equality, by showing both soundness and completeness results. We then define a notion of reduction on derivations that corresponds to cut-elimination, and show that this is strongly normalisable. We use this strong normalisation result to show an approximation result, and through that a characterisation of head-normalisation. Using the approximation result, we show that there is a very strong relation between the system of van Bakel et al. (2011) and ours. We then introduce a notion of type assignment that eliminates ω as an assignable type, and show, using the strong normalisation result for derivation reduction, that all terms typeable in this system are strongly normalisable as well, and show that all strongly normalisable terms are typeable. We conclude by adding type variables to our system, and show that system essentially is that of van Bakel (2010b). [ABSTRACT FROM AUTHOR]
- Published
- 2018
- Full Text
- View/download PDF
28. Pre-grammars and Inhabitation for a Subset of Rank 2 Intersection Types.
- Author
-
Alves, Sandra and Broda, Sabine
- Abstract
In this paper, we identify a subset of types in the rank 2 intersection type system, where types do not contain positive occurrences of intersections. We extend the notion of pre-grammar of a type and address the type-inhabitation problem for types in this subset, as well as their intersections. [ABSTRACT FROM AUTHOR]
- Published
- 2019
- Full Text
- View/download PDF
29. The bang calculus revisited.
- Author
-
Bucciarelli, Antonio, Kesner, Delia, Ríos, Alejandro, and Viso, Andrés
- Subjects
- *
LOGIC - Abstract
Call-by-Push-Value (CBPV) is a programming paradigm subsuming both Call-by-Name (CBN) and Call-by-Value (CBV) semantics. The essence of this paradigm is captured by the Bang Calculus, a term language connecting CBPV and Linear Logic. This paper presents a revisited version of the Bang Calculus, called λ !, enjoying some important properties missing in the original formulation. Indeed, the new calculus integrates permutative conversions to unblock value redexes while preserving confluence. A second contribution is related to non-idempotent types. We provide a quantitative type system for our λ !-calculus, giving upper bounds to the length of the reduction to normal form plus its size. We also explore the properties of this type system with respect to CBN/CBV translations. Last but not least, the quantitative system is refined to a tight one, which transforms the previous upper bound into two independent exact measures for the reduction length and the normal form size respectively. [ABSTRACT FROM AUTHOR]
- Published
- 2023
- Full Text
- View/download PDF
30. Unboundedness for Recursion Schemes: A Simpler Type System
- Author
-
David Barozzini and Paweł Parys and Jan Wróblewski, Barozzini, David, Parys, Paweł, Wróblewski, Jan, David Barozzini and Paweł Parys and Jan Wróblewski, Barozzini, David, Parys, Paweł, and Wróblewski, Jan
- Abstract
Decidability of the problems of unboundedness and simultaneous unboundedness (aka. the diagonal problem) for higher-order recursion schemes was established by Clemente, Parys, Salvati, and Walukiewicz (2016). Then a procedure of optimal complexity was presented by Parys (2017); this procedure used a complicated type system, involving multiple flags and markers. We present here a simpler and much more intuitive type system serving the same purpose. We prove that this type system allows to solve the unboundedness problem for a widely considered subclass of recursion schemes, called safe schemes. For unsafe recursion schemes we only have soundness of the type system: if one can establish a type derivation claiming that a recursion scheme is unbounded then it is indeed unbounded. Completeness of the type system for unsafe recursion schemes is left as an open question. Going further, we discuss an extension of the type system that allows to handle the simultaneous unboundedness problem. We also design and implement an algorithm that fully automatically checks unboundedness of a given recursion scheme, completing in a short time for a wide variety of inputs.
- Published
- 2022
- Full Text
- View/download PDF
31. Encoding Tight Typing in a Unified Framework
- Author
-
Delia Kesner and Andrés Viso, Kesner, Delia, Viso, Andrés, Delia Kesner and Andrés Viso, Kesner, Delia, and Viso, Andrés
- Abstract
This paper explores how the intersection type theories of call-by-name (CBN) and call-by-value (CBV) can be unified in a more general framework provided by call-by-push-value (CBPV). Indeed, we propose tight type systems for CBN and CBV that can be both encoded in a unique tight type system for CBPV. All such systems are quantitative, i.e. they provide exact information about the length of normalization sequences to normal form as well as the size of these normal forms. Moreover, the length of reduction sequences are discriminated according to their multiplicative and exponential nature, a concept inherited from linear logic. Last but not least, it is possible to extract quantitative measures for CBN and CBV from their corresponding encodings in CBPV.
- Published
- 2022
- Full Text
- View/download PDF
32. The Inhabitation Problem for Rank Two Intersection Types
- Author
-
Kuśmierek, Dariusz, Hutchison, David, editor, Kanade, Takeo, editor, Kittler, Josef, editor, Kleinberg, Jon M., editor, Mattern, Friedemann, editor, Mitchell, John C., editor, Naor, Moni, editor, Nierstrasz, Oscar, editor, Rangan, C. Pandu, editor, Steffen, Bernhard, editor, Sudan, Madhu, editor, Terzopoulos, Demetri, editor, Tygar, Doug, editor, Vardi, Moshe Y., editor, Weikum, Gerhard, editor, and Della Rocca, Simona Ronchi, editor
- Published
- 2007
- Full Text
- View/download PDF
33. Curry and Howard Meet Borel
- Author
-
Melissa Antonelli, Ugo Dal Lago, Paolo Pistone, Department of Computer Science and Engineering [Bologna] (DISI), Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO), Foundations of Component-based Ubiquitous Systems (FOCUS), Inria Sophia Antipolis - Méditerranée (CRISAM), Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Dipartimento di Informatica - Scienza e Ingegneria [Bologna] (DISI), Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO)-Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO), University of Bologna/Università di Bologna, Antonelli, Melissa, Dipartimento di Informatica - Scienza e Ingegneria [Bologna] (DISI), Dipartimento di Scienze dell'Informazione [Bologna] (DISI), Melissa Antonelli, Ugo Dal Lago, and Paolo Pistone
- Subjects
FOS: Computer and information sciences ,Computer Science - Logic in Computer Science ,D.3.1 ,Proof theory ,Counting Logic ,Mathematics - Logic ,[INFO] Computer Science [cs] ,Curry-Howard Correspondence, Probabilistic Computation, Counting Logic, Termination, Intersection Types ,Logic in Computer Science (cs.LO) ,TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,Computer Science::Logic in Computer Science ,Intersection Types ,Probabilistic computation Curry-Howard Correspondence ,FOS: Mathematics ,F.4.1 ,F.3.2 ,Probabilistic Computation ,[INFO]Computer Science [cs] ,Logic (math.LO) ,Termination - Abstract
International audience; We show that an intuitionistic version of counting propositional logic corresponds, in the sense of Curry and Howard, to an expressive type system for the probabilistic event λ-calculus, a vehicle calculus in which both call-by-name and call-by-value evaluation of discrete randomized functional programs can be simulated. In this context, proofs (respectively, types) do not guarantee that validity (respectively, termination) holds, but reveal the underlying probability. We finally show how to obtain a system precisely capturing the probabilistic behavior of λ-terms, by endowing the type system with an intersection operator.
- Published
- 2022
34. Intersection types and (positive) almost-sure termination
- Author
-
Simona Ronchi Della Rocca, Ugo Dal Lago, Claudia Faggian, Dipartimento di Informatica - Scienza e Ingegneria [Bologna] (DISI), Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO), Foundations of Component-based Ubiquitous Systems (FOCUS), Inria Sophia Antipolis - Méditerranée (CRISAM), Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Dipartimento di Informatica - Scienza e Ingegneria [Bologna] (DISI), Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO)-Alma Mater Studiorum Università di Bologna [Bologna] (UNIBO), Institut de Recherche en Informatique Fondamentale (IRIF (UMR_8243)), Centre National de la Recherche Scientifique (CNRS)-Université Paris Cité (UPCité), Dipartimento di Informatica [Torino], Università degli studi di Torino = University of Turin (UNITO), ANR-19-CE48-0014,PPS,Sémantique des programmes probabilistes(2019), Dal Lago U., Faggian C., Ronchi Della Rocca S., Centre National de la Recherche Scientifique (CNRS)-Université de Paris (UP), and Università degli studi di Torino (UNITO)
- Subjects
FOS: Computer and information sciences ,Computer Science - Logic in Computer Science ,CCS Concepts: • Theory of computation → Type theory ,Reachability problem ,Computer science ,almost-sure termination ,0102 computer and information sciences ,02 engineering and technology ,01 natural sciences ,Probabilistic computation almost-sure termination ,Recursively enumerable language ,Intersection ,intersection type ,intersection types ,0202 electrical engineering, electronic engineering, information engineering ,Safety, Risk, Reliability and Quality ,Lambda calculus ,Discrete mathematics ,Soundness ,Recursion ,expected time ,type systems ,[INFO.INFO-LO]Computer Science [cs]/Logic in Computer Science [cs.LO] ,020207 software engineering ,Logic in Computer Science (cs.LO) ,Term (time) ,010201 computation theory & mathematics ,Algebraic operation ,Completeness (statistics) ,Software - Abstract
Randomized higher-order computation can be seen as being captured by a λ-calculus endowed with a single algebraic operation, namely a construct for binary probabilistic choice. What matters about such computations is the probability of obtaining any given result, rather than the possibility or the necessity of obtaining it, like in (non)deterministic computation. Termination, arguably the simplest kind of reachability problem, can be spelled out in at least two ways, depending on whether it talks about the probability of convergence or about the expected evaluation time, the second one providing a stronger guarantee. In this paper, we show that intersection types are capable of precisely characterizing both notions of termination inside a single system of types: the probability of convergence of any λ-term can be underapproximated by its type , while the underlying derivation’s weight gives a lower bound to the term’s expected number of steps to normal form. Noticeably, both approximations are tight—not only soundness but also completeness holds. The crucial ingredient is non-idempotency, without which it would be impossible to reason on the expected number of reduction steps which are necessary to completely evaluate any term. Besides, the kind of approximation we obtain is proved to be optimal recursion theoretically: no recursively enumerable formal system can do better than that.
- Published
- 2021
35. Direct Foundations for Compositional Programming
- Author
-
Fan, Andong, Huang, Xuejing, Xu, Han, Sun, Yaozhu, and Oliveira, Bruno C. d. S.
- Subjects
FOS: Computer and information sciences ,TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,Computer Science - Programming Languages ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,operational semantics ,Intersection types ,disjoint polymorphism ,Theory of computation → Type theory ,Programming Languages (cs.PL) - Abstract
The recently proposed CP language adopts Compositional Programming: a new modular programming style that solves challenging problems such as the Expression Problem. CP is implemented on top of a polymorphic core language with disjoint intersection types called 𝖥_{i}^{+}. The semantics of 𝖥_{i}^{+} employs an elaboration to a target language and relies on a sophisticated proof technique to prove the coherence of the elaboration. Unfortunately, the proof technique is technically challenging and hard to scale to many common features, including recursion or impredicative polymorphism. Thus, the original formulation of 𝖥_{i}^{+} does not support the two later features, which creates a gap between theory and practice, since CP fundamentally relies on them. This paper presents a new formulation of 𝖥_{i}^{+} based on a type-directed operational semantics (TDOS). The TDOS approach was recently proposed to model the semantics of languages with disjoint intersection types (but without polymorphism). Our work shows that the TDOS approach can be extended to languages with disjoint polymorphism and model the full 𝖥_{i}^{+} calculus. Unlike the elaboration semantics, which gives the semantics to 𝖥_{i}^{+} indirectly via a target language, the TDOS approach gives a semantics to 𝖥_{i}^{+} directly. With a TDOS, there is no need for a coherence proof. Instead, we can simply prove that the semantics is deterministic. The proof of determinism only uses simple reasoning techniques, such as straightforward induction, and is able to handle problematic features such as recursion and impredicative polymorphism. This removes the gap between theory and practice and validates the original proofs of correctness for CP. We formalized the TDOS variant of the 𝖥_{i}^{+} calculus and all its proofs in the Coq proof assistant., LIPIcs, Vol. 222, 36th European Conference on Object-Oriented Programming (ECOOP 2022), pages 18:1-18:28
- Published
- 2022
36. Non-idempotent intersection types for the Lambda-Calculus.
- Author
-
Bucciarelli, Antonio, Kesner, Delia, and Ventura, Daniel
- Subjects
LAMBDA calculus ,INTERSECTION theory ,PROGRAMMING languages ,TYPEWRITING services ,COMBINATORICS - Abstract
This article explores the use of non-idempotent intersection types in the framework of the λ-calculus. Different topics are presented in a uniform framework: head normalization, weak normalization, weak head normalization, strong normalization, inhabitation, exact bounds and principal typings. The reducibility technique, traditionally used when working with idempotent types, is replaced in this framework by trivial combinatorial arguments. [ABSTRACT FROM AUTHOR]
- Published
- 2017
- Full Text
- View/download PDF
37. On Type-Cases, Union Elimination, and Occurrence Typing
- Author
-
Giuseppe Castagna, Matthew Lutze, Kim Nguyen, Mickaël Laurent, Institut de Recherche en Informatique Fondamentale (IRIF (UMR_8243)), Centre National de la Recherche Scientifique (CNRS)-Université de Paris (UP), Centre National de la Recherche Scientifique (CNRS), Laboratoire Méthodes Formelles (LMF), Institut National de Recherche en Informatique et en Automatique (Inria)-CentraleSupélec-Université Paris-Saclay-Centre National de la Recherche Scientifique (CNRS)-Ecole Normale Supérieure Paris-Saclay (ENS Paris Saclay), and Centre National de la Recherche Scientifique (CNRS)-Université Paris Cité (UPCité)
- Subjects
Theoretical computer science ,subtyping ,dynamic languages ,Computer science ,0102 computer and information sciences ,02 engineering and technology ,01 natural sciences ,intersection types ,0202 electrical engineering, electronic engineering, information engineering ,Canonical form ,Safety, Risk, Reliability and Quality ,union types ,[INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL] ,Intersection (set theory) ,type-case ,type systems ,Union type ,020207 software engineering ,Extension (predicate logic) ,16. Peace & justice ,Subtyping ,Expression (mathematics) ,Term (time) ,010201 computation theory & mathematics ,If and only if ,Software - Abstract
We extend classic union and intersection type systems with a type-case construction and show that the combination of the union elimination rule of the former and the typing rules for type-cases of our extension encompasses occurrence typing . To apply this system in practice, we define a canonical form for the expressions of our extension, called MSC-form. We show that an expression of the extension is typable if and only if its MSC-form is, and reduce the problem of typing the latter to the one of reconstructing annotations for that term. We provide a sound algorithm that performs this reconstruction and a proof-of-concept implementation.
- Published
- 2022
38. Union Types with Disjoint Switches (Artifact)
- Author
-
Rehman, Baber, Huang, Xuejing, Xie, Ningning, and Oliveira, Bruno C. d. S.
- Subjects
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,Union types ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,Computer Science::Logic in Computer Science ,intersection types ,Computer Science::Programming Languages ,disjointness ,switch expression ,Theory of computation → Type theory - Abstract
This artifact contains the mechanical formalization of the calculi associated with the paper Union Types with Disjoint Switches. All of the metatheory has been formalized in Coq theorem prover. We provide a docker image as well the code archive. The paper studies a union calculus ({λ_{u}}). Primary idea of {λ_{u}} calculus is a type based disjoint switch construct for the elimination of union types. We also study several extensions of the {λ_{u}} calculus including intersection types, distributive subtyping, nominal types, parametric polymorphism and an extension for the empty types., DARTS, Vol. 8, Special Issue of the 36th European Conference on Object-Oriented Programming (ECOOP 2022), pages 17:1-17:6
- Published
- 2022
- Full Text
- View/download PDF
39. Unboundedness for Recursion Schemes: A Simpler Type System
- Author
-
Barozzini, David, Parys, Paweł, and Wróblewski, Jan
- Subjects
FOS: Computer and information sciences ,Computer Science - Logic in Computer Science ,safe schemes ,Theory of computation → Verification by model checking ,Computer Science::Systems and Control ,Formal Languages and Automata Theory (cs.FL) ,intersection types ,Mathematics of computing → Lambda calculus ,Higher-order recursion schemes ,Computer Science - Formal Languages and Automata Theory ,boundedness ,Theory of computation → Rewrite systems ,Logic in Computer Science (cs.LO) - Abstract
Decidability of the problems of unboundedness and simultaneous unboundedness (aka. the diagonal problem) for higher-order recursion schemes was established by Clemente, Parys, Salvati, and Walukiewicz (2016). Then a procedure of optimal complexity was presented by Parys (2017); this procedure used a complicated type system, involving multiple flags and markers. We present here a simpler and much more intuitive type system serving the same purpose. We prove that this type system allows to solve the unboundedness problem for a widely considered subclass of recursion schemes, called safe schemes. For unsafe recursion schemes we only have soundness of the type system: if one can establish a type derivation claiming that a recursion scheme is unbounded then it is indeed unbounded. Completeness of the type system for unsafe recursion schemes is left as an open question. Going further, we discuss an extension of the type system that allows to handle the simultaneous unboundedness problem. We also design and implement an algorithm that fully automatically checks unboundedness of a given recursion scheme, completing in a short time for a wide variety of inputs., LIPIcs, Vol. 229, 49th International Colloquium on Automata, Languages, and Programming (ICALP 2022), pages 112:1-112:19
- Published
- 2022
- Full Text
- View/download PDF
40. Direct Foundations for Compositional Programming (Artifact)
- Author
-
Fan, Andong, Huang, Xuejing, Xu, Han, Sun, Yaozhu, and Oliveira, Bruno C. d. S.
- Subjects
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,operational semantics ,Intersection types ,disjoint polymorphism ,Theory of computation → Type theory - Abstract
Our companion paper proposes a new formulation of the 𝖥_{i}^{+} calculus with disjoint polymorphism and a merge operator based on Type-Directed Operational Semantics. The artifact contains Coq formalization of the 𝖥_{i}^{+} calculus and our new implementation of the CP language, which demonstrates the new 𝖥_{i}^{+} can serve as the direct foundation for Compositional Programming., DARTS, Vol. 8, Special Issue of the 36th European Conference on Object-Oriented Programming (ECOOP 2022), pages 4:1-4:3
- Published
- 2022
- Full Text
- View/download PDF
41. Union Types with Disjoint Switches
- Author
-
Rehman, Baber, Huang, Xuejing, Xie, Ningning, and Oliveira, Bruno C. d. S.
- Subjects
Union types ,intersection types ,disjointness ,switch expression ,Theory of computation → Type theory - Abstract
Union types are nowadays a common feature in many modern programming languages. This paper investigates a formulation of union types with an elimination construct that enables case analysis (or switches) on types. The interesting aspect of this construct is that each clause must operate on disjoint types. By using disjoint switches, it is possible to ensure exhaustiveness (i.e. all possible cases are handled), and that none of the cases overlap. In turn, this means that the order of the cases does not matter and that reordering the cases has no impact on the semantics, helping with program understanding and refactoring. While implemented in the Ceylon language, disjoint switches have not been formally studied in the research literature, although a related notion of disjointness has been studied in the context of disjoint intersection types. We study union types with disjoint switches formally and in a language independent way. We first present a simplified calculus, called the union calculus (λ_u), which includes disjoint switches and prove several results, including type soundness and determinism. The notion of disjointness in λ_u is in essence the dual notion of disjointness for intersection types. We then present a more feature-rich formulation of λ_u, which includes intersection types, distributive subtyping and a simple form of nominal types. This extension reveals new challenges. Those challenges require us to depart from the dual notion of disjointness for intersection types, and use a more general formulation of disjointness instead. Among other applications, we show that disjoint switches provide an alternative to certain forms of overloading, and that they enable a simple approach to nullable (or optional) types. All the results about λ_u and its extensions have been formalized in the Coq theorem prover., LIPIcs, Vol. 222, 36th European Conference on Object-Oriented Programming (ECOOP 2022), pages 25:1-25:31
- Published
- 2022
- Full Text
- View/download PDF
42. Non-deterministic functions as non-deterministic processes
- Author
-
Paulus, J.W.N. (Joseph), Nantes, D. (Daniele), Pérez Parra, J.A. (Jorge), Paulus, J.W.N. (Joseph), Nantes, D. (Daniele), and Pérez Parra, J.A. (Jorge)
- Abstract
We study encodings of the λ-calculus into the π-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider λ^↯_⊕, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider sπ, a π-calculus in which non-determinism and failure rest upon a Curry-Howard correspondence between linear logic and session types. We present a typed encoding of λ^↯_⊕ into sπ and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in λ^↯_⊕ via typed processes in sπ. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interaction
- Published
- 2021
- Full Text
- View/download PDF
43. A Deep Quantitative Type System
- Author
-
Giulio Guerrieri and Willem B. Heijltjes and Joseph W.N. Paulus, Guerrieri, Giulio, Heijltjes, Willem B., Paulus, Joseph W.N., Giulio Guerrieri and Willem B. Heijltjes and Joseph W.N. Paulus, Guerrieri, Giulio, Heijltjes, Willem B., and Paulus, Joseph W.N.
- Abstract
We investigate intersection types and resource lambda-calculus in deep-inference proof theory. We give a unified type system that is parametric in various aspects: it encompasses resource calculi, intersection-typed lambda-calculus, and simply-typed lambda-calculus; it accommodates both idempotence and non-idempotence; it characterizes strong and weak normalization; and it does so while allowing a range of algebraic laws to determine reduction behaviour, for various quantitative effects. We give a parametric resource calculus with explicit sharing, the "collection calculus", as a Curry-Howard interpretation of the type system, that embodies these computational properties.
- Published
- 2021
- Full Text
- View/download PDF
44. Pregrammars and Intersection Types
- Author
-
Sabine Broda, Broda, Sabine, Sabine Broda, and Broda, Sabine
- Abstract
A representation of intersection types in terms of pregrammars is presented. Pregrammar based rewriting relations, corresponding respectively to type checking and inhabitation are defined and the latter is used to implement a Wajsberg/Ben-Yelles style alternating semi-decision algorithm for inhabitation. The usefulness of the framework is illustrated by revisiting and partially extending standard inhabitation related results for intersection types, as well as establishing new ones. It is shown how the notion of bounded multiset dimension emerges naturally and the relation between the two settings is clarified. A meaningful rank independent superset of the set of rank 2 types is identified for which EXPSPACE-completeness for inhabitation as well as for counting is proved. Finally, a standard result on negatively non-duplicated simple types is extended to intersection types.
- Published
- 2021
- Full Text
- View/download PDF
45. Non-Deterministic Functions as Non-Deterministic Processes
- Author
-
Paulus, Joseph W.N., Nantes-Sobrinho, Daniele, Pérez, Jorge A., Kobayashi, Naoki, Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands, and Fundamental Computing Science
- Subjects
Resource calculi ,π-calculus ,Theory of computation → Process calculi ,Session types ,Linear logic ,Theory of computation → Type structures ,Intersection types - Abstract
We study encodings of the λ-calculus into the π-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider λ^↯_⊕, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider 𝗌π, a π-calculus in which non-determinism and failure rest upon a Curry-Howard correspondence between linear logic and session types. We present a typed encoding of λ^↯_⊕ into 𝗌π and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in λ^↯_⊕ via typed processes in 𝗌π. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interaction protocols., LIPIcs, Vol. 195, 6th International Conference on Formal Structures for Computation and Deduction (FSCD 2021), pages 21:1-21:22
- Published
- 2021
46. Types and Terms Translated
- Author
-
Paulus, Joseph W. N., Nantes-Sobrinho, Daniele, Pérez, Jorge A., Basold, Henning, Cockx, Jesper, Ghilezan, Silvia, and Fundamental Computing Science
- Subjects
process calculi ,session types ,Theory of computation → Process calculi ,intersection types ,Theory of computation → Type structures ,Resource λ-calculus - Abstract
Type-preserving translations are effective rigorous tools in the study of core programming calculi. In this paper, we develop a new typed translation that connects sequential and concurrent calculi; it is governed by type systems that control resource consumption. Our main contribution is the source language, a new resource λ-calculus with non-collapsing non-determinism and failures, dubbed uλ^{↯}_{⊕}. In uλ^{↯}_{⊕}, resources are split into linear and unrestricted; failures are explicit and arise from this distinction. We define a type system based on intersection types to control resources and fail-prone computation. The target language is 𝗌π, an existing session-typed π-calculus that results from a Curry-Howard correspondence between linear logic and session types. Our typed translation subsumes our prior work; interestingly, it treats unrestricted resources in uλ^{↯}_{⊕} as client-server session behaviours in 𝗌π., LIPIcs, Vol. 239, 27th International Conference on Types for Proofs and Programs (TYPES 2021), pages 11:1-11:24
- Published
- 2022
47. Explicit substitution calculi with de Bruijn indices and intersection type systems.
- Author
-
VENTURA, DANIEL LIMA, KAMAREDDINE, FAIROUZ, and AYALA-RINCÓN, MAURICIO
- Subjects
SUBSTITUTIONS (Mathematics) ,INTERSECTION theory ,CALCULUS ,DE Bruijn graph ,MORPHISMS (Mathematics) - Abstract
Explicit substitution calculi propose solutions to the main drawback of the λ-calculus: substitution defined as a metaoperation in the system. By making explicit the process of substitution, the theoretical system gets closer to an eventual implementation. Furthermore, for implementation purposes, many explicit substitution systems are written with de Bruijn indices. The λ-calculus with de Bruijn indices, called λdB, assembles each α-class of λ-terms in a unique term, which is more 'machine-friendly' than the classical version with variables. Intersection types (IT) provide finitary type polymorphism satisfying important properties like principal typing (PT), which allows the type system to include features such as data abstraction (modularity) and separate compilation. Although some explicit substitution calculi with simple type systems are well investigated, providing nice applications such as specialized implementations of higher order unification, more elaborated type systems such as IT have not been proposed/studied for these calculi. In an earlier work, we introduced IT systems for two explicit substitution calculi, λσ and λs
e , conjecturing them to satisfy the basic property of subject reduction (SR), which guarantees the preservation of types during computations. In this article, we take a deeper look at these systems, providing an insight into their development which helps us construct for the first time the proofs of SR omitted before. This new result also (i) enables us to prove another new result: SR for an IT system for λdB ; and (ii) allows us to introduce for the first time an IT system for the λυ-calculus. [ABSTRACT FROM AUTHOR]- Published
- 2015
- Full Text
- View/download PDF
48. A Deep Quantitative Type System
- Author
-
Guerrieri, Giulio, Heijltjes, Willem B., Paulus, Joseph W. N., Baier, Christel, Goubault-Larrecq, Jean, Baier, Christel, Goubault-Larrecq, Jean, and Fundamental Computing Science
- Subjects
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES ,Deep inference ,Theory of computation → Proof theory ,TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS ,Computer Science::Logic in Computer Science ,Theory of computation → Lambda calculus ,Lambda-calculus ,Intersection types ,Software ,Resource calculus - Abstract
We investigate intersection types and resource lambda-calculus in deep-inference proof theory. We give a unified type system that is parametric in various aspects: it encompasses resource calculi, intersection-typed lambda-calculus, and simply-typed lambda-calculus; it accommodates both idempotence and non-idempotence; it characterizes strong and weak normalization; and it does so while allowing a range of algebraic laws to determine reduction behaviour, for various quantitative effects. We give a parametric resource calculus with explicit sharing, the "collection calculus", as a Curry-Howard interpretation of the type system, that embodies these computational properties., LIPIcs, Vol. 183, 29th EACSL Annual Conference on Computer Science Logic (CSL 2021), pages 24:1-24:24
- Published
- 2021
49. Call-By-Value, Again!
- Author
-
Kerinec, Axel, Manzonetto, Giulio, and Ronchi Della Rocca, Simona
- Subjects
Theory of computation → Linear logic ,call-by-value ,intersection types ,inhabitation ,λ-calculus ,Theory of computation → Denotational semantics ,solvability - Abstract
The quest for a fully abstract model of the call-by-value λ-calculus remains crucial in programming language theory, and constitutes an ongoing line of research. While a model enjoying this property has not been found yet, this interesting problem acts as a powerful motivation for investigating classes of models, studying the associated theories and capturing operational properties semantically. We study a relational model presented as a relevant intersection type system, where intersection is in general non-idempotent, except for an idempotent element that is injected in the system. This model is adequate, equates many λ-terms that are indeed equivalent in the maximal observational theory, and satisfies an Approximation Theorem w.r.t. a system of approximants representing finite pieces of call-by-value Böhm trees. We show that these tools can be used for characterizing the most significant properties of the calculus - namely valuability, potential valuability and solvability - both semantically, through the notion of approximants, and logically, by means of the type assignment system. We mainly focus on the characterizations of solvability, as they constitute an original result. Finally, we prove the decidability of the inhabitation problem for our type system by exhibiting a non-deterministic algorithm, which is proven sound, correct and terminating., LIPIcs, Vol. 195, 6th International Conference on Formal Structures for Computation and Deduction (FSCD 2021), pages 7:1-7:18
- Published
- 2021
- Full Text
- View/download PDF
50. Programming with union, intersection, and negation types
- Author
-
Castagna, Giuseppe, Centre National de la Recherche Scientifique (CNRS), Institut de Recherche en Informatique Fondamentale (IRIF (UMR_8243)), and Centre National de la Recherche Scientifique (CNRS)-Université de Paris (UP)
- Subjects
Negation types ,FOS: Computer and information sciences ,Subtyping ,Computer Science - Programming Languages ,[INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL] ,Union types ,Overloading ,Intersection types ,Polymorphism ,Semantic subtyping ,Type-theory ,Programming Languages (cs.PL) - Abstract
In this essay, I present the advantages and, I dare say, the beauty of programming in a language with set-theoretic types, that is, types that include union, intersection, and negation type connectives. I show by several examples how set-theoretic types are necessary to type some common programming patterns, but also how they play a key role in typing several language constructs-from branching and pattern matching to function overloading and type-cases-very precisely. I start by presenting the theory of types known as semantic subtyping and extend it to include polymorphic types. Next, I discuss the design of languages that use these types. I start by defining a theoretical framework that covers all the examples given in the first part of the presentation. Since the system of the framework cannot be effectively implemented, I then describe three effective restrictions of this system: (i) a polymorphic language with explicitly-typed functions, (ii) an implicitly-typed polymorphic language \`a la Hindley-Milner, and (iii) a monomorphic language that, by implementing classic union-elimination, precisely reconstructs intersection types for functions and implements a very general form of occurrence typing. I conclude the presentation with a short overview of other aspects of these languages, such as pattern matching, gradual typing, and denotational semantics.
- Published
- 2021
- Full Text
- View/download PDF
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.