### Learning Outcomes

- Combine sets using Boolean logic, using proper notations
- Use statements and conditionals to write and interpret expressions
- Use a truth table to interpret complex statements or conditionals
- Write truth tables given a logical implication, and it’s related statements – converse, inverse, and contrapositive
- Determine whether two statements are logically equivalent
- Use DeMorgan’s laws to define logical equivalences of a statement

Logic is, basically, the study of valid reasoning. When searching the internet, we use Boolean logic – terms like “and” and “or” – to help us find specific web pages that fit in the sets we are interested in. After exploring this form of logic, we will look at logical arguments and how we can determine the validity of a claim.

### Boolean Logic

We can often classify items as belonging to sets. If you went the library to search for a book and they asked you to express your search using unions, intersections, and complements of sets, that would feel a little strange. Instead, we typically using words like “and,” “or,” and “not” to connect our keywords together to form a search. These words, which form the basis of **Boolean logic**, are directly related to set operations with the same terminology.

### Boolean Logic

Boolean logic combines multiple statements that are either true or false into an expression that is either true or false.

- In connection to sets, a boolean search is true if the element in question is part of the set being searched.

Suppose *M* is the set of all mystery books, and *C* is the set of all comedy books. If we search for “mystery”, we are looking for all the books that are an element of the set *M*; the search is true for books that are in the set.

When we search for “mystery *and* comedy” we are looking for a book that is an element of both sets, in the intersection. If we were to search for “mystery* or* comedy” we are looking for a book that is a mystery, a comedy, or both, which is the union of the sets. If we searched for “*not *comedy” we are looking for any book in the library that is not a comedy, the complement of the set *C*.

### Connection to Set Operations

*A *and* B* elements in the intersection *A* ⋂ *B*

*A* or *B* elements in the union *A* ⋃ *B *

Not *A* elements in the complement *Ac*

Notice here that *or* is not exclusive. This is a difference between the Boolean logic use of the word and common everyday use. When your significant other asks “do you want to go to the park or the movies?” they usually are proposing an exclusive choice – one option or the other, but not both. In Boolean logic, the *or* is not exclusive – more like being asked at a restaurant “would you like fries or a drink with that?” Answering “both, please” is an acceptable answer.

In the following video, You will see examples of how Boolean operators are used to denote sets.

### Example

Suppose we are searching a library database for Mexican universities. Express a reasonable search using Boolean logic.

In most internet search engines, it is not necessary to include the word *and*; the search engine assumes that if you provide two keywords you are looking for both. In Google’s search, the keyword *or* has be capitalized as OR, and a negative sign in front of a word is used to indicate *not*. Quotes around a phrase indicate that the entire phrase should be looked for. The search from the previous example on Google could be written:

Mexico university -“New Mexico”

### Example

Describe the numbers that meet the condition:

even and less than 10 and greater than 0

### Try It

### Which Comes First?

Sometimes statements made in English can be ambiguous. For this reason, Boolean logic uses parentheses to show precedent, just like in algebraic order of operations.

The English phrase “Go to the store and buy me eggs and bagels or cereal” is ambiguous; it is not clear whether the requestors is asking for eggs always along with either bagels or cereal, or whether they’re asking for either the combination of eggs and bagels, or just cereal.

For this reason, using parentheses clarifies the intent:

Eggs and (bagels or cereal) means | Option 1: Eggs and bagels, Option 2: Eggs and cereal |

(Eggs and bagels) or cereal means | Option 1: Eggs and bagels, Option 2: Cereal |

### Example

Describe the numbers that meet the condition:

odd number and less than 20 and greater than 0 and (multiple of 3 or multiple of 5)

Be aware that when a string of conditions is written without grouping symbols, it is often interpreted from the left to right, resulting in the latter interpretation.

### Conditionals

Beyond searching, Boolean logic is commonly used in spreadsheet applications like Excel to do conditional calculations. A **statement** is something that is either true or false.

### Example

A statement like 3 < 5 is true; a statement like “a rat is a fish” is false. A statement like “x < 5” is true for some values of *x* and false for others.

When an action is taken or not depending on the value of a statement, it forms a **conditional**.

### Statements and Conditionals

A **statement** is either true or false.

A **conditional** is a compound statement of the form

“if *p* then *q”* or “if *p* then *q*, else *s*”.

In common language, an example of a conditional statement would be “If it is raining, then we’ll go to the mall. Otherwise we’ll go for a hike.”

The statement “If it is raining” is the condition—this may be true or false for any given day. If the condition is true, then we will follow the first course of action, and go to the mall. If the condition is false, then we will use the alternative, and go for a hike.

### Try It

### Excel

Conditional statements are commonly used in spreadsheet applications like Excel. In Excel, you can enter an expression like

=IF(A1<2000, A1+1, A1*2)

Notice that after the IF, there are three parts. The first part is the condition, and the second two are calculations.

Excel will look at the value in cell A1 and compare it to 2000. If that condition is true, then the first calculation is used, and 1 is added to the value of A1 and the result is stored. If the condition is false, then the second calculation is used, and A1 is multiplied by 2 and the result is stored.

In other words, this statement is equivalent to saying “If the value of A1 is less than 2000, then add 1 to the value in A1. Otherwise, multiple A1 by 2”

### Example

Write an Excel command that will create the condition “A1 < 3000 and A1 > 100”.

### Example

Given the Excel expression:

IF(A1 > 5, 2*A1, 3*A1)

Find the following:

- the result if A1 is 3, and
- the result if A1 is 8

### Try It

### Example

An accountant needs to withhold 15% of income for taxes if the income is below $30,000, and 20% of income if the income is $30,000 or more. Write an Excel expression that would calculate the amount to withhold.

### Try It

As we did earlier, we can create more complex conditions by using the operators *and*, *or*, and *not* to join simpler conditions together.

### Example

A parent might say to their child “if you clean your room and take out the garbage, then you can have ice cream.” Under what circumstances will this conditional be true?

Notice that if the parent had said “if you clean your room *or* take out the garbage, then you can have ice cream”, then the child would only need to complete one chore to meet the condition.

### Example

In a spreadsheet, cell A1 contains annual income, and A2 contains number of dependents.

A certain tax credit applies if someone with no dependents earns less than $10,000 and has no dependents, or if someone with dependents earns less than $20,000. Write a rule that describes this.