@MISC{Reed_higher-orderconstraint, author = {Jason Reed}, title = {Higher-Order Constraint Simplification In Dependent Type Theory}, year = {} }
Bookmark
OpenURL
Abstract
Abstract. Higher-order unification is undecidable, but has fragments which admit practical algorithms, which are used extensively in logical frameworks. For example, it is decidable whether unification problems in the pattern fragment identified by Dale Miller are solvable, and they enjoy unique most general unifiers when they are. However, the restrictions that the pattern fragment imposes exclude many useful applications and encodings. One way to proceed is to use instead a more general constraint simplification algorithm that works on the parts of a unification problem that are in the pattern fragment, postponing problematic parts in the hope that later substitutions will bring them back into the pattern fragment. Such an algorithm either finds a most general solution, determines that the problem does not have a solution, or else reports a set of remaining constraints on which no further work can be done. While some constraint simplification algorithms have been proposed, their theory turns out to be surprisingly subtle — especially in the presence of dependent types, which complicate otherwise simple invariants that all equations in a unification problem are well-typed — and has, to our knowledge, not been investigated, leading to some problems with termination and completeness of implementations. This paper describes and proves correct a new, terminating constraint simplification algorithm for the dynamic pattern fragment of higher-order unification in a dependent type system. 1