  We introduce a variation on Barthe et al.'s higher-order logic in which
formulas are interpreted as predicates over open rather than closed objects.
This way, concepts which have an intrinsically functional nature, like
continuity, differentiability, or monotonicity, can be expressed and reasoned
about in a very natural way, following the structure of the underlying program.
We give open higher-order logic in distinct flavors, and in particular in its
relational and local versions, the latter being tailored for situations in
which properties hold only in part of the underlying function's domain of
definition.
