Automatic Theorem Proving in the Predicate Calculus