Here are some ideas and a few questions I've been pondering lately related to the teaching of functions in college algebra and precalculus:

Based on my experience, the teaching of functions usually starts with the discussion of relations, and leads to eventually defining a function from $X$ to $Y$ as a relation that associates each element of $X$ (the domain) with exactly one element of $Y$ (the codomain). From here there tends to be a lot of focus on questions that involve determining whether an equation "defines $y$ as a function of $x$", or "is a function". The focus on these types of questions seems to often lead students (including me when I was taking college algebra) to think of a function as "an equation that passes the vertical line test", or "an equation where each input has exactly one output". This seemed like a pretty productive way of thinking about functions, until I got into more advanced math courses and they started describing a function as "a set of ordered pairs". Also, since I had the understanding that a function is "an equation where each input has exactly one output", I often thought of the rule $f(x)=y$ itself as a function (this idea is reinforced throughout college algebra textbooks. They repeatedly refer to the rule $f(x)=y$ itself as a function), when this technically isn't true. In order to properly define a function, we need to explicitly state the domain and codomain, correct?

This led to even more confusion as I looked back on the type of questions I was asked in college algebra and precalculus. The formal notation that we see in courses like real analysis that usually looks something like "Define $f:X \to Y$ by $f(x)=y$". This notation was essentially non existent in college algebra, precalculus, and most of calculus. I never once thought of a function as a set, nor did I think of the domain and codomain as being part of the formal definition of a function.

As I continued to think back, more questions came up. For example, does it really make sense to ask a student to "find the domain of the following function?" Isn't the domain something that should be included in the defining of the function itself? Also, what does "the domain" even mean? This seems to imply that each rule $f(x)=y$ has one single domain set associated with it. I guess the convention is to find the "largest" one with the "least" number of restrictions? (I know I'm not being precise when I say "largest" and "least" here, but hopefully y'all understand what I'm trying to say)

Another issue is finding the inverse of a function, or determining whether two functions are inverses of each other. Does it even make sense to ask this without explicitly stating the domain and codomain? I mean, $f(x)=x^2$ has an inverse function if we restrict the domain to the non-negative reals, but if I were to just ask "Does the function $f(x)=x^2$ have an inverse function?" (textbooks often ask these kinds of questions), I would expect almost everyone to answer "no", because it is not injective. Then again, whether a function is injective or surjective also depends entirely on the domain and codomain, which in this case are not explicitly stated.

Many of the textbooks I've referred to seem to mirror the issues I'm pointing out, but it is still possible that my experience is the exception, not the rule. Either way, this all leads me to wonder if there are ways to introduce and build on the concept of a function that are more productive, and I'm curious to hear some other perspectives from people with more experience.

TLDR: Understanding the formal definition of a function is extremely important for understanding concepts like one to one, onto, inverse functions, and perhaps many more, but it seems as though we often don't put much (or any) emphasis on it in college algebra, precalculus, or calculus. Perhaps this is something we should make note of and try to improve so that our students are leaving these courses with a productive and accurate way of thinking about functions.

  • 5
    $\begingroup$ Yup, you're right. The way math education is structured is in layers, with the least technical (naive) description coming first. A lot of concepts and questions aren't formalized in the earlier courses. That's in the best interest of the student and I believe that's the right way to do it. Some textbooks actually do state the convention that the domain is the "maximal set of real numbers so that $f(x)$ is real." Others don't, so it is technically ambiguous. Many of the questions aren't well-posed and, to some extent, that's okay. Be technical with the people who have technical needs. $\endgroup$ Commented Jul 2, 2021 at 0:25
  • 2
    $\begingroup$ When people post mini-answers in comments, I often suggest they expand those comments into answers. This is because comments don't get their own comment thread and can't be accepted by the questioner. In this case, I don't think you would even need to expand it; you could probably just copy-paste the whole thing and it would be a fine answer. @AlexGramatikov $\endgroup$ Commented Jul 2, 2021 at 14:02

5 Answers 5


