Automatic Theorem Proving in First Order Predicate Logic