8 research outputs found

    Realisability Semantics for Intersection Types and Expansion Variables

    Get PDF
    Expansion was invented at the end of the 1970s for calculating principal typings for λ\lambda-terms in type systems with intersection types. Expansion variables (E-variables) were invented at the end of the 1990s to simplify and help mechanise expansion. Recently, E-variables have been further simplified and generalised to also allow calculating type operators other than just intersection. There has been much work on denotational semantics for type systems with intersection types, but none whatsoever before now on type systems with E-variables. Building a semantics for E-variables turns out to be challenging. To simplify the problem, we consider only E-variables, and not the corresponding operation of expansion. We develop a realisability semantics where each use of an E-variable in a type corresponds to an independent degree at which evaluation occurs in the λ\lambda-term that is assigned the type. In the λ\lambda-term being evaluated, the only interaction possible between portions at different degrees is that higher degree portions can be passed around but never applied to lower degree portions. We apply this semantics to two intersection type systems. We show these systems are sound, that completeness does not hold for the first system, and completeness holds for the second system when only one E-variable is allowed (although it can be used many times and nested). As far as we know, this is the first study of a denotational semantics of intersection type systems with E-variables (using realisability or any other approach)

    Principal Typings in a Restricted Intersection Type System for Beta Normal Forms with De Bruijn Indices

    Full text link
    The lambda-calculus with de Bruijn indices assembles each alpha-class of lambda-terms in a unique term, using indices instead of variable names. Intersection types provide finitary type polymorphism and can characterise normalisable lambda-terms through the property that a term is normalisable if and only if it is typeable. To be closer to computations and to simplify the formalisation of the atomic operations involved in beta-contractions, several calculi of explicit substitution were developed mostly with de Bruijn indices. Versions of explicit substitutions calculi without types and with simple type systems are well investigated in contrast to versions with more elaborate type systems such as intersection types. In previous work, we introduced a de Bruijn version of the lambda-calculus with an intersection type system and proved that it preserves subject reduction, a basic property of type systems. In this paper a version with de Bruijn indices of an intersection type system originally introduced to characterise principal typings for beta-normal forms is presented. We present the characterisation in this new system and the corresponding versions for the type inference and the reconstruction of normal forms from principal typings algorithms. We briefly discuss the failure of the subject reduction property and some possible solutions for it

    A complete realisability semantics for intersection types and arbitrary expansion variables

    Get PDF
    Expansion was introduced at the end of the 1970s for calculating principal typings for λ\lambda-terms in intersection type systems. Expansion variables (E-variables) were introduced at the end of the 1990s to simplify and help mechanise expansion. Recently, E-variables have been further simplified and generalised to also allow calculating other type operators than just intersection. There has been much work on semantics for intersection type systems, but only one such work on intersection type systems with E-variables. That work established that building a semantics for E-variables is very challenging. Because it is unclear how to devise a space of meanings for E-variables, that work developed instead a space of meanings for types that is hierarchical in the sense of having many degrees (denoted by indexes). However, although the indexed calculus helped identify the serious problems of giving a semantics for expansion variables, the sound realisability semantics was only complete when one single E-variable is used and furthermore, the universal type ω\omega was not allowed. In this paper, we are able to overcome these challenges. We develop a realisability semantics where we allow an arbitrary (possibly infinite) number of expansion variables and where ω\omega is present. We show the soundness and completeness of our proposed semantics.Comment: 5th International Colloquium on Theoretical Aspects of Computing, ICTAC 2008, 1-3 September 2008, Istanbul : Turquie (2008

    A completeness result for a realisability semantics for an intersection type system

    No full text
    International audienceIn this paper we consider a type system with a universal type ω\omega where any term (whether open or closed, β\beta-normalising or not) has type ω\omega. We provide this type system with a realisability semantics where an atomic type is interpreted as the set of λ\lambda-terms saturated by a certain relation. The variation of the saturation relation gives a number of interpretations to each type. We show the soundness and completeness of our semantics and that for different notions of saturation (based on weak head reduction and normal β\beta-reduction) we obtain the same interpretation for types. Since the presence of ω\omega prevents typability and realisability from coinciding and creates extra difficulties in characterizing the interpretation of a type, we define a class U+{\mathbb U}^+ of the so-called positive types (where ω\omega can only occur at specific positions). We show that if a term inhabits a positive type, then this term is β\beta-normalisable and reduces to a closed term. In other words, positive types can be used to represent abstract data types. The completeness theorem for U+{\mathbb U}^+ becomes interesting indeed since it establishes a perfect equivalence between typable terms and terms that inhabit a type. In other words, typability and realisability coincide on U+{\mathbb U}^+. We give a number of examples to explain the intuition behind the definition of U+{\mathbb U}^+ and to show that this class cannot be extended while keeping its desired properties

    A completeness result for a realisability semantics for an intersection type system

    Get PDF
    International audienceIn this paper we consider a type system with a universal type ω\omega where any term (whether open or closed, β\beta-normalising or not) has type ω\omega. We provide this type system with a realisability semantics where an atomic type is interpreted as the set of λ\lambda-terms saturated by a certain relation. The variation of the saturation relation gives a number of interpretations to each type. We show the soundness and completeness of our semantics and that for different notions of saturation (based on weak head reduction and normal β\beta-reduction) we obtain the same interpretation for types. Since the presence of ω\omega prevents typability and realisability from coinciding and creates extra difficulties in characterizing the interpretation of a type, we define a class U+{\mathbb U}^+ of the so-called positive types (where ω\omega can only occur at specific positions). We show that if a term inhabits a positive type, then this term is β\beta-normalisable and reduces to a closed term. In other words, positive types can be used to represent abstract data types. The completeness theorem for U+{\mathbb U}^+ becomes interesting indeed since it establishes a perfect equivalence between typable terms and terms that inhabit a type. In other words, typability and realisability coincide on U+{\mathbb U}^+. We give a number of examples to explain the intuition behind the definition of U+{\mathbb U}^+ and to show that this class cannot be extended while keeping its desired properties
    corecore