Author: Winfred Phillips 

RECOMMENDED: ProtoThinker is a free AI program written in WinProlog  a complete artificial agent capable of natural language processing, deductive and inductive inferences, judgments about moral value .. and a great deal more. Code is available upon request.
Logic is often characterized as the study of correct reasoning. Human persons are able to make inferences that take them from the truth of some statements, such as
If Paris is in France, then Paris is in Europe.But we should note that in depicting logic as the study of correct reasoning, we mean that it studies the structure of arguments rather than that it investigates the psychology of the human mind. The question of exactly how it is that the human mind incorporates the principles of logic in its actual reasoning processes is not really something that the topic of logic deals with.
Logic and reasoning can be deductive or inductive. Deductive reasoning occurs when an argument takes us from some statements (the premises) to another statement (the conclusion) in such a way that if the inference is correct and the premises are true, the conclusion can be known to be true with certainty. The above example of a short argument concerning Paris, France, and Europe is an example of deductive reasoning. If it is true that "if Paris is in France, then Paris is in Europe," and it is also true that "Paris is in France," then it must also be the case that "Paris is in Europe." Do you see that this is so?
Inductive reasoning, on the other hand, occurs when an argument takes us from premises to a conclusion that follows from those premises only with some degree of probability. "Argument" here of course means not quarreling and bickering but a sequence of statements or propositions intended to establish a conclusion.
Let's take some examples. When I reason that since:
The bird in the cornfield is a crow.I use deductive logic. But if I initially established that all crows are black by observing several crows and concluding that probably all were black, I used an inductive argument, as in:
Crow number one is black.An old way of distinguishing deductive from inductive arguments was to say that deductive arguments take us from the general to the particular ("all crows are black, therefore this particular crow is black"), whereas inductive arguments take us from the particular to the general ("these particular crows are black, therefore all crows are black"). One can see the grain of truth in this characterization of the distinction, but apparently it's not quite right. Deductive arguments can take us from the general to the general ("All Parisians are Europeans, and all Europeans are from Europe, therefore all Parisians are from Europe"). And inductive arguments can take us from the particular to the particular ("John was late yesterday, therefore he will be late today").
The following discussion explores further aspects of deductive logic. Note that PTThinker can handle deductive arguments. If you give PTThinker the premises of an argument, it will produce the conclusion. If you give it the premises and ask it about a statement that really follows from the premises, it will agree. If you give it the premises and ask it about a statement that really does not follow from those premises or any others it has been given, it will tell you that as well. As you go through the following discussion of aspects of logic you might try out the sample arguments in PTThinker to see how it reacts. PTThinker cannot handle inductive arguments, because it has not been given the relevant rules that would allow it to deduce a conclusion from premises that do not establish the conclusion with deductive certainly. So we'll stick to deduction.
Let's introduce a few terms. First, we notice that an argument consists of sentences, statements, or propositions arranged in a certain way. Not all sentences are statements; for example a sentence could be a question. Statements are true or false, and questions are neither. Some thinkers want to distinguish statements from propositions, which they say are the abstract entities expressed by particular statements or sentences. So, to use a common example
It's raining.are three sentences or statements in particular languages (English, German, and French) that express the same proposition. The status of propositions is a little controversial because some thinkers don't like such abstract entities. We'll just refer to the component of an argument as "statements," or more particularly, premises and conclusions.
As already touched on, the statements in an argument are arranged in such a way that some are considered premises that support another statement, the conclusion. If the argument is deductively correct, the truth of the premises would entail the truth of the conclusion, that is, it would not be possible for the conclusion to be false if the premises were all true. A deductively correct argument we call "valid."
For example, the following arguments are deductively valid:
If John's mouth is on fire, then John ate Mexican again.This last one might surprise you  an argument can be deductively valid even though one or more of its premises are false. In the case of a deductively valid argument, if all the premises were true, the conclusion would be true, but this is not the same as saying that all the premises must be or are in fact true. The argument can be valid even though one or more of the premises (and the conclusion) are false. (What we can't have in a deductively valid argument is for all the premises to be in fact true and yet the conclusion in fact false.) For example, the following arguments are deductively valid but it is clear that at least one premise in each is in fact false. (See if you can spot the premise(s) and/or conclusion that is false.)
Some humans are hamsters.If the argument is valid and the premises are in fact all true (and of course the conclusion true, since the argument is valid), we say that the argument is sound. Not everyone in the history of logic has used "valid" and "sound" in precisely this way, but the usage is now pretty common.
While logic isn't psychology, an awful lot of people through history have held that when human reasoning is functioning correctly it follows certain logical principles. The most basic of these principles became known as the "laws of thought." These are the principle of contradiction (or noncontradiction), the law of the excluded middle, and the law of identity.
The principle of contradiction states that a statement and its contradiction (exact opposite) are not both true. So it's not the case that both of the following statements are true:
Most turtles can run so fast even a cheetah would be impressed.The law of the excluded middle states that every statement is either true or false. So each of the following statements is either true or false (no middle ground):
Paris is in France.The law of identity may seem a little peculiar. It can be characterized as the claim that a statement is identical to itself, and therefore seems trivially true to most of us. So for example:
Some warblers are fast feeders.See what PTThinker thinks about the laws of thought. Type in sentences that violate them and see what it does. For example, type in a statement and its contradiction and see if PTThinker will assent to the truth of both. Type in some statements and see if PTThinker ever gives you neither a "yes" nor a "no" but a "maybe." Type in a sentence twice and see if PTThinker gives you a "yes" the first time and a "no" the second time.
Some propositions are simple, such as "Paris is in France." It's possible to build up more complex compound statements from connecting these simple statements using terms such as "and" and "or." When we do so, the truth of the compound statements depends on the truths of the component statements and the particular way that they are connected. So for example:
Aardvarks dwell in parks and mouses stick to houses.depends on the truth of both of the following two statements:
Aardvarks dwell in parks.Note that you are saying they are both true, so the truth of the compound proposition depends on both simple statements being true (and not just one or the other). If you had said "or," instead of "and," the compound statement would have true if either one had been true (or if both; logicians usually interpret the "or" here in a nonexclusive fashion, though they can represent an exclusive sense with a little more work).
You might say the truth of the compound proposition is a function of the truths of the simple ones and the way the connective (connector "and" or "or") works. Another important connective is "not." Using "not" changes a truth value of a statement into its opposite. But you must be careful where you place the term "not" in a statement; not every placement is the kind of negation you want, namely one that gives the opposite truthvalue. For example, how would you change the following statement into its opposite?
All termites are pests.
Here are some suggestions:
The first attempt is probably not what you want, because some people will interpret it to mean that "no termites are pests," which is a statement that will not have the exact opposite truthvalue of our original claim that "all termites are pest." To see this is the case, consider the situation in which some termites are pests and some are not. In this situation, it will be false that "all termites are pests," and false that "no termites are pests," and so these two statements will have the same truthvalue. This is not what we are looking for in negating the original sentence! What we want is for the statement and its negation to always have the opposite (different) truthvalue. Therefore, the second attempt above, that claims that "not all termites are pests," is a better interpretation of the negation of the original statement that "all termites are pests." These statements will in fact always have different truth values  if one is false, the other will be true, and vice versa.
Deductive arguments can involve not just simple statements but also these more complex compound statements built up using the truth functional connectives. Some valid patterns of argument that use these compound statements are so common they have been recognized and named; you might call them "rules of inference." Examples are Modus Ponens and Modus Tollens. In the case of arguments exemplifying such patterns, we say they are "truth functionally valid" because their validity depends on the way the form of the argument involves the truth functional connectives. Here are some arguments exemplifying some other common argument forms or "rules of inference.". See if you can test PTThinker to determine the validity of the arguments that use them. (Give it the premises and ask it about the conclusion.)
Be careful, because some arguments that superficially appear to resemble Modus Ponens and Modus Tollens are not in fact valid arguments. Examples are "denying the antecedent" and "affirming the consequent." See if you can see what is wrong with the following arguments. It may be a little tricky to see; remember that it is not whether the premises and conclusion are true that matters, but whether the truth of the conclusion would follow necessarily from the truth of all the premises.
See what PTThinker has to say about whether the above arguments are valid.
Many arguments are valid but not because of their truth functional validity (which was the case in the above arguments that were valid). For valid arguments not truth functionally valid, their validity depends on factors other than the way the statements are put together with truth functional connectives. For many such arguments, their validity can be shown using predicate logic. Predicate logic is able to get inside the individual parts of even simple statements to show how the subjects and predicates of such statements relate to those in other statements in an argument. Modern logicians symbolize such arguments using variables and apply rules to attempt to determine their validity. To find a detailed discussion of such rules you'll have to go to a logic textbook. But in the meantime, we'll give you a brief introduction to how one can symbolize arguments using predicate logic. As you observe our examples, you might check to see whether PTThinker can handle predicate logic by giving it our examples as a test.
You may have heard of the famous argument "All men are mortal, Socrates is a man, therefore Socrates is mortal." This is an example of a syllogism, and it is indeed valid. Syllogisms were much discussed by Aristotle and through the Middle Ages and logicians developed a system for testing their validity that used properties called "mood" and "figure." Instead of that approach, we'll use syllogisms as examples of arguments tackled by predicate logic.
Take the syllogism
To symbolize this argument using predicate logic, let's take each statement separately. The first statement "all dogs are mammals" says predicates doghood of some things, mammalhood of some things, and then says that all things that have doghood also have mammalhood. In other words, for all things, if it is has doghood then it has mammalhood. We can give a similar analysis for the other two statements. Using "D" for "doghood," "M" for "mammalhood," "A" for "animalhood," "x" for "thing," "(x)" for "all things," and ">" for the "if....then" aspect, we have
Statement  Symbolization  Interpretation 
All dogs are mammals.  (x) (Dx > Mx)  For all things, if it is a dog, then it is a mammal. 
All mammals are animals.  (x) (Mx > Ax)  For all things, if it is a mammal, then it is an animal. 
therefore  
All dogs are animals.  (x) (Dx > Ax)  For all things, if it is a dog, then it is an animal. 
Similarly, we can symbolize arguments involving statements such as "some mammals are dogs" by using "(3x)" to stand for "some things" in place of "(x)" for "all things. Instead of ">" for the "if....then" aspect, for some types of statements we might use "*" for "and" and "v" for "or." And negation could be captured with a "."
Statement  Symbolization  Interpretation 
Some mammals are dogs.  (3x) (Mx * Dx)  There is some thing, such that it is a mammal and a dog. 
All dogs are barkers.  (x) (Dx > Bx)  For all things, if it is a dog, then it is a barker. 
therefore  
Some mammals are barkers.  (3x) (Mx * Bx)  There is some thing, such that it is a mammal and a barker. 
For reasons we cannot go into, logicians use an "*" for "and" to capture the "some mammals are dogs" type of statement instead of an ">" to characterize it as an "if....then."
Logicians have developed rules, similar to the rules of inference of propositional logic we discussed above, that allow one to test the validity of arguments symbolized in predicate logic. For further study we recommend that you consult a textbook devoted to symbolic logic. Meanwhile, knowing that predicate logic can test the validity of some types of argument that are not testable by propositional logic, you can try out some syllogisms on PTThinker and see if it thinks whether the conclusion follows from the premises in the following examples.
A sorites argument resembles a chain of connected syllogisms, except that the conclusions in the middle arguments have been omitted. For example, consider the following arguments
This series of arguments can be replace by a single sorites argument:
It's pretty easy to see that this argument is valid. The premises are conveniently arranged to flow from one to another, and the statements are all universal. But with other soriteses it may not be so easy. When the premises are all mixed up it can be quite difficult from visual inspection to tell whether the resulting argument is valid, but fortunately this can be formally tested. Why not try to get PTThinker to tell you about the validity of the following sorites?
If human persons engage in valid logical inferences as a part of everyday life, how is it that we don't go around talking in syllogisms and spewing out the rules of inference? One reason is that the arguments and chains of reasoning we use in everyday life are frequently enthymemes, that is, they are arguments with unstated premises. We assume that the hearer of our words knows as much about the world as we do and so we don't have to explicitly state every fact about the world that figures into our argument or reasoning. For example,
As it stands, this argument seems to have something missing. Yet it is an argument one might hear in the context of a discussion about cold places to live. The speaker naturally assumes that the listeners will assume, as the speaker does, that Iceland is a cold place to live.
One of the problems in getting a computer to understand ordinary arguments is that you may assume something about the world that the computer does not. Try taking some valid syllogisms, removing one of the premises that everyone naturally assumes to be true, and giving the resulting enthymeme to PTThinker. Can PTThinker determine that the argument is valid without the missing premise?
