types of reasoning in human