Think Again: How to Reason and Argue Lecture 5-2 - Syllogisms Examples using logicagent (http://subbot.org/logicagent): sh-3.2# ruby logicbot.rb Hello I have loaded /logicagent/logicagent-api.yaml. > logicagent: load rules from miscellaneous_rules.txt > All Duke students are humans. > All humans are animals. > Therefore, all Duke students are animals. I have no knowledge that all Duke students are animals. > all humans includes humans > Therefore, all Duke students are animals. Yes, all Duke students are animals. > Why are "all Duke students" "animals"? all Duke students are animals because: all duke students are humans, and humans are a member of all humans, and all humans are animals --- > Some Duke students are humans. > All humans are animals. > Therefore, some Duke students are animals. Yes, some Duke students are animals. > Why are "some Duke students" "animals"? some Duke students are animals because: some duke students are humans, and humans are a member of all humans, and all humans are animals --- > forget that All Duke students are humans > Some Duke students are human. > All humans are animals. > humans = human > Therefore, all Duke students are animals. I have no knowledge that all Duke students are animals. --- > Some Duke students are humans. > Some humans are animals. > Therefore, some Duke students are animals. I have no knowledge that some Duke students are animals. ----------- This edited dialog demonstrates how to use logicagent to check the validity of the four syllogism examples given in Coursera's "Think Again: How to Reason and Argue" class, Lecture 5-2 - Syllogisms. Lines beginning with "> " are input; the agent's responses are on their own lines. The full, unedited dialog is at: http://subbot.org/logicagent/dialogs/thinkagain_syllogisms.txt Logicagent is a ruby program available at: http://subbot.org/logicagent The first command in this dialog loads 2 rules from miscellaneous_rules.txt. (The file is at http://subbot.org/logicagent/dialogs/miscellaneous_rules.txt) Next, I submit the first syllogism example in Lecture 5-2: All Duke students are humans. All humans are animals. Therefore all Duke students are animals. The bot does not yet know that the conclusion is valid. I have to tell it a suppressed premise: "all humans include humans". This linguistic suppressed premise allows the program to relate the two forms of the middle term. After the bot learns that "all humans includes humans", it can verify the conclusion that "All Duke students are animals" is valid. --- The next example syllogism is: Some Duke students are humans. All humans are animals. Therefore some Duke students are animals. The bot verifies that the conclusion is valid. When asked why, it provides a chain of reasoning that connects the subject term to the predicate term. Note that the middle term is in two forms, and the linguistic relation between the two terms has to be explicitly stated. The premise relating the two forms of the middle term was given in the previous syllogism example: "all humans include humans". It is what I am calling a linguistic suppressed premise. --- The third example syllogism is: Some Duke students are humans. All humans are animals. Therefore, all Duke students are animals. (First, I tell the bot to forget the previously learned premise, "All Duke students are humans." If that premise is not removed from the bot's memory, it will conclude that "All Duke students are animals" is a valid conclusion.) In entering the first premise of this third syllogism, I left the "s" off of humans. Since the premise was still grammatical, I left it. However, I then had to relate explicitly "humans" to "human", so that the middle terms could all be recognized as being synonymous; I did this by supplying the "humans = human" linguistic suppressed premise. The logic agent can not validly derive the conclusion, therefore the syllogism is not valid. --- The fourth example syllogism: Some Duke students are humans. Some humans are animals. Therefore, some Duke students are animals. The agent cannot validly derive the conclusion from the premises. If I relate "humans" to "Some humans" in some way that makes one able to substitute for the other, the conclusion would become valid. A suppressed premise such as "some humans includes humans" would make the syllogism valid: > Some humans includes humans > Therefore, some Duke students are animals. Yes, some Duke students are animals. > why are "some Duke students" "animals"? some Duke students are animals because: some duke students are humans, and humans are a member of some humans, and some humans are animals But is "humans are a member of some humans" really a good suppressed linguistic premise? According to the lecture, no. Therefore, when I don't provide it, the bot cannot connect the subject term "Some Duke students" to "animals". The syllogism is invalid.