  There are two kinds of higher-order extensions of model checking: HORS model
checking and HFL model checking. Whilst the former has been applied to
automated verification of higher-order functional programs, applications of the
latter have not been well studied. In the present paper, we show that various
verification problems for functional programs, including may/must-reachability,
trace properties, and linear-time temporal properties (and their negations),
can be naturally reduced to (extended) HFL model checking. The reductions yield
a sound and complete logical characterization of those program properties.
Compared with the previous approaches based on HORS model checking, our
approach provides a more uniform, streamlined method for higher-order program
verification.
