In this paper we re-examine the semantics of classical higher-order logic with the purpose of clarifying the role of extensionality. To reach this goal, we distinguish nine classes of higher-order models with respect to various combinations of Boolean extensionality and three forms of functional extensionality. Furthermore, we develop a methodology of abstract consistency methods (by providing the necessary model existence theorems) needed to analyze completeness of (machine-oriented) higher-order calculi with respect to these model classes.

[57]van Heijenoort, Jean, From Frege to Gödel: a source book in mathematical logic 1879–1931, 3rd printing, 1997 ed., Source books in the history of the sciences series, Harvard University Press, Cambridge, MA, 1967.