You are here


26 July, 2019 - 12:03
Available under Creative Commons-ShareAlike 4.0 International License. Download for free at

Some statements in the above proof were simple, e.g., the single proposition "A has 2". Some statements had several parts, though, e.g., "(F unsafe and G unsafe)". We build these more complicated statements out of propositions. If you know both F unsafe is false, and G unsafe is false, what can you deduce about the truth of the statement "(F unsafe and G unsafe)"? Clearly, it is also false. What about when F unsafe is false, but G unsafe is true? What about when both propositions are true? In fact, we can fill in the following table:

Table 2.1 Truth table for ∧ (AND)

















Definition 2.3: truth table

A truth table for an expression has a column for each of its propositional variables. It has a row for each different true/false combination of its propositional variables. It has one more column for the expression itself, showing the truth of the entire expression for that row.


What do you think the truth table for "a or b" looks like? Hint: To fill out one row of the table, say, for a = true and b = false, ask yourself "For this row, is it true that (a is true, or b is true)?"


The above proof also used subexpressions of the form "not b-unsafe". What is the truth table for "not a"?


What is the truth table for the expression "(not a) or b"?

Definition 2.4: connective

  1. The syntactic operator combining one or more logical expressions into a larger expression.


Two operators are ∧ and ∨.

  1. A function with one or more Boolean inputs and a Boolean result. I.e., the meaning of a syntactic operator.


The meaning of ∧ and ∨, e.g., as described by their truth tables.


nand (mnemonic: "not and"), written ↑, takes in two Boolean values a and b, and returns true exactly when a b is not true that is, a b ≡¬ (a b).

The following are the connectives we will use most often. At least some of these should already be familiar from Boolean conditional expressions.

Table 2.2 Connectives




Alternative pronunciations / notations



\dashv a:a is false

-a; !a



a \wedge ba: and b are both true

a*b; ab; a&&b; a&b



a \vee b: at least one of {a,b} is true

a+b; a||b; a|b



a\Rightarrow b:equivalent to \dashv a\vee b


a\rightarrow b; a\supset b; if a then b; a only if b; b if a; b is necessary for a; a is sufficient for b


Many other connectives can also be defined. In fact, it turns out that any connective for propositional logic can be defined in terms of those above.

Example 2.1

Another connective is if-and-only-if or iff, written as ab, which is true when a and b have the same truth value. So, as its name implies, it can be defined as (ab) ∧ (ba). It is also commonly known as "a is equivalent to b" and "a is necessary and sufficient for b".


Another connective is "exactly-one-of", which is more traditionally called exclusive-or or xor (since it excludes both a and b holding, unlike the traditional "inclusive" or.) How would you define a "xor" b in terms of the above connectives?

Note that the conventional ab is sometimes called inclusive-or, to stress that it includes the case where both a and b hold. In English, the word "or" may sometimes mean inclusive-or, and other times mean exclusive-or, depending on context. Sometimes the term "andjor" is used to emphasize that the inclusive-or really is intended.


For each of the following English sentences, does "or" mean inclusive-or or exclusive-or?

  1. "Whether you are tired or lazy, caffeine is just the drug for you!"
  2. "Whether you win a dollar or lose a dollar, the difference in your net worth will be noticed."
  3. "If you own a house or a car, then you have to pay property tax."
  4. "Give me your lunch money, or you'll never see your precious hoppy taw again"