I have taught high school mathematics for nearly a decade. I have a BS in Mathematics. The Algebra II curriculum, which I largely built for my school, is based on “the story of functions”.

And yet, it was only the other day that I noticed something that was woefully wrong about the way that I’ve been presenting functions.

Mathematics education is filled with convenient half-truths. When we introduce division, we try to ignore what happens with the remainder. We call it the number “line” even before we introduce either negatives or non-integers (the positive real numbers are, technically speaking, a number ray). When we introduce the square root, we tell students we can’t use it with negative numbers (we can, but the result isn’t a real number).

The other day I noticed a convenient half-truth hiding in plain sight. As soon as I noticed it (in a college textbook on writing proofs), I stormed off to my AP Calculus book, ready to be outraged… except, that book told the truth. (Well, kind of.) So I went to my Algebra II books… which also told the truth. (Well, kind of.)

Algebra I… same story. Remedial and math tutoring websites… same story.

Here it is, from Pearson’s Algebra II Common Core (2015, 62): “A function is a relation in which each element of the domain corresponds with exactly one element of the range.”

How many times have I read some version of that and said I understood it, and then gleefully told my students, “The natural log function is a function *because* there is no real number that has more than one natural log”?

And if you just scrunched up your eyebrows and wondered how what I said was wrong, you might have been doing it too.

I noticed this two days ago, and have spent the intervening time wondering how I hadn’t noticed it before. Maybe I did, back in high school, and forgot about it, but I asked my wife (who had the same high school math classes that I did), and she had the same answer.

The problem is: I didn’t restrict my domain.

The key words in the definition of a function is “exactly one” element of a range. The natural log is undefined when *x* is not positive, so it is undefined for literally half the real numbers (technically, infinitesimally more than half), and yet it’s my experience that we tend to gloss over that.

Some of us apparently get around this by talking about the “natural domain” of a function: The subset of the real numbers for which a function is defined. The natural log is not a function on all real numbers; its natural domain is positive real numbers.

But… that’s not a phrase that appears in the indices or glossaries of the high school textbooks I checked. It was a topic I remember vaguely from one of my math classes in high school, but it was tucked in.

Consider the relation R such that *y³-y = x*. Here’s the graph:

Is this a function? I’ve been telling my students that something like this is not, in fact, a function.

For comparison, here’s *y= *ln*(x)*, which I’ll call F.

R satisfies the definition of a function for most (well over half) of the real numbers. It fails for that portion in the middle (just under -.5 to .5) but passes for everything else. F satisfies the definition of a function for half of the real numbers.

And yet, I think most math teachers will be more inclined to accept F as a function and R as not one.

Why?

This morning, still convinced that my mathematics books had been fibbing to me somewhere, I woke up with a phrase I hate in my head: The Vertical Line Test.

The Vertical Line Test is presented as a test of functionality. I don’t like it because it emphasizes the primacy of the graph, and in so doing (I feel) leads to students confusing the graph for the function. You are not your photograph, the function is not the graph.

Here’s what Pearson has to say about that: “The vertical line test states that if a vertical line passes through more than one point on the graph of a relation, then the relation is *not* a function.”

And here’s what my AP Calculus text (Stewart and Kokoska, 2018, 7) says: “The Vertical Line Test: A curve in the *xy*-plane is the graph of a function of *x* if and only if no vertical line intersects the curve more than once.”

Now, to Stewart and Kokoska’s defense, this definition immediately follows a discussion of domain, but that discussion is not set apart in a fancy box. It is easy for the casual reader (and the decade-long math teacher) to forget about domain.

However, Pearson’s phrasing strongly implies that F is a function because it doesn’t violate the Vertical Line Test… without making any clear restriction on domain at all.

So what *about* domain?

My confusion here is because, in my experience, we tend to gloss over domain. And that’s the teachers more than the textbooks.

