The Elements of Reasoning