  We develop an extensional semantics for higher-order logic programs with
negation, generalizing the technique that was introduced in [Bezem99,Bezem01]
for positive higher-order programs. In this way we provide an alternative
extensional semantics for higher-order logic programs with negation to the one
proposed in [CharalambidisER14]. As an immediate useful consequence of our
developments, we define for the language we consider the notions of
stratification and local stratification, which generalize the familiar such
notions from classical logic programming. We demonstrate that for stratified
and locally stratified higher-order logic programs, the proposed semantics
never assigns the unknown truth value. We conclude the paper by providing a
negative result: we demonstrate that the well-known stable model semantics of
classical logic programming, if extended according to the technique of
[Bezem99,Bezem01] to higher-order logic programs, does not in general lead to
extensional stable models.
