Legal Reasoning: A Cognitive Approach to Law