Higher-order unification with dependent function types
RTA-89 Proceedings of the 3rd international conference on Rewriting Techniques and Applications
Encoding a dependent-type &lgr;-calculus in a logic programming language
CADE-10 Proceedings of the tenth international conference on Automated deduction
Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
An algorithm for testing conversion in type theory
Logical frameworks
A framework for defining logics
Journal of the ACM (JACM)
Handbook of logic in computer science (vol. 2)
Deciding type equivalence in a language with singleton kinds
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Eta-Expansions in Dependent Type Theory - The Calculus of Constructions
TLCA '97 Proceedings of the Third International Conference on Typed Lambda Calculi and Applications
Information and Computation
Intensionality, Extensionality, and Proof Irrelevance in Modal Type Theory
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Higher-order rewriting with dependent types (lambda calculus)
Higher-order rewriting with dependent types (lambda calculus)
Ordered linear logic and applications
Ordered linear logic and applications
Some logical and syntactical observations concerning the first-order dependent type system λP
Mathematical Structures in Computer Science
A syntactic approach to eta equality in type theory
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A language-based approach to functionally correct imperative programming
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
A Logical Framework with Dependently Typed Records
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2003, Selected Papers
Hybridizing a Logical Framework
Electronic Notes in Theoretical Computer Science (ENTCS)
Mechanized metatheory model-checking
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Mechanizing metatheory in a logical framework
Journal of Functional Programming
A Bidirectional Refinement Type System for LF
Electronic Notes in Theoretical Computer Science (ENTCS)
Normalization for the Simply-Typed Lambda-Calculus in Twelf
Electronic Notes in Theoretical Computer Science (ENTCS)
Nominal Techniques in Isabelle/HOL
Journal of Automated Reasoning
Untyped Algorithmic Equality for Martin-Löf's Logical Framework with Surjective Pairs
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
A framework for checking proofs naturally
Journal of Intelligent Information Systems
Revisiting Cut-Elimination: One Difficult Proof Is Really a Proof
RTA '08 Proceedings of the 19th international conference on Rewriting Techniques and Applications
Verifying a Semantic βη-Conversion Test for Martin-Löf Type Theory
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
Semantic foundations for typed assembly languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parametricity, type equality, and higher-order polymorphism
Journal of Functional Programming
Higher-order representation of substructural logics
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Mechanizing the metatheory of LF
ACM Transactions on Computational Logic (TOCL)
Irrelevance in type theory with a heterogeneous equality judgement
FOSSACS'11/ETAPS'11 Proceedings of the 14th international conference on Foundations of software science and computational structures: part of the joint European conferences on theory and practice of software
Polarized subtyping for sized types
CSR'06 Proceedings of the First international computer science conference on Theory and Applications
Justifying algorithms for βη-conversion
FOSSACS'05 Proceedings of the 8th international conference on Foundations of Software Science and Computation Structures
Untyped algorithmic equality for martin-löf's logical framework with surjective pairs
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Formalizing Adequacy: A Case Study for Higher-order Abstract Syntax
Journal of Automated Reasoning
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
Untyped Algorithmic Equality for Martin-Löf's Logical Framework with Surjective Pairs
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
A Logical Framework with Dependently Typed Records
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2003, Selected Papers
Formal foundations for situation awareness based on dependent type theory
Information Fusion
Compiling contextual objects: bringing higher-order abstract syntax to programmers
PLPV '13 Proceedings of the 7th workshop on Programming languages meets program verification
Logical relations for a logical framework
ACM Transactions on Computational Logic (TOCL)
Hi-index | 0.00 |
Decidability of definitional equality and conversion of terms into canonical form play a central role in the meta-theory of a type-theoretic logical framework. Most studies of definitional equality are based on a confluent, strongly normalizing notion of reduction. Coquand has considered a different approach, directly proving the correctness of a practical equivalance algorithm based on the shape of terms. Neither approach appears to scale well to richer languages with, for example, unit types or subtyping, and neither provides a notion of canonical form suitable for proving adequacy of encodings.In this article, we present a new, type-directed equivalence algorithm for the LF type theory that overcomes the weaknesses of previous approaches. The algorithm is practical, scales to richer languages, and yields a new notion of canonical form sufficient for adequate encodings of logical systems. The algorithm is proved complete by a Kripke-style logical relations argument similar to that suggested by Coquand. Crucially, both the algorithm itself and the logical relations rely only on the shapes of types, ignoring dependencies on terms.