Skip to Main content Skip to Navigation

Combining union, intersection and dependent types in an explicitely 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 "proof-as-lambda-terms / formulas-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.
Document type :
Complete list of metadata

Cited literature [138 references]  Display  Hide  Download
Contributor : Abes Star :  Contact
Submitted on : Friday, June 26, 2020 - 10:52:10 AM
Last modification on : Thursday, May 20, 2021 - 9:20:01 AM


Version validated by the jury (STAR)


  • HAL Id : tel-02406953, version 2



Claude Stolze. Combining union, intersection and dependent types in an explicitely typed lambda-calculus. Logic [math.LO]. COMUE Université Côte d'Azur (2015 - 2019), 2019. English. ⟨NNT : 2019AZUR4104⟩. ⟨tel-02406953v2⟩



Record views


Files downloads