alpha - leantap : a declarative theorem prover for first - order classical logic .
Higher-order abstract syntax