This monograph develops techniques for equational reasoning in
higher-order logic. Due to its expressiveness, higher-order logic is
used for specification and verification of hardware, software, and
mathematics. In these applica- tions, higher-order logic provides the
necessary level of abstraction for con- cise and natural formulations.
The main assets of higher-order logic are quan- tification over
functions or predicates and its abstraction mechanism. These allow one
to represent quantification in formulas and other variable-binding
constructs. In this book, we focus on equational logic as a fundamental
and natural concept in computer science and mathematics. We present
calculi for equa- tional reasoning modulo higher-order equations
presented as rewrite rules. This is followed by a systematic development
from general equational rea- soning towards effective calculi for
declarative programming in higher-order logic and A-calculus. This aims
at integrating and generalizing declarative programming models such as
functional and logic programming. In these two prominent declarative
computation models we can view a program as a logical theory and a
computation as a deduction.