Standard of Mathematical Practice #3 (SMP3) asks students to construct viable arguments and critique the reasoning of others. Although it’s far from a settled matter, one could argue that SMP3 outsizes the other seven SMPs in importance and is at the heart of what mathematics is. Being able to defend a claim and find holes in others’ is not just an important principle in practically every discipline (law certainly comes to mind), but a principle in which mathematics reigns queen.

Distinguishing correct and incorrect logic allows students to communicate their thoughts and answer the most important question in any math classroom: Why? Boolean algebra gives high school students a way to prove statements as true and false using the clinical laws of algebra. **Here’s a Boolean logic activity you can try with your class.**

British mathematician George Boole first developed the idea of logic in a mathematical context, hence Boolean algebra. Boole used symbols to represent logical statements and studied the relationships between them. His ideas are used in every computer programming language today, with the Boolean data type (i.e. TRUE or FALSE) as one of the most essential concepts that beginner computer programmers need to learn.

## Boolean Logic Gates

When Boolean expressions are evaluated, there are only two possible results: TRUE or FALSE. In computer programming, any series of commands that we want the computer to take requires boiling each step down to a simple 1 (TRUE) or 0 (FALSE). This means an expression cannot be true *and* false at the same time. Two of the most important logical operators in Boolean expressions are AND and OR. Many programming languages represent these operators using the symbols && and ||.

Let’s take a look at these operators in practice. We’ll develop a couple **truth tables**, or tables that assign expressions either a Boolean value of 1 if it’s TRUE or 0 if it’s FALSE. We will use the following meanings for *x* and *y*.

Let *x* = Football Team A wins the Super Bowl

Let *y* = Football Team B reaches the playoffs

If you’re unfamiliar with American football, every year 12 teams make the playoffs. The playoffs are a single elimination tournament whose final game is called the Super Bowl. Note the flexibility of variables here: mathematics allows for variables to represent much more than just a number!

There is only one scenario using the AND operator where the Boolean value is 1. The statement “Football Team A wins the Super Bowl AND Football Team B reaches the playoffs” is only considered true if both parts of these statements are true. Otherwise it’s false.

The truth table for OR is a bit different. Now, there is only one scenario where the value is 0. In an OR scenario, if either *x* OR *y* is true, the result is also true.

These truth tables reveal two essential laws of logic: *x* AND *y* is only true when both *x* and *y *are true, and *x* OR *y* is true if either *x* or *y* are true. Students who are familiar with and understand these laws will be able to evaluate and interpret more complex mathematical arguments by dissecting information piece by piece.

## Evaluate Boolean Expressions

Boolean expressions make use of many other operators, including some that will look familiar to students! The table below shows the most common notation, although some programming languages use different symbols.

Let’s take a look now at some Boolean expressions, to see how a string of symbols can result in a single 1 for TRUE or 0 for FALSE. In the table below, assume *y* = 10, and in particular notice that parentheses are evaluated using the same order of operations as numerical expressions.

With practice, students will be able to make conjectures about these operators and explore cases in which a certain expression will result in a value of 0 or 1. Try this with students to see if they get it:

*Find an integer value of z for which the resulting Boolean value is 1.*

(*z* == 10) && *z* >= 9

Because AND statements require that *all* of the connected parts be TRUE, the first part, ‘*z* == 10,’ must be TRUE. Thankfully, substituting 10 for *z* makes the second part TRUE as well, and thus *z* has to be 10.

Here’s another example:

*Is the expression* !(*x* == 4) *equivalent to* *x* != 4 && *x* < 10*?*

The answer is no. Sometimes the expressions are equal (try *x* = 0), but other times they’re not (try *x* = 11).

And one more:

*Is the expression *!(*x* && *y*) *equivalent to* !*x* || !*y?*

This time, the answer is yes. It doesn’t matter what statements you substitute in for *x* and *y*, the two statements will always be equivalent. (Read about De Morgan’s laws to learn more.)

Notice the shift again in what the variables represent. They’re not numbers here, they’re expressions such as ‘*x* < 4’ or ‘Football Team A wins the Super Bowl.’ Talk about constructing viable arguments! When an argument is scripted by fundamental logical truths, it has transcended from a persuasive argument to mathematical gospel.

**Check out this student activity and see what your logical thinkers can do! **

*The views expressed in this article are those of the author and do not necessarily represent those of HMH.*

***

*To learn more about growing confidence and deepening understanding among high school mathematics students, take a look at HMH Into AGA.*

SEE ALL SOCIAL STUDIES