Higher-Order Logic and Type Theory