posted on 2002-12-01, 00:00authored byIliano Cervesato, Frank Pfenning
We develop a pre-unification algorithm in the style of Huet for the linear lambda-calculus lambda<sup>-> -o & T</sup> which includes intuitionistic functions (->), linear functions (-o), additive pairing (&), and additive unit (T). This procedure conveniently operates on an efficient representation of lambda<sup>-> -o & T</sup>, the spine calculus S<sup>-> -o & T</sup> for which we define the concept of weak-head normal form. We prove the soundness and completeness of our algorithm with respect to the proper notion of definitional equality for S<sup>-> -o & T</sup>, and illustrate the distinctive aspects of linear higher-order unification by means of examples. We also show that, surprisingly, a similar pre-unification algorithm does not exist for certain sublanguages. Applications lie in proof search, logic programming, and logical frameworks based on linear type theories.