Higher-order pattern complement and the strict λ-calculus

Alberto Momigliano, Frank Pfenning
2003 ACM Transactions on Computational Logic  
We address the problem of complementing higher-order patterns without repetitions of existential variables. Differently from the first-order case, the complement of a pattern cannot, in general, be described by a pattern, or even by a finite set of patterns. We therefore generalize the simply-typed lambda-calculus to include an internal notion of strict function so that we can directly express that a term must depend on a given variable. We show that, in this more expressive calculus, finite
more » ... s of patterns without repeated variables are closed under complement and intersection. Our principal application is the transformational approach to negation in higher-order logic programs.
doi:10.1145/937555.937559 fatcat:epmplrfnh5dgxadmp2haumwvgi