FLOC 2018: FEDERATED LOGIC CONFERENCE 2018
Degrees of Relatedness - A Unified Framework for Parametricity, Irrelevance, Ad Hoc Polymorphism, Intersections, Unions and Algebra in Dependent Type Theory

Authors: Andreas Nuyts and Dominique Devriese

Paper Information

Title:Degrees of Relatedness - A Unified Framework for Parametricity, Irrelevance, Ad Hoc Polymorphism, Intersections, Unions and Algebra in Dependent Type Theory
Authors:Andreas Nuyts and Dominique Devriese
Proceedings:LICS PDF files
Editors: Anuj Dawar and Erich Grädel
Keywords:parametricity, irrelevance, erasure, cubical type theory, presheaf semantics, intersections, unions, algebra in type theory
Abstract:

ABSTRACT. Dependent type theory allows us to write programs and to prove properties about those programs in the same language. However, some properties do not require much proof, as they are evident from a program's implementation, e.g. if a polymorphic program is not ad hoc but relationally parametric, then we get parametricity theorems for free. If we want to safely shortcut proofs by relying on the evident good behaviour of a program, then we need a type-level guarantee that the program is indeed well-behaved. This can be achieved by annotating function types with a modality describing the behaviour of functions.

We consider a dependent type system with modalities for relational parametricity, irrelevance (i.e. type-checking time erasability of an argument) and ad hoc polymorphism. The interplay of three modalities and dependent types raises a number of questions. For example: If a term depends on a variable with a given modality, then how does its type need to depend on it? Are all modalities always applicable, e.g. should we consider parametric functions from the booleans to the naturals? Do we need any further modalities in order to properly reason about these three?

We develop a type system, based on a denotational presheaf model, that answers these questions. The core idea is to equip every type with a number of relations --- just equality for small types, but more for larger types --- and to describe function behaviour by saying how functions act on those relations. The system has modality aware equality judgements (ignoring irrelevant parts) and modality aware proving operators (for proving free theorems). It also supports sized types, some form of intersection and union types, and an elegant approach to reasoning about algebraic structures.

Pages:10
Talk:Jul 12 10:20 (Session 70E)
Paper: