Unification with extended patterns
Theoretical Computer Science
RTA '96 Proceedings of the 7th International Conference on Rewriting Techniques and Applications
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
Extensions and applications of higher-order unification
Extensions and applications of higher-order unification
Tabled higher-order logic programming
Tabled higher-order logic programming
ACM Transactions on Computational Logic (TOCL)
System Description: Delphin -- A Functional Programming Language for Deductive Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Higher-order constraint simplification in dependent type theory
Proceedings of the Fourth International Workshop on Logical Frameworks and Meta-Languages: Theory and Practice
A hybrid logical framework
Outrageous but meaningful coincidences: dependent type-safe syntax and evaluation
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Justifying algorithms for βη-conversion
FOSSACS'05 Proceedings of the 8th international conference on Foundations of Software Science and Computation Structures
Beluga: a framework for programming and reasoning with deductive systems (system description)
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Compiling contextual objects: bringing higher-order abstract syntax to programmers
PLPV '13 Proceedings of the 7th workshop on Programming languages meets program verification
Hi-index | 0.00 |
While higher-order pattern unification for the λΠ-calculus is decidable and unique unifiers exists, we face several challenges in practice: 1) the pattern fragment itself is too restrictive for many applications; this is typically addressed by solving sub-problems which satisfy the pattern restriction eagerly but delay solving sub-problems which are non-patterns until we have accumulated more information. This leads to a dynamic pattern unification algorithm. 2) Many systems implement λΠΣ calculus and hence the known pattern unification algorithms for λΠ are too restrictive. In this paper, we present a constraint-based unification algorithm for λΠΣ-calculus which solves a richer class of patterns than currently possible; in particular it takes into account type isomorphisms to translate unification problems containing Σ-types into problems only involving Π-types. We prove correctness of our algorithm and discuss its application.