Second-Order Matching via Explicit Substitutions [chapter]

Flávio L. C. de Moura, Fairouz Kamareddine, Mauricio Ayala-Rincón
2005 Lecture Notes in Computer Science  
Matching is a basic operation extensively used in computation. Second-order matching, in particular, provides an adequate environment for expressing program transformations and pattern recognition for automated deduction. The past few years have established the benefit of using explicit substitutions for theorem proving and higher-order unification. In this paper, we will make use of explicit substitutions to facilitate matching: we develop a second-order matching algorithm via the λσ-style of
more » ... xplicit substitutions. We introduce a convenient notation for matching in the λσ-calculus. This notation keeps the matching equations separated from the incremental graftings. We characterise an important class of second-order matching problems which is essential to prove termination of the algorithm. In addition, we illustrate how the algorithm works through some examples.
doi:10.1007/978-3-540-32275-7_29 fatcat:bfzqutroerhbtcdgys4mro6yei