Introduction to Logic and Automated Theorem Proving