Higher-Order Pattern Complement and the Strict Lambda-Calculus
<|reference_start|>Higher-Order Pattern Complement and the Strict Lambda-Calculus: 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 sets 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.<|reference_end|>
@article{momigliano2001higher-order,
    title={Higher-Order Pattern Complement and the Strict Lambda-Calculus},
    author={Alberto Momigliano and Frank Pfenning},
    journal={ACM Trans. Comput. Log. 4(4): 493-529 (2003)},
    year={2001},
    doi={10.1145/937555.937559},
    number={University of Leicester Technical Report 2001/22},
    archivePrefix={arXiv},
    eprint={cs/0109072},
    primaryClass={cs.LO cs.PL}
}