Matching modulo superdeveloppements. Application to second-order matching.
Abstract
To perform higher-order matching, we need to decide the beta eta-equivalence on \lambda-terms. The first way to do it is to use simply typed lambda-calculus and this is the usual framework where higher-order matching is performed. Another approach consists in deciding a restricted equivalence based on finite superdevelopments. We consider higher-order matching modulo this equivalence over untyped lambda-terms for which we propose a terminating, sound and complete matching algorithm. This is in particular of interest since all second-order beta-matches are matches modulo superdevelopments. We further propose a restriction to second-order matching that gives exactly all second-order matches.