2-Dimensional Directed Type Theory

  • Authors:
  • Daniel R. Licata;Robert Harper

  • Affiliations:
  • Carnegie Mellon University;Carnegie Mellon University

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recent work on higher-dimensional type theory has explored connections between Martin-Lof type theory, higher-dimensional category theory, and homotopy theory. These connections suggest a generalization of dependent type theory to account for computationally relevant proofs of propositional equality-for example, taking Id"S"e"tA B to be the isomorphisms between A and B. The crucial observation is that all of the familiar type and term constructors can be equipped with a functorial action that describes how they preserve such proofs. The key benefit of higher-dimensional type theory is that programmers and mathematicians may work up to isomorphism and higher equivalence, such as equivalence of categories. In this paper, we consider a further generalization of higher-dimensional type theory, which associates each type with a directed notion of transformation between its elements. Directed type theory accounts for phenomena not expressible in symmetric higher-dimensional type theory, such as a universe set of sets and functions, and a type Ctx used in functorial abstract syntax. Our formulation requires two main ingredients: First, the types themselves must be reinterpreted to take account of variance; for example, a @P type is contravariant in its domain, but covariant in its range. Second, whereas in symmetric type theory proofs of equivalence can be internalized using the Martin-Lof identity type, in directed type theory the two-dimensional structure must be made explicit at the judgemental level. We describe a 2-dimensional directed type theory, or 2DTT, which is validated by an interpretation into the strict 2-category Cat of categories, functors, and natural transformations. We also discuss applications of 2DTT for programming with abstract syntax, generalizing the functorial approach to syntax to the dependently typed and mixed-variance case.