The question is probably too opinion-based to allow for a definite answer, but let me offer a few reasons why I think that we should rather not ignore domains and codomains when we teach functions to, say, highschool students (yes, this means I'm suggesting to do it differently from how it is now done in many places):

(1) The OP is of course right that, from a purely mathematical point of view, it does not make sense to talk about a function without specifying its domain and codomain. Domain and codomain are just part of the definition of a function. One might claim (as done, for instance, in the comments under the question) that this were merely "technical", but I disagree: Changing the domain of a function can change it's properties entirely, which indicates that it is not a mere technicality or subtlety.

It even has a close connection to very practical questions which we see in the newspaper every day: if we consider the evolution of some quantity (say, economical, or social, or meteorological, or, well, epidemiological...) over a period of time, then the properties of this function (of time) do often depend very strongly on the precise period of time that we consider. This is a very relevant insight, and it is closely related to the domain of functions and to the operation of restricting a function to a smaller domain. And while it's certainly absolutely possbile to understand this without knowing what the domain of a function is, it at least shows that things like "domains" are by no means something abstract or technical which were completely removed from reality.

(2) One might make a point that talking domains or codomains were to complicated or "advanced" for student to grasp too early in their education. I don't think that's accurate, though:

When I went to highschool (in Germany) we were taught "functions" in precisely the same imprecise manner as described by the OP. However, we had to learn a lot of things in mathematics which are much more involved than the simple question what the domain and codomain of a function are (for instance, I don't buy that anybody finds derivatives, integrals, or applications of the central limit theorem - even when done without any proofs - easier than the fact that a function needs a domain and a codomain).

(3) While I believe that teaching things in a less rigorous manner does sometimes (or even often) make them easier for students (in particular, in highschool) to grasp, I am far from convinced that this is always the case - and the concept at hand seems to be a prototypical counterexample:

For instance, I vaguely remember that when I went to school a lot of students had a hard time to understand the concept of inverse functions. I have severe doubts that this were due to some intrinsic difficulty of the concept - in fact, inverse functions are probably one of the simplest concepts in mathematics. However, when students are never taught what a domain and a codomain of a function is and are instead made to believe that a function is just some kind of evaluation rule between numbers, I'm not surprised that they don't understand what an inverse function is and that they find computing an inverse function a completely pointless alogrithmic endeavour.

(4) Here's the part of the story that I'm personally most familiar with:

Whenever I'm involved in teaching first year students who major in mathematics at a German university, their first mathematics courses are typically, "Linear Algebra" and "Real Analysis in one variable". One of the (various) things that many students really struggle with is to understand what a function really is. In particular, many students don't understand that, say, for a function $$ f: \mathbb{R} \to \mathbb{R}, \quad x \mapsto f(x) $$ it is $f$ - and not $f(x)$ - which is the function. It doesn't fit how they were taught to think about functions in school: there, a function was not a mapping with a domain and a codomain, but it was somekind of "formula" which they had to manipulate in some way.

While this seems like a subtlety at first glance, it makes it very difficult for them to grasp many concepts in Linear Algebra: for instance, understanding and using linear maps between to function spaces is very difficult if one doesn't see the difference between $f$ and $f(x)$.

So the fact that functions are taught as "formulas" rather than as mappings with domains and codomains in school, has the very unpleasent consequence that we have to "unteach" the students this idea when they enter university to study mathematics or a closely related subject. (Of course, the real problem here is not that it makes life a bit harder for faculty and for teaching assistants, but that it makes life much harder for the students.)

  • 1
    $\begingroup$ In my experience, the abstraction of thinking of a mapping as a thing in and of itself - that one can think of $f$ as a thing independent of an $x$ - is something that many of my students are simply unable to grasp, both in the mathematical context and in the context of functional programming languages. Then again, I teach at a "university" whose student body is more akin to the student body at a Fachhochschule than at a Universitaet. $\endgroup$ Commented Jul 3, 2021 at 1:26
  • 1
    $\begingroup$ Conversely, I was taught about functions as mappings at an early stage (primary school, IIRC), using the ‘f: x ↦’ notation, along with domains and co-domains.  Probably briefly and at a very superficial level, of course, but it was enough.  In secondary school, we used the ‘f(x) =’ notation — but by then I guess I was already sufficiently aware of the concept of mappings that I could see what was really meant. $\endgroup$
    – gidds
    Commented Jul 3, 2021 at 12:38
  • 1
    $\begingroup$ @JochenGlueck England, in the '70s.  There was some of what I think would have been called ‘new maths’ around then: I remember using Venn diagrams (with hoops and real objects!) to introduce sets in infant school, and we met number bases in junior school.  (I don't know if all UK schools were doing that then, but we moved to a different area before I started junior school, so it wasn't just one.) … $\endgroup$
    – gidds
    Commented Jul 4, 2021 at 13:48
  • 1
    $\begingroup$ @JochenGlueck I also recall a junior school teacher explain the logic behind the simple ‘change the side and change the sign’ rule when solving simple equations: that since the two sides were equal, you could do the same thing to both sides and they'd remain equal — another simple foundational idea that I suspect wasn't previously explained very well.  As I said, I don't remember too much, and it was probably all at a very superficial level, but I think being introduced to such ideas helped a lot. $\endgroup$
    – gidds
    Commented Jul 4, 2021 at 13:51
  • 1
    $\begingroup$ @JochenGlueck: I think it is inherent to the notion of 'function' based on my experience teaching programming in functional programming languages. $\endgroup$ Commented Jul 4, 2021 at 14:54

First, let's keep in mind who the students are who are taking these courses. They are either high school students or college students who are taking high-school math for remediation. A typical student in such a class is thinking of becoming a dentist or selling used cars. Your concerns will make no sense to such a student and will be of no educational benefit to them.

There is nothing wrong with writing down an equation and taking that as the definition of a certain function, including its domain. There are some conventions for how to interpret such a thing. To the extent that these conventions are sometimes nontrivial, the nontrivial cases are of no interest in applications. For example, if I use $y=(\sqrt x)^2$ to define a function, then we have to worry about whether this is defined for negative $x$. Your textbook probably defines a convention according to which the domain doesn't include negative values, but in a real-life application we wouldn't decide that based on the convention, we would decide it based on real-world context. So just skip the "find the domain" exercises and instead do some applications and word problems, and your students will be better off.

There is nothing special or holy about the definition of a function as a set of ordered pairs. The world's greatest mathematicians prior to ca. 1900 did fine without such a definition. Set theory is not the only possible foundation for mathematics, and working it out as a such a foundation is of no interest to students at this level. If 0.1% of them will become math majors in college, then they'll learn that in their upper-division courses.

There is actually no real need to define a function. It can be a primitive notion, like lines and points in Euclidean geometry. You can point out that the graph of a function passes the vertical line test, but that isn't a definition of a function, it's just a theorem about graphs. You can point out that some functions have inverses and some don't.


I appreciate your concern and have felt similar despair when teaching about functions and the awkward game of "finding their domains" in precalculus courses.

But then I lift myself up by thinking about analytic continuation. A real variable construct like $\sqrt{x}$ somehow just knows, without human intervention, what its domain should be. In this case, analytic continuation takes $\sqrt{x}$ to have a domain that is a two-sheeted Riemann surface that is a double covering of ${\bf C}$.

More generally, an analytic function $f$, whose domain and values are defined initially only infinitesimally, just "knows" how to expand and find its maximal domain without meddling by brains. Think about the spiraling Riemann surface that serves as the maximal domain for the logarithm, or the analytic continuation of $f(p)=\displaystyle{\sum_{n=1}^{\infty} \dfrac{1}{n^p}}$ for $p>1$ to ${\bf C}\setminus\{1\}$.

  • 1
    $\begingroup$ While I agree at least for polynomials that they have a "natural domain" from the perspective of complex analysis, I don't agree that analytic continuation solves the problem for analytic functions other than polynomials. Of course we can define $\sqrt{x}$ for $x$ from a suitable Riemann surface, but this doesn't tell us which domain we should use when we work in $\mathbb{C}$. There are, of course, branches of the complex square root that are well-defined and analytic on $\mathbb{R} \setminus \{0\}$. $\endgroup$ Commented Jul 2, 2021 at 7:25
  • $\begingroup$ @JochenGlueck. Polynomials are not so interesting, other than their inclination to grow their domains to the Riemann sphere ${\bf C}\cup\{\infty\}$. Rather it is their aspirational inverses that have surprises. The square root function "just knows" to grow its domain to a Riemann surface, beyond the box of ${\bf C}$ with a branch cut, where we working mathematicians try to confine it. A resolution of this tension is that some complex analysts and textbooks come full circle and end up embracing multi-valued functions, and ensuing references to their principal values. $\endgroup$
    – user52817
    Commented Jul 2, 2021 at 13:40

The definition of function as a binary relation on two sets is related to the set theoretic foundations of mathematics. Under this foundations, we consider only sets as the primitive building blocks for all mathematics. You have mentioned functions, but other mathematical objects are defined (sometimes awkwardly) as some set. For example, tuples of numbers (a,b) are defined as the set {a, {a,b}}. Natural numbers are usually defined in set theory either using the Zermelo ordinals (0={}, 1={{}}, 2={{{}}}, ...) or the von Neumann ordinals (0=∅, 1={∅}, 2={∅, {∅}}, ...).

Some mathematicians are unsatisfied with the foundations. Many of the proposed alternative foundations consider functions as a primitive concept on the same level as the concept of set. These ideas usually come from category theorists or type theorists. For example, Lawvere's Elementary Theory of the Category of Sets (ETCS) is basically an axiomatization of an elementary topos with a natural numbers object. On his original paper, Lawvere leaves the concepts of function, domain, codomain and composition undefined on purpose, he just states on the axioms the rules that shall relate these concepts. In other words, he's not interested on the substance of these concepts, but on the structure that arise given the axioms on these concepts.

My point is that many mathematicians share your concern with the foundations of mathematics and feel that the way they think about mathematics is inconsistent with the formalism. Many have proposed alternative, more intuitive foundations.

On the exercise about "finding the domain of a function", I'm on the same boat of the other replies, a function on ECTS must be related to a unique domain and codomain from the moment it's defined. I would rephrase such exercises from:

Find the domain of f(x)=√(x^2-1)


Define a function f : X -> R, such that f(x)=√(x^2-1). For the answer to be correct, no other function g : Y -> R must exist such that f = g∘i for some proper inclusion i: X -> Y.

  • 2
    $\begingroup$ For what it's worth, every U.S. college algebra text and precalculus text I've taught from (and probably nearly every such text I've seen, if published since the late 1960s) says somewhere prior to such exercises that the domain of a function given by a formula (involving a single variable), when not otherwise explicitly given, is understood to be the set of all real number values of the variable for which the formula is defined, and the exercises only have formulas whose component parts are such that the student is expected to know where they are defined. But usually not with this many words! $\endgroup$ Commented Jul 4, 2021 at 18:26

In mathematics, at least, two concepts of function are used. We will distinguish them by using uppercase and lowercase letters:

  1. Function is a univalent relation f, i.e. (x, y), (x, y ') ∈ f -> y = y'.
  2. FUNCTION is a triple (f, D, K), which we usually write f: D -> K, which consists of sets D and K and a univalent relation f such that the set of its first components is D, and the set of its second components is contained in K, i.e. f (D) ⊆ K.

In both cases, the set of the first components of f is called the domain of f, symbolically Dom f, and the set of second components of f is called the image of f, symbolically Im f. We define y = f (x) as (x, y) ∈ f, f (S) as {y: (∃x∈S) y = f (x)} and f-1 (S) as {x: (∃y∈S) y = f (x)}.

Note that for a function (i.e. the univalent relation) it makes sense to ask someone to determine its domain, in the same way as it makes sense to ask someone to determine its image. For a FUNCTION it makes sense to ask someone to determine its image, but it does not make sense to ask someone to determine its domain because it is already given.

Of course, you can understand each FUNCTION as a function (because the graph of a FUNCTION is a function), but you cannot understand a function as a FUNCTION (because a function determines domain D but does not determine codomain K).

Obviously, function is a simpler concept. Then why is FUNCTION used in school? What does the FUNCTION offer that the function does not offer?

The concept of injection is the same in both cases. The function f is an injection from A iff

(∀x, x'∈ A) (x ≠ x' -> f (x) ≠ f (x ')).

If we omit "from A" we mean "from the domain of f".

The concept of composition is simpler for functions. The composition of the functions f and g is the function f◦g defined by

f◦g (x) = f (g (x)) i.e. (∃u) (u = g (x) & y = f (u)).

Of course, it is possible to prove that Dom f◦g = g-1 (Dom f) and Im f◦g = f (Im g).

For FUNCTIONS, the notion of composition is more complex. Composition of the FUNCTIONS f: D -> K and g: D1 -> K1 is the FUNCTION

f◦g : g-1 (Im g ∩ Dom f) -> K1

defined by

f◦g (x) = f (g (x)).

The concept of inverse function is simpler for functions. The function f-1 is the inverse function of the function f iff

y = f (x) ↔ x = f-1 (y).

For FUNCTIONS, the concept of inverse is more complex. THE FUNCTION f-1: D’ -> K' is the inverse FUNCTION of the FUNCTION f: D -> K iff

y = f (x) ↔ x = f-1 (y) and D '= f (D) & K '= D

(or if you insist that only bijections have inverses, D' = K and K '= D).

A FUNCTION is a surjection iff f (D) = K. The concept in this form has no meaning for functions (but see below).

A FUNCTION is a bijection iff it is surjection and injection. The concept in this form has no meaning for functions (but see below).

Obviously function is a simpler and easier concept. Then why do we insist on FUNCTIONS at school?

I guess because of the important concepts of surjection and bijection that have no meaning for functions. But functions doesn't really have any problems with these concepts.

A function is a surjection on B if its image is B.

A function is a bijection from A on B if it is an injection from A and a surjection on B.

Using these concepts, we can easily say, for example, that sin x is a bijection from [-π, π] on [-1, 1] and that therefore there is an inverse bijection sin-1 x from [-1, 1] to [-π, π].

In terms of FUNCTIONS you have to talk about the restriction of the FUNCTION sin x: R -> R to a different FUNCTION sinx: [-π,π] -> R, if you allow inversions of injections or to the sin x: [-π,π] -> [-1,1], if you only allow inversions of bijections (but then you get involved in the problem, does the notion of restriction allow you to change the codomain).

I think it is evident what is simpler and clearer.

In addition, the more complex concept of FUNCTION is easily defined if we need it (we need it, for example, when we start talking about the space of all functions from A to B, etc.). A function from A to B (this is what we have so far called FUNCTION) is a function with domain A and the image contained in B.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.