Non-idempotent intersection types and strong normalisation

  title={Non-idempotent intersection types and strong normalisation},
  author={Alexis Bernadet and St{\'e}phane Lengrand},
  journal={Log. Methods Comput. Sci.},
We present a typing system with non-idempotent intersection types, typing a term syntax covering three different calculi: the pure {\lambda}-calculus, the calculus with explicit substitutions {\lambda}S, and the calculus with explicit substitutions, contractions and weakenings {\lambda}lxr. In each of the three calculi, a term is typable if and only if it is strongly normalising, as it is the case in (many) systems with idempotent intersections. Non-idempotency brings extra information into… 

Figures from this paper

Non-idempotent types for classical calculi in natural deduction style

A simple arithmetical characterization of strongly $\lambda\mu$r-normalizing terms by means of typing is derived, which preserves and decreases typing derivations in an extended appropriate typing system.

Factoring Derivation Spaces via Intersection Types

It is shown that the derivation space of a \(\lambda \)-term may be factorized using a variant of the Grothendieck construction for semilattices, which means, in particular, that any derivation in the \(\ lambda \)-calculus can be uniquely written as a garbage-free prefix followed by garbage.

Factoring Derivation Spaces via Intersection Types (Extended Version)

It is shown that the derivation space of a lambda-term may be factorized using a variant of the Grothendieck construction for semilattices, which means, in particular, that any derivation in the lambda-calculus can be uniquely written as a garbage-free prefix followed by garbage.

Types by Need (Extended Version)

A cornerstone of the theory of lambda-calculus is that intersection types characterise termination properties. They are a flexible tool that can be adapted to various notions of termination, and that

Explicit substitution calculi with de Bruijn indices and intersection type systems

A deeper look at explicit substitution calculi with simple type systems is taken, providing an insight into their development which helps to construct for the first time the proofs of subject reduction omitted before, and an IT system for the λυ-calculus is introduced.

The Duality of Classical Intersection and Union Types

This work looks 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, and presents two dual type systems which have all three properties: soundness, completeness, and type safety.

Consuming and Persistent Types for Classical Logic

It is proved that type systems are able to capture exact measures related to dynamic properties of functional programs with control operators, which allow implementing intricate continuations and backtracking, and a type framework capturing exact measures within the λμ-calculus for 3 different evaluation strategies.

Quantitative Types for the Linear Substitution Calculus

We define two non-idempotent intersection type systems for the linear substitution calculus, a calculus with partial substitutions acting at a distance that is a computational interpretation of

Towards a Semantic Measure of the Execution Time in Call-by-Value lambda-Calculus

This work investigates the possibility of a semantic account of the execution time for the shuffling calculus, an extension of Plotkin's call-by-value lambda-calculus, using a linear logic based denotational model that can be seen as a non-idempotent intersection type system: relational semantics.

Types of Fireballs (Extended Version)

This study relies on a new, refined presentation of the fireball calculus, the simplest proposal for open call-by-value, that is more apt to denotational investigations, and its type system characterises normalisation and thus provides an adequate relational semantics.



Complexity of Strongly Normalising λ-Terms via Non-idempotent Intersection Types

A typing system for the λ-calculus, with nonidempotent intersection types, and a result that is the counterpart of de Carvalho's result for linear head-reduction sequences.

Filter Models: Non-idempotent Intersection Types, Orthogonality and Polymorphism

This paper revisits models of typed lambda calculus based on filters of intersection types by using non-idempotent intersections, and applies the above range of model constructions to Curry-style System F to describe at different levels of detail how the infinite polymorphism of System F can systematically be reduced to the finite polymorphismof intersection types.

Reductions, intersection types, and explicit substitutions

It is shown that the terms that normalise by leftmost reduction and the terms by head reduction can each be characterised as the terms typable in a certain system, and refine and strengthen the classical normalisation theorems.

Preservation of strong normalisation in named lambda calculi with explicit substitution and garbage collection

It is shown that xgc is a conservative extension which preserves strong normalisation (PSN) of the untyped-calculus, which has two distinguishing features: rst, it retains the use of traditional variable names, specifying terms modulo renaming; this simpliies the reduction system.

Intersection Types for the Resource Control Lambda Calculi

It is proved that typability implies strong normalisation in λ® by adapting the reducibility method and that strongnormalisation implies typability in both systems using head subject expansion.

Typed lambda-calculus in classical Zermelo-Frænkel set theory

A type system of simple types, which uses the intuitionistic propositional calculus, with the only connective →, and a system closely related to the latter, called the λc-calculus, which has the normalization property.

Full Abstraction for Lambda Calculus with Resources and Convergence Testing

This paper studies a functionality theory in the style of Coppo et al.'s intersection type system for the calculus of resources extended with convergence testing and proves that the interpretation of terms in this typing system gives rise to a fully abstract semantics of the calculus.

Typed -calculi with Explicit Substitutions May Not Terminate

A simply typed-term whose computation in the-calculus does not always terminate is presented, which provides a pleasant setting to study substitutions and check implementations.

A filter lambda model and the completeness of type assignment

In [6, p. 317] Curry described a formal system assigning types to terms of the type-free λ-calculus. In [11] Scott gave a natural semantics for this type assignment and asked whether a completeness