Automated Reasoning: Introduction and Applications