Explicit convertibility proofs in pure type systems

  • Authors:
  • Floris van Doorn;Herman Geuvers;Freek Wiedijk

  • Affiliations:
  • Utrecht University, Utrecht, Netherlands;Radboud University Nijmegen, Nijmegen, Netherlands;Radboud University Nijmege, Nijmegen, Netherlands

  • Venue:
  • Proceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We define type theory with explicit conversions. When type checking a term in normal type theory, the system searches for convertibility paths between types. The results of these searches are not stored in the term, and need to be reconstructed every time again. In our system, this information is also represented in the term. The system we define has the property that the type derivation of a term has exactly the same structure as the term itself. This has the consequence that there exists a natural LF encoding of such a system in which the encoded type is a dependent parameter of the type of the encoded term. For every Pure Type System we define a system in our style. We show that such a system is always equivalent to the normal system without explicit conversions (even for non-functional systems), in the sense that the typability relation can be lifted. This proof has been fully formalised in the Coq system, building on a formalisation by Vincent Siles. In our system, explicit conversions are not allowed to be removed when checking for convertibility. This means that all terms in convertibility proofs are well typed, even in the sense of our system.