I mentioned this notion of “natural domain” above, but I walked away from my math classes thinking that the domain for a function was “all real numbers” and that the only thing that disqualified a relation from being a function was a violation of the Vertical Line Test.

That’s the confusion I’m trying to explain.

R is a function for all real numbers except those over the interval [-2√3/9, 2√3/9]. So if our domain is, say, “all real numbers greater than 1”, then R is a function. It can be written as:

It’s important to note that the function in the graphic (let’s call it G) is not identical to R. R (as a relation) is defined for all real values, but it has two or three *y* values for each *x* value over [-2√3/9, 2√3/9]. G is completely undefined (it has no values) over (-2√3/9, 2√3/9). Also, it only has a single *y *value at *x* = -2√3/9 and *x* = 2√3/9, instead of R’s two *y* values.

But if our domain is, say, “all real numbers greater than 1”, then R is equivalent to G and, hence, represents a function over that domain.

So why do we seem to care more about cases where a relation has multiple outputs than cases where a relation is undefined?

I don’t know for sure. But here are my thoughts.

For one thing, it’s hard enough to get students to understand what a function is in the first place. “More than one” is an easier concept to understand than “exactly one”.

For another, when a relation has no value, we can either ignore that portion, or we can fill those areas in. While F is undefined for non-positive numbers, we could come up with the function H = ln|*x*|, which is defined for all real numbers except 0. We also use piecewise functions to fill removable discontinuities. So H = { 0 when *x* = 0, ln|*x*| elsewhere } is a function for all real numbers (albeit not continuous at *x*=0).

Perhaps the main reason, though, is because of exactly where my mind went: If F is only a function over a subdomain of **ℝ** (the real numbers), then what about R? R is also a function over a subdomain of **ℝ**, and in fact is a function over a larger subdomain of **ℝ** than F is.

F is a function over (0, ∞). R is a function over (-∞, -2√3/9) and (2√3/9, ∞). But this makes it even harder to understand what a function is. The Vertical Line Test is (allegedly) easy, so we use that.

We could reframe that test so it’s more accurate, but that also makes it more difficult to understand: A graph represents a function in exactly those places where a vertical line intersects it exactly once. We could call this the “full domain” of the function.

To get the full nuance, let’s go back to Stewart and Kokoska’s definition of the Vertical Line Test: “A curve in the *xy*-plane is the graph of a function of *x* if and only if no vertical line intersects the curve more than once.”

Note that it doesn’t say anything at all about domain here. It also refers to the graph of a function, not to the function itself. It says that the graph does not correspond to a (single) function if it violates the Vertical Line Test anywhere. It doesn’t drop the other shoe, that if the vertical line doesn’t intersect the graph at all, then that’s outside of the domain of the function… but that’s okay, in the context of a calculus definition.

Here are the graphs of R (dashed red) and G (purple):

It is accurate to say that the red dashed line (which continues under the purple in both directions) is not the graph of any function on *x. *It is not accurate to say that *y³-y=x* is categorically not a function on *x*, since it clearly is one for all values of *x* except the portion represented by the red dashed line.

That’s a difficult nuance to explain, so instead we often tend to gloss over it. And I get that, but I’m frustrated that we gloss over it so much in math class that it took me this long (as a teacher!) to notice it.

I also didn’t notice this thinking about functions and such. I noticed it reading “How to Prove It” (Velleman, 2nd ed.) and seeing this:

∀a∈A ∃!b∈B ((a, b)∈F)

What the symbols say, roughly, is “For all a in set A, there exists exactly one b in set B such that the pairing (a, b) is in set F”, where F is a function.

It’s interesting how I can read the words “exactly one” over and over in definitions, but it’s when I see it in symbolic logic that it clicks.

Maybe other math teachers are teaching this correctly; maybe it’s just me, and I need to get it in gear. But if, like me, you read this and now have a “huh, wait” hovering over your head, then at least I wasn’t the last one to the dance.