The Delta-calculus: syntax and types

  title={The Delta-calculus: syntax and types},
  author={Luigi Liquori and Claude Stolze},
We present the Delta-calculus, an explicitly typed lambda-calculus with strong pairs, projections and explicit type coercions. The calculus can be parametrized with different intersection type theories T, e.g. the Coppo-Dezani, the Coppo-Dezani-Salle', the Coppo-Dezani-Venneri and the Barendregt-Coppo-Dezani ones, producing a family of Delta-calculi with related intersection type systems. We prove the main properties like Church-Rosser, unicity of type, subject reduction, strong normalization… 

Figures from this paper

A Type Checker for a Logical Framework with Union and Intersection Types

We present the syntax, semantics, and typing rules of Bull, a prototype theorem prover based on the Delta-Framework, i.e. a fully-typed lambda-calculus decorated with union and intersection types, as

The Delta-framework

We introduce the Delta-framework, LF-Delta, a dependent type theory based on the Edinburgh Logical Framework LF, extended with the strong proof-functional connectives, i.e. strong intersection,

Manifest Contracts with Intersection Types

A formal definition of PCFv$\Delta$H is given and its basic properties as a manifest contract system: preservation, progress, and value inversion are shown and it is shown that run-time checking does not affect essential computation.

Non-idempotent Intersection Types in Logical Form

It is shown that non-idempotent typing can be given a logical form in a system where formulas represent hereditarily indexed families of intersection types.

Kripke Semantics for Intersection Formulas

A notion of the Kripke-style model for intersection logic is proposed, and a game interpretation is used to prove soundness and completeness of the proposed semantics.

Principality and approximation under dimensional bound

Finite, computable bases are shown to span standard principal typings of a given term for sufficiently high dimension, thereby providing an approximation to standard principality by type inference, and capturing it precisely for sufficiently large dimensional parameter.

A Typed Lambda Calculus with Gradual Intersection Types

  • Pedro ÂngeloMário Florido
  • Computer Science
    Proceedings of the 24th International Symposium on Principles and Practice of Declarative Programming
  • 2022
This work incorporates intersection types and gradual types in a single typed calculus and defines an operational semantics with type cast annotations that proves several crucial properties of the type system, namely that types are preserved during compilation and evaluation and that the refined criteria for gradual typing holds.



Logic and Computation in a Lambda Calculus with Intersection and Union Types

An explicitly typed lambda calculus "a la Church" based on the union and intersection types discipline is presented, and a decidable notion of equality on type-assignment derivations inspired by the equational theory of bicartesian-closed categories is introduced.

A typed lambda calculus with intersection types

Inheritance as Implicit Coercion

A Realizability Interpretation for Intersection and Union Types

A typed calculus directly derived from a typed calculus previously defined by two of the current authors has been proved isomorphic to the well-known Barbanera-Dezani-Ciancaglini-de’Liguoro type assignment system and a logic L∩∪ featuring two proof-functional connectives, namely strong conjunction and strong disjunction is presented.

The Delta-framework

We introduce the Delta-framework, LF-Delta, a dependent type theory based on the Edinburgh Logical Framework LF, extended with the strong proof-functional connectives, i.e. strong intersection,

The Implicit Calculus of Constructions

In this paper, we introduce a new type system, the Implicit Calculus of Constructions, which is a Curry-style variant of the Calculus of Constructions that we extend by adding an intersection type

Intersection types and λ-definability

The paper extends the results presented in Bucciarelli et al. (1999) to the whole intersection type system of Barendregt, Coppo and Dezani, thus providing a complete proof of the conjecture, proposed in Leivant (1990), that all functions uniformly definable using intersection types are already Definable using Curry types.

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

Programming with intersection types, union types, and polymorphism

This report summarizes a preliminary investigation of the expressiveness of a programming language combining intersection types, union types, and polymorphism.

Elaborating intersection and union types

  • Jana Dunfield
  • Computer Science
    Journal of Functional Programming
  • 2014
A foundation for compiling unrestricted intersection and union types is described: an elaboration type system that generates ordinary λ-calculus terms and it is proved that ordinary call-by-value evaluation of the elaborated program corresponds to a type-preserving Evaluation of the source program.