Encoding dependent types in an intuitionistic
Logical frameworks
A framework for defining logics
Journal of the ACM (JACM)
Deciding type equivalence in a language with singleton kinds
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Definition of Standard ML
Subtyping with Singleton Types
CSL '94 Selected Papers from the 8th International Workshop on Computer Science Logic
Extensional equivalence and singleton types
ACM Transactions on Computational Logic (TOCL)
Towards a mechanized metatheory of standard ML
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Sound and complete elimination of singleton kinds
ACM Transactions on Computational Logic (TOCL)
Mechanizing metatheory in a logical framework
Journal of Functional Programming
LF in LF: mechanizing the metatheories of LF in twelf
Proceedings of the seventh international workshop on Logical frameworks and meta-languages, theory and practice
Hi-index | 0.00 |
We give a syntactic proof of decidability and consistency of equivalence for the singleton type calculus, which lies at the foundation of modern module systems such as that of ML. Unlike existing proofs, which work by constructing a model, our syntactic proof makes few demands on the underlying proof theory and mathematical foundation. Consequently, it can be --- and has been --- entirely formulated in the Twelf meta-logic, and provides an important piece of a Twelf-formalized type-safety proof for Standard ML. The proof works by translation of the singleton type calculus into a canonical presentation, adapted from work on logical frameworks, in which equivalent terms are written identically. Canonical forms are not preserved under standard substitution, so we employ an alternative definition of substitution called hereditary substitution, which contracts redices that arise during substitution.