Basics of Logical Problem Solving