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
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.