Positive and negative results for higher-order disunification
Abstract
This paper is devoted to higher-order disunification which is the process of solving quantified formulae built on simply-typed lambda-terms, the equality induced by the $\eta$ and the $\beta$ reductions, boolean connectives and the negation. This problem is motivated by tests of completeness of definitions in algebraic higher-order specification languages which combine the advantages of algebraic specification languages and higher-order programming languages. We show that higher-order disunification is not semi-decidable and we prove the undecidability of second-order complement problems which are the formulae expressing the completeness of some scheme, by encoding Minsky machines. On the other hand, we show that second-order complement problems are decidable if second-order variables and bound variables satisfy some (reasonable) conditions and that the validity of any quantified equational formula can be checked when all the terms occurring in this formula are patterns, i.e. s.t. the arguments of free variables are distinct bound variables. Both cases are decided using quantifier elimination techniques.