The Twelf Proof Assistant
Logical framework research is based on the philosophical point of view that it should be possible to capture mathematical concepts such as proofs, logics, and meaning in a formal system — directly, adequately (in the sense that there are no spurious or exotic witnesses), and without having to commit to a particular logical theory. Instead of working with one general purpose representation language, we design special purpose logical frameworks for capturing reoccurring concepts for special domains, such as, for example, variable renaming, substitution application, and resource management for programming language theory. Most logical frameworks are based on constructive type theories, such as Isabelle (on the simply-typed λ-calculus), LF [HHP93] (on the dependently typed λ-calculus), and LLF (on a linearly typed λ-calculus). The representational strength of the logical framework stems from the choice of definitional equality on terms. For example, α-conversion models the tacit renaming of variables, β-contraction models substitution application, and η-expansion guarantees the adequacy of encodings.
KeywordsClassical Logic Deductive System Intuitionistic Logic Logical Framework Proof Assistant
Unable to display preview. Download preview PDF.
- [Cra03]Crary, K.: Toward a foundational typed assembly language. In: Morrisett, G. (ed.) Proceedings of the 30th ACM Symposium on Principles of Programming Languages, New Orleans, Louisiana. SIGPLAN Notices, vol. 38(1), pp. 198–212. ACM Press, New York (2003)Google Scholar
- [LCH07]Lee, D.K., Crary, K., Harper, R.: Towards a mechanized metatheory of standard ML. In: Proceedings of the 34th Annual Symposium on Principles of Programming Languages, pp. 173–184. ACM Press, New York (2007)Google Scholar