| | |
Summary: HigherOrder Dynamic Pattern Unification for
Dependent Types and Records
Andreas Abel 1 and Brigitte Pientka 2
1 Institut f˜ur Informatik, LudwigMaximiliansUniversit˜at, M˜unchen, Deutschland
andreas.abel@ifi.lmu.de
2 School of Computer Science, McGill University, Montreal, Canada
bpientka@cs.mcgill.ca
Abstract. While higherorder pattern unification for # # calculus is de
cidable 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 subproblems which satisfy the pattern
restriction eagerly but delay solving subproblems which are nonpatterns
until we have accumulated more information. This leads to a dynamic
pattern unification. 2) Many systems implement # ## calculus and hence
the known pattern unification algorithms for # # are too restrictive.
In this paper, we present a constraintbased unification algorithm for
# ## calculus which solves a richer class of patterns than currently pos
sible; 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.
|