Combining union, intersection and dependent types in an explicitly typed lambda-calculus

Claude Stolze 1
1 KAIROS - Logical Time for Formal Embedded System Design
CRISAM - Inria Sophia Antipolis - Méditerranée , Laboratoire I3S - COMRED - COMmunications, Réseaux, systèmes Embarqués et Distribués
Abstract : The subject of this thesis is about lambda-calculus decorated with types, usually called “Church-style typed lambda-calculus”. We study this lambda-calculus enhanced with Intersection types, as described by Barendregt, Dekkers and Statman in the book “Lambda-calculus with Types”; Union types, as introduced by Plotkin, MacQueen and Sethi; and Dependent types, as described by Plotkin, Harper and Honsell when they introduced the Edinburgh Logical Framework LF. Intersection and union types are a way to express ad hoc polymorphism and are an alternative to the parametric polymorphism of Girard. Dependent types were introduced as a way to formalize intuitionistic logic using the “proofs-as-lambda-terms / formulae-as-types” Curry-Howard principle. The resulting type system can be enriched with a decidable subtyping relation. Combining these three type disciplines gives rise to a family of calculi that can be parametrized and classified: we call the resulting system the Delta-calculus. We then discuss the design decisions which have led us to the formulation of these calculi, study their metatheory, and provide various examples of applications; and we finally present a software implementation of the Delta- calculus, with a description of the type checker, the refinement algorithm, the subtyping algorithm, the evaluation algorithm and the command-line interface. This work can be understood as a little step toward an alternative type theory to defining polymorphic programming languages and interactive proof assistants.
Complete list of metadatas

Cited literature [138 references]  Display  Hide  Download
Contributor : Claude Stolze <>
Submitted on : Thursday, December 12, 2019 - 11:58:53 AM
Last modification on : Thursday, December 19, 2019 - 2:22:19 AM


Files produced by the author(s)


  • HAL Id : tel-02406953, version 1



Claude Stolze. Combining union, intersection and dependent types in an explicitly typed lambda-calculus. Computation and Language [cs.CL]. Université Côte d'Azur, 2019. English. ⟨tel-02406953⟩



Record views


Files downloads