Higher-Order Algebra, Logic, and Term Rewriting