Skip to main content
Engineering LibreTexts

3.1.1: Propositional Logic

  • Page ID
    51133
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \def\d{\displaystyle}\)
    \( \newcommand{\f}[1]{\mathfrak #1}\)
    \( \newcommand{\s}[1]{\mathscr #1}\)
    \( \def\N{\mathbb N}\)
    \( \def\B{\mathbf{B}}\)
    \( \def\circleA{(-.5,0) circle (1)}\)
    \( \def\Z{\mathbb Z}\)
    \( \def\circleAlabel{(-1.5,.6) node[above]{$A$}}\)
    \( \def\Q{\mathbb Q}\)
    \( \def\circleB{(.5,0) circle (1)}\)
    \( \def\R{\mathbb R}\)
    \( \def\circleBlabel{(1.5,.6) node[above]{$B$}}\)
    \( \def\C{\mathbb C}\)
    \( \def\circleC{(0,-1) circle (1)}\)
    \( \def\F{\mathbb F}\)
    \( \def\circleClabel{(.5,-2) node[right]{$C$}}\)
    \( \def\A{\mathbb A}\)
    \( \def\twosetbox{(-2,-1.5) rectangle (2,1.5)}\)
    \( \def\X{\mathbb X}\)
    \( \def\threesetbox{(-2,-2.5) rectangle (2,1.5)}\)
    \( \def\E{\mathbb E}\)
    \( \def\O{\mathbb O}\)
    \( \def\U{\mathcal U}\)
    \( \def\pow{\mathcal P}\)
    \( \def\inv{^{-1}}\)
    \( \def\nrml{\triangleleft}\)
    \( \def\st{:}\)
    \( \def\~{\widetilde}\)
    \( \def\rem{\mathcal R}\)
    \( \def\sigalg{$\sigma$-algebra }\)
    \( \def\Gal{\mbox{Gal}}\)
    \( \def\iff{\leftrightarrow}\)
    \( \def\Iff{\Leftrightarrow}\)
    \( \def\land{\wedge}\)
    \( \def\And{\bigwedge}\)
    \( \def\entry{\entry}\)
    \( \def\AAnd{\d\bigwedge\mkern-18mu\bigwedge}\)
    \( \def\Vee{\bigvee}\)
    \( \def\VVee{\d\Vee\mkern-18mu\Vee}\)
    \( \def\imp{\rightarrow}\)
    \( \def\Imp{\Rightarrow}\)
    \( \def\Fi{\Leftarrow}\)
    \( \def\var{\mbox{var}}\)
    \( \def\Th{\mbox{Th}}\)
    \( \def\entry{\entry}\)
    \( \def\sat{\mbox{Sat}}\)
    \( \def\con{\mbox{Con}}\)
    \( \def\iffmodels{\bmodels\models}\)
    \( \def\dbland{\bigwedge \!\!\bigwedge}\)
    \( \def\dom{\mbox{dom}}\)
    \( \def\rng{\mbox{range}}\)
    \( \def\isom{\cong}\)
    \(\DeclareMathOperator{\wgt}{wgt}\)
    \( \newcommand{\vtx}[2]{node[fill,circle,inner sep=0pt, minimum size=4pt,label=#1:#2]{}}\)
    \( \newcommand{\va}[1]{\vtx{above}{#1}}\)
    \( \newcommand{\vb}[1]{\vtx{below}{#1}}\)
    \( \newcommand{\vr}[1]{\vtx{right}{#1}}\)
    \( \newcommand{\vl}[1]{\vtx{left}{#1}}\)
    \( \renewcommand{\v}{\vtx{above}{}}\)
    \( \def\circleA{(-.5,0) circle (1)}\)
    \( \def\circleAlabel{(-1.5,.6) node[above]{$A$}}\)
    \( \def\circleB{(.5,0) circle (1)}\)
    \( \def\circleBlabel{(1.5,.6) node[above]{$B$}}\)
    \( \def\circleC{(0,-1) circle (1)}\)
    \( \def\circleClabel{(.5,-2) node[right]{$C$}}\)
    \( \def\twosetbox{(-2,-1.4) rectangle (2,1.4)}\)
    \( \def\threesetbox{(-2.5,-2.4) rectangle (2.5,1.4)}\)
    \( \def\ansfilename{practice-answers}\)
    \( \def\shadowprops{ {fill=black!50,shadow xshift=0.5ex,shadow yshift=0.5ex,path fading={circle with fuzzy edge 10 percent}} }\)
    \( \renewcommand{\bar}{\overline}\)
    \( \newcommand{\card}[1]{\left| #1 \right|}\)
    \( \newcommand{\twoline}[2]{\begin{pmatrix}#1 \\ #2 \end{pmatrix}}\)
    \( \newcommand{\lt}{<}\)
    \( \newcommand{\gt}{>}\)
    \( \newcommand{\amp}{&}\)

    \( \newcommand{\hexbox}[3]{
      \def\x{-cos{30}*\r*#1+cos{30}*#2*\r*2}
      \def\y{-\r*#1-sin{30}*\r*#1}
      \draw (\x,\y) +(90:\r) -- +(30:\r) -- +(-30:\r) -- +(-90:\r) -- +(-150:\r) -- +(150:\r) -- cycle;
      \draw (\x,\y) node{#3};
    }\)

    \(\renewcommand{\bar}{\overline}\)
    \(\newcommand{\card}[1]{\left| #1 \right|}\)
    \(\newcommand{\twoline}[2]{\begin{pmatrix}#1 \\ #2 \end{pmatrix}}\)
    \(\newcommand{\lt}{<}\)
    \(\newcommand{\gt}{>}\)
    \(\newcommand{\amp}{&}\)

    Investigate!

    You stumble upon two trolls playing Stratego®. They tell you:

    Troll 1: If we are cousins, then we are both knaves.

    Troll 2: We are cousins or we are both knaves.

    Could both trolls be knights? Recall that all trolls are either always-truth-telling knights or always-lying knaves.

    A proposition is simply a statement. Propositional logic studies the ways statements can interact with each other. It is important to remember that propositional logic does not really care about the content of the statements. For example, in terms of propositional logic, the claims, “if the moon is made of cheese then basketballs are round,” and “if spiders have eight legs then Sam walks with a limp” are exactly the same. They are both implications: statements of the form, \(P \imp Q\text{.}\)

    Truth Tables

    Here's a question about playing Monopoly:

    If you get more doubles than any other player then you will lose, or if you lose then you must have bought the most properties.

    True or false? We will answer this question, and won't need to know anything about Monopoly. Instead we will look at the logical form of the statement.

    We need to decide when the statement \((P \imp Q) \vee (Q \imp R)\) is true. Using the definitions of the connectives in Section 2.1.1, we see that for this to be true, either \(P \imp Q\) must be true or \(Q \imp R\) must be true (or both). Those are true if either \(P\) is false or \(Q\) is true (in the first case) and \(Q\) is false or \(R\) is true (in the second case). So—yeah, it gets kind of messy. Luckily, we can make a chart to keep track of all the possibilities. Enter truth tables. The idea is this: on each row, we list a possible combination of T's and F's (for true and false) for each of the sentential variables, and then mark down whether the statement in question is true or false in that case. We do this for every possible combination of T's and F's. Then we can clearly see in which cases the statement is true or false. For complicated statements, we will first fill in values for each part of the statement, as a way of breaking up our task into smaller, more manageable pieces.

    Since the truth value of a statement is completely determined by the truth values of its parts and how they are connected, all you really need to know is the truth tables for each of the logical connectives. Here they are:

    \(P\) \(Q\) \(P\wedge Q\)
    T T T
    T F F
    F T F
    F F F
    \(P\) \(Q\) \(P\vee Q\)
    T T T
    T F T
    F T T
    F F F
    \(P\) \(Q\) \(P\imp Q\)
    T T T
    T F F
    F T T
    F F T
    \(P\) \(Q\) \(P\iff Q\)
    T T T
    T F F
    F T F
    F F T

    The truth table for negation looks like this:

    \(P\) \(\neg P\)
    T F
    F T

    None of these truth tables should come as a surprise; they are all just restating the definitions of the connectives. Let's try another one.

    Example \(\PageIndex{1}\)

    Make a truth table for the statement \(\neg P \vee Q\text{.}\)

    Solution

    Note that this statement is not \(\neg(P \vee Q)\text{,}\) the negation belongs to \(P\) alone. Here is the truth table:

    \(P\) \(Q\) \(\neg P\) \(\neg P \vee Q\)
    T T F T
    T F F F
    F T T T
    F F T T

    We added a column for \(\neg P\) to make filling out the last column easier. The entries in the \(\neg P\) column were determined by the entries in the \(P\) column. Then to fill in the final column, look only at the column for \(Q\) and the column for \(\neg P\) and use the rule for \(\vee\text{.}\)

    Now let's answer our question about monopoly:

    Example \(\PageIndex{2}\)

    Analyze the statement, “if you get more doubles than any other player you will lose, or that if you lose you must have bought the most properties,” using truth tables.

    Solution

    Represent the statement in symbols as \((P \imp Q) \vee (Q \imp R)\text{,}\) where \(P\) is the statement “you get more doubles than any other player,” \(Q\) is the statement “you will lose,” and \(R\) is the statement “you must have bought the most properties.” Now make a truth table.

    The truth table needs to contain 8 rows in order to account for every possible combination of truth and falsity among the three statements. Here is the full truth table:

    \(P\) \(Q\) \(R\) \(P \imp Q\) \(Q \imp R\) \((P \imp Q) \vee (Q \imp R)\)
    T T T T T T
    T T F T F T
    T F T F T T
    T F F F T T
    F T T T T T
    F T F T F T
    F F T T T T
    F F F T T T

    The first three columns are simply a systematic listing of all possible combinations of T and F for the three statements (do you see how you would list the 16 possible combinations for four statements?). The next two columns are determined by the values of \(P\text{,}\) \(Q\text{,}\) and \(R\) and the definition of implication. Then, the last column is determined by the values in the previous two columns and the definition of \(\vee\text{.}\) It is this final column we care about.

    Notice that in each of the eight possible cases, the statement in question is true. So our statement about monopoly is true (regardless of how many properties you own, how many doubles you roll, or whether you win or lose).

    The statement about monopoly is an example of a tautology, a statement which is true on the basis of its logical form alone. Tautologies are always true but they don't tell us much about the world. No knowledge about monopoly was required to determine that the statement was true. In fact, it is equally true that “If the moon is made of cheese, then Elvis is still alive, or if Elvis is still alive, then unicorns have 5 legs.”

    Logical Equivalence

    You might have noticed that the final column in the truth table from \(\neg P \vee Q\) is identical to the final column in the truth table for \(P \imp Q\text{:}\)

    \(P\) \(Q\) \(P \imp Q\) \(\neg P \vee Q\)
    T T T T
    T F F F
    F T T T
    F F T T

    This says that no matter what \(P\) and \(Q\) are, the statements \(\neg P \vee Q\) and \(P \imp Q\) either both true or both false. We therefore say these statements are logically equivalent.

    Logical Equivalence

    Two (molecular) statements \(P\) and \(Q\) are logically equivalent provided \(P\) is true precisely when \(Q\) is true. That is, \(P\) and \(Q\) have the same truth value under any assignment of truth values to their atomic parts.

    To verify that two statements are logically equivalent, you can make a truth table for each and check whether the columns for the two statements are identical.

    Recognizing two statements as logically equivalent can be very helpful. Rephrasing a mathematical statement can often lends insight into what it is saying, or how to prove or refute it. Using truth tables we can systematically verify that two statements are indeed logically equivalent.

    Example \(\PageIndex{3}\)

    Are the statements, “it will not rain or snow” and “it will not rain and it will not snow” logically equivalent?

    Solution

    We want to know whether \(\neg(P \vee Q)\) is logically equivalent to \(\neg P \wedge \neg Q\text{.}\) Make a truth table which includes both statements:

    \(P\) \(Q\) \(\neg(P \vee Q)\) \(\neg P \wedge \neg Q\)
    T T F F
    T F F F
    F T F F
    F F T T

    Since in every row the truth values for the two statements are equal, the two statements are logically equivalent.

    Notice that this example gives us a way to “distribute” a negation over a disjunction (an “or”). We have a similar rule for distributing over conjunctions (“and”s):

    De Morgan's Laws

    \begin{equation*} \neg(P \wedge Q) \text{ is logically equivalent to } \neg P \vee \neg Q. \end{equation*} \begin{equation*} \neg(P \vee Q) \text{ is logically equivalent to } \neg P \wedge \neg Q. \end{equation*}

    This suggests there might be a sort of “algebra” you could apply to statements (okay, there is: it is called Boolean algebra) to transform one statement into another. We can start collecting useful examples of logical equivalence, and apply them in succession to a statement, instead of writing out a complicated truth table. We will probably also want a way to deal with double negation:

    Double Negation

    \begin{equation*} \neg \neg P \mbox{ is logically equivalent to } P. \end{equation*}

    Example: “It is not the case that \(c\) is not odd” means “\(c\) is odd.”

    Let's see how we can apply the equivalences we have encountered so far.

    Example \(\PageIndex{4}\)

    Prove that the statements \(\neg(P \imp Q)\) and \(P\wedge \neg Q\) are logically equivalent without using truth tables.

    Solution

    We want to start with one of the statements, and transform it into the other through a sequence of logically equivalent statements. Start with \(\neg(P \imp Q)\text{.}\) We can rewrite the implication as a disjunction this is logically equivalent to

    \begin{equation*} \neg(\neg P \vee Q). \end{equation*}

    Now apply DeMorgan's law to get

    \begin{equation*} \neg\neg P \wedge \neg Q. \end{equation*}

    Finally, use double negation to arrive at \(P \wedge \neg Q\)

    Notice that the above example illustrates that the negation of an implication is NOT an implication: it is a conjunction!

    To verify that two statements are logically equivalent, you can use truth tables or a sequence of logically equivalent replacements. The truth table method, although cumbersome, has the advantage that it can verify that two statements are NOT logically equivalent.

    Example \(\PageIndex{5}\)

    Are the statements \((P \vee Q) \imp R\) and \((P \imp R) \vee (Q \imp R)\) logically equivalent?

    Solution

    Note that while we could start rewriting these statements with logically equivalent replacements in the hopes of transforming one into another, we will never be sure that our failure is due to their lack of logical equivalence rather than our lack of imagination. So instead, let's make a truth table:

    \(P\) \(Q\) \(R\) \((P\vee Q) \imp R\) \((P\imp R) \vee (Q \imp R)\)
    T T T T T
    T T F F F
    T F T T T
    T F F F T
    F T T T T
    F T F F T
    F F T T T
    F F F T T

    Look at the fourth (or sixth) row. In this case, \((P \imp R) \vee (Q \imp R)\) is true, but \((P \vee Q) \imp R\) is false. Therefore the statements are not logically equivalent.

    While we don't have logical equivalence, it is the case that whenever \((P \vee Q) \imp R\) is true, so is \((P \imp R) \vee (Q \imp R)\text{.}\) This tells us that we can deduce \((P \imp R) \vee (Q \imp R)\) from \((P \vee Q) \imp R\text{,}\) just not the reverse direction.

    Deductions

    Investigate!

    Holmes owns two suits: one black and one tweed. He always wears either a tweed suit or sandals. Whenever he wears his tweed suit and a purple shirt, he chooses to not wear a tie. He never wears the tweed suit unless he is also wearing either a purple shirt or sandals. Whenever he wears sandals, he also wears a purple shirt. Yesterday, Holmes wore a bow tie. What else did he wear?

    Earlier we claimed that the following was a valid argument:

    If Edith eats her vegetables, then she can have a cookie. Edith ate her vegetables. Therefore Edith gets a cookie.

    How do we know this is valid? Let's look at the form of the statements. Let \(P\) denote “Edith eats her vegetables” and \(Q\) denote “Edith can have a cookie.” The logical form of the argument is then:

      \(P \imp Q\)
      \(P\)
    \(\therefore\) \(Q\)

    This is an example of a deduction rule, an argument form which is always valid. This one is a particularly famous rule called modus ponens. Are you convinced that it is a valid deduction rule? If not, consider the following truth table:

    \(P\) \(Q\) \(P\imp Q\)
    T T T
    T F F
    F T T
    F F T

    This is just the truth table for \(P \imp Q\text{,}\) but what matters here is that all the lines in the deduction rule have their own column in the truth table. Remember that an argument is valid provided the conclusion must be true given that the premises are true. The premises in this case are \(P \imp Q\) and \(P\text{.}\) Which rows of the truth table correspond to both of these being true? \(P\) is true in the first two rows, and of those, only the first row has \(P \imp Q\) true as well. And lo-and-behold, in this one case, \(Q\) is also true. So if \(P\imp Q\) and \(P\) are both true, we see that \(Q\) must be true as well.

    Here are a few more examples.

    Example \(\PageIndex{6}\)

    Show that

      \(P \imp Q\)
      \(\neg P \imp Q\)
    \(\therefore\) \(Q\)

    is a valid deduction rule.

    Solution

    We make a truth table which contains all the lines of the argument form:

    \(P\) \(Q\) \(P\imp Q\) \(\neg P\) \(\neg P \imp Q\)
    T T T F T
    T F F F T
    F T T T T
    F F T T F

    (we include a column for \(\neg P\) just as a step to help getting the column for \(\neg P \imp Q\)).

    Now look at all the rows for which both \(P \imp Q\) and \(\neg P \imp Q\) are true. This happens only in rows 1 and 3. Hey! In those rows \(Q\) is true as well, so the argument form is valid (it is a valid deduction rule).

    Example \(\PageIndex{7}\)

    Decide whether

      \(P \imp R\)
      \(Q \imp R\)
      \(R\)
    \(\therefore\) \(P \vee Q\)

    is a valid deduction rule.

    Solution

    Let's make a truth table containing all four statements.

    \(P\) \(Q\) \(R\) \(P \imp R\) \(Q \imp R\) \(P \vee Q\)
    T T T T T T
    T T F F F T
    T F T T T T
    T F F F T T
    F T T T T T
    F T F T F T
    F F T T T F
    F F F T T F

    Look at the second to last row. Here all three premises of the argument are true, but the conclusion is false. Thus this is not a valid deduction rule.

    While we have the truth table in front of us, look at rows 1 and 5. These are the only rows in which all of the statements statements \(P \imp R\text{,}\) \(Q \imp R\text{,}\) and \(P\vee Q\) are true. It also happens that \(R\) is true in these rows as well. Thus we have discovered a new deduction rule we know is valid:

      \(P \imp R\)
      \(Q \imp R\)
      \(P \vee Q\)
    \(\therefore\) \(R\)
     

    Beyond Propositions

    As we saw in Section 2.1.1, not every statement can be analyzed using logical connectives alone. For example, we might want to work with the statement:

    All primes greater than 2 are odd.

    To write this statement symbolically, we must use quantifiers. We can translate as follows:

    \begin{equation*} \forall x ((P(x) \wedge x \gt 2) \imp O(x)). \end{equation*}

    In this case, we are using \(P(x)\) to denote “\(x\) is prime” and \(O(x)\) to denote “\(x\) is odd.” These are not propositions, since their truth value depends on the input \(x\text{.}\) Better to think of \(P\) and \(O\) as denoting properties of their input. The technical term for these is predicates and when we study them in logic, we need to use predicate logic.

    It is important to stress that predicate logic extends propositional logic (much in the way quantum mechanics extends classical mechanics). You will notice that our statement above still used the (propositional) logical connectives. Everything that we learned about logical equivalence and deductions still applies. However, predicate logic allows us to analyze statements at a higher resolution, digging down into the individual propositions \(P\text{,}\) \(Q\text{,}\) etc.

    A full treatment of predicate logic is beyond the scope of this text. One reason is that there is no systematic procedure for deciding whether two statements in predicate logic are logically equivalent (i.e., there is no analogue to truth tables here). Rather, we end with a couple of examples of logical equivalence and deduction, to pique your interest.

    Example \(\PageIndex{8}\)

    Suppose we claim that there is no smallest number. We can translate this into symbols as

    \begin{equation*} \neg \exists x \forall y (x \le y) \end{equation*}

    (literally, “it is not true that there is a number \(x\) such that for all numbers \(y\text{,}\) \(x\) is less than or equal to \(y\)”).

    However, we know how negation interacts with quantifiers: we can pass a negation over a quantifier by switching the quantifier type (between universal and existential). So the statement above should be logically equivalent to

    \begin{equation*} \forall x \exists y (y \lt x). \end{equation*}

    Notice that \(y \lt x\) is the negation of \(x \le y\text{.}\) This literally says, “for every number \(x\) there is a number \(y\) which is smaller than \(x\text{.}\)” We see that this is another way to make our original claim

    Example \(\PageIndex{9}\)

    Can you switch the order of quantifiers? For example, consider the two statements:

    \begin{equation*} \forall x \exists y P(x,y) \qquad \mathrm{ and } \qquad \exists y \forall x P(x,y). \end{equation*}

    Are these logically equivalent?

    Solution

    These statements are NOT logically equivalent. To see this, we should provide an interpretation of the predicate \(P(x,y)\) which makes one of the statements true and the other false.

    Let \(P(x,y)\) be the predicate \(x \lt y\text{.}\) It is true, in the natural numbers, that for all \(x\) there is some \(y\) greater than it (since there are infinitely many numbers). However, there is not a natural number \(y\) which is greater than every number \(x\text{.}\) Thus it is possible for \(\forall x \exists y P(x,y)\) to be true while \(\exists y \forall x P(x,y)\) is false.

    We cannot do the reverse of this though. If there is some \(y\) for which every \(x\) satisfies \(P(x,y)\text{,}\) then certainly for every \(x\) there is some \(y\) which satisfies \(P(x,y)\text{.}\) The first is saying we can find one \(y\) that works for every \(x\text{.}\) The second allows different \(y\)'s to work for different \(x\)'s, but there is nothing preventing us from using the same \(y\) that work for every \(x\text{.}\) In other words, while we don't have logical equivalence between the two statements, we do have a valid deduction rule:

      \(\exists y \forall x P(x,y)\)
    \(\therefore\) \(\forall x \exists y P(x,y)\)

    Put yet another way, this says that the single statement

    \begin{equation*} \exists y \forall x P(x,y) \imp \forall x \exists y P(x,y) \end{equation*}

    is always true. This is sort of like a tautology, although we reserve that term for necessary truths in propositional logic. A statement in predicate logic that is necessarily true gets the more prestigious designation of a law of logic (or sometimes logically valid, but that is less fun).

     

    This page titled 3.1.1: Propositional Logic is shared under a CC BY-SA license and was authored, remixed, and/or curated by Oscar Levin.

    • Was this article helpful?