Basics of Reasoning