# Emphasizing benefits of mathematical abstraction

Mathematician Ian Stewart writes:

To criticize mathematics for its abstraction is to miss the point entirely. Abstraction is what makes mathematics work. If you concentrate too closely on too limited an application of a mathematical idea, you rob the mathematician of his most important tools: analogy, generality and simplicity. Mathematics is the ultimate in technology transfer.

• Ian Stewart, Does God Play Dice?, 2nd ed., 1997, Penguin Books Ltd

How do you emphasize the benefits of mathematical abstraction in your teaching, while not losing sight of applications? Do you have any prime examples?

# The analogy of thin lenses and resistors

## Forumulas for thin lenses

$$\frac{1}{g}+\frac{1}{b}=\frac{1}{f}$$ $$b+g=d$$

($$g$$ is the distance object-lense. $$b$$ is the distance image-lense. $$f$$ is the focal width. $$d$$ is the distance object-image.)

## Formulas for Resistors

$$\frac{1}{R_1}+\frac{1}{R_2}=\frac{1}{R_{\text{parallel}}}$$ $$R_1+R_2=R_{\text{series}}$$

Because the mathematics of both are abstractly equal, mathematical solutions to equal problems apply equally to both.

## Example of equal problem

Find two resistances such that their total parallel resistance and their total series resistance has given values!

Find the position of a lense between fixed object and visor, such that the image on the the visor is sharp!

The solution to both can be found by solving the abstract system of equations

$$\frac{1}{x}+\frac{1}{y}=\frac{1}{a}$$ $$x+y=b$$

which happens to be transformable to

$$x+y=b$$ $$x\cdot y=a\cdot b=c$$

which happens to have been solved by Vieta already.

## Realization

No, all this just hasn't simply happened. It is result of using abstract math.

### Side remark

The mathematical solutions to the above problem are equal, but their physical interpretations might not be. Resistances may not be negative, but optical distances may be. Negative distances do not create real images, but if you replace the visor by an eye, you might see the virtual image.

TL;DR Promote abstractions through generalizations they come with.

Abstractions and generalizations

Abstractions and generalizations are two different things, but they commonly appear together. One funny way to think about them is to regard abstraction as a kind of weird existential quantifier, while generalization would be a universal one. To give an example, for a statement:

$$\text{Any group of order 3 is cyclic.}$$

an abstraction could be

$$\text{There exists a prime number p such that any group of order p is cyclic.}$$

generalization only would be

$$\text{Any group of order 2, 3 or 5 is cyclic.}$$

finally using both might give

$$\text{For any prime number p, any group of order p is cyclic.}$$

While the "universal quantifier" in the last statement is apparent, it is not so obvious in the generalization-only example; but it is there:

$$\text{For any number n \in \{2,3,5\}, any group of order n is cyclic.}$$

The takeaway is:

• Abstractions and generalizations may appear separately.
• But, the most useful setting is where there are both.
• "Natural" generalization (i.e. one which is handled uniformly, does not involve cases, etc.) implies some abstraction (perhaps stupid, but still).
• Non-trivial abstraction (i.e. which has more than one instance) imply some generalization (also, might be stupid).

Why to use abstractions

There are two main reasons to use abstractions:

• To blur out unnecessary details.
• To prepare for generalizations.

While the first one is more obvious, it is rare that students will approach problems of complexity so high that would warrant use of abstractions. Most of topics are usually given in small, digestible chunks, the abstractions being often already overlaid on the content. It seems a lost cause: either the problem would be easy enough to be able to keep track of all the details, or it would be so complex that the weaker students would be lost before it even started. There are cases like random variables where abstraction visibly makes things simpler, but is it necessary?

And here there comes the justification of that lengthy introduction. The easiest way to show why abstractions are useful, in my opinion, is through the generalizations they provide. In other words, it is impractical to use multiple different cases, and any proof that handles various objects in a uniform way has to use some form of abstraction. Fortunately there are accessible examples of this.

Examples of abstractions at work

1. The best example I know in computer science comes from this post by Dan Piponi. It is not an elementary problem, but I've used it several times to great effect. I recommend it very much!

2. Basic example in mathematics might be in calculating $$\int_{-\pi}^{\pi} \sin^3 t \cdot \cos t\ \mathrm{d}t.$$ One can do it by parts, but it's easier to abstract $\sin$ and $\cos$ as odd and even functions and conclude that the integral is zero almost immediately.

3. Similar example might be with proving that $(x-a)^3 + (x-b)^3 + (x-c)^3 = 0$ has only one real root by observing that $x \mapsto x^3$ is strictly increasing.

4. Induction is a great source of examples of generalizations. For example, to prove that $$4 \mid 5^{2014}-1$$ we generalize to $4 \mid 5^n - 1$ and argue by $5^{n+1} - 1 = 5\cdot (5^n-1) + 4$.

There is even a nicer example with covering the chessboard with L-shaped trominos, e.g. see here.

5. Information theory provides a general abstract approach by disregarding anything but the flow of bits. For example to prove that you need at least $5$ comparisons to sort $4$-element array it's best to calculate $\lceil\log_2(4!)\rceil = 5$, that is, any algorithm that distinguishes each of $4!$ permutations has to make at least $5$ decisions.

6. Yet another example might be calculating $S_n = \sum_{k=0}^{n} k\cdot 2^k$; the trick is to make $2$ a variable, i.e. $S'_n = \sum_{k=0}^{n} k\cdot z^k$ to get $S'_n = \frac{z(nz^{n+1}-(n+1)z^n+1)}{(z-1)^2}$ and go back to $S_n = 2(2^nn-2^n+1)$.

7. Let the final example be as follows: let $P : \mathbb{N} \to \mathbb{N}$ be a function constructed by combining $\mathrm{gcd}$, $\mathbb{lcm}$, constants and input, e.g. $$P_1(x) = \gcd\Big(\gcd(5,x),\mathrm{lcm}(x,3)\Big),$$ how to check if $P(x) = n$ has any solutions for some given $n \in \mathbb{N}$?

Observe that $\langle\mathbb{N},\gcd,\mathrm{lcm}\rangle$ is a lattice, and so it is enough to test whether $P(n) = n$.

Conclusion

Abstraction is a very practical thing, the problem is that in mathematics the complexity level in which it shines enough is to high for basic courses. For example, this threshold is much lower in computer science and being able to find good abstractions is widely considered a characteristic of a good programmer.

However, even in math one doesn't need to sacrifice practicality to talk about abstractions, because the generalizations they are tied with are enough powerful to warrant their (abstractions) use. Such examples might be a bit contrived, nevertheless, seem persuasive enough.

I hope this helps $\ddot\smile$

• Generalization is a difficult concept/task; see more here: matheducators.stackexchange.com/a/908/262 As for the tromino induction problem, see also here: matheducators.stackexchange.com/a/1255/262 May 26, 2014 at 23:00
• Good answer. There are tons of different definitions of abstractions, and the most recurring common themes are i. Finding some pattern between the objects and working with the patterns directly instead of the objects ii. (I don't know programming except stupid one week python course; This definition is often used in programming, I don't understand this even slightly) " Naming something" iii. Making some constants variable a. Which of these definitions is correct ? b. How all types of abstractions can be represented by "weird existential quantifier" ? c. What is "weird" ?
– user6330
May 6, 2016 at 15:33
• @ArkaKarmakar I am unable to answer a), but consider that: abstractions are not about naming (after you abstract something, it is convenient to have a name for it, but it is not a requirement); making some constants variable depends very much on what these constants are, if you mean numbers or functions, then these are some examples of abstractions, but there are much more complex abstractions than only making some numbers of functions variable. Cont. May 6, 2016 at 16:10
• Cont. As for (i), "finding some patter between the objects" is a generalization, "working with the patterns directly" would correspond to abstraction. Of course, usually you need to arrive at these patterns somehow to work with them, that's why generalization and abstraction appear together that frequently. b) for (i) that would be "there exists an object having pattern XYZ such that..." for (ii) this does not really describe abstraction, for (iii) "there exists a constant such that..." c) I don't really know what is your question about. Fin. May 6, 2016 at 16:10
• @ArkaKarmakar a) It would be tempting to say that these high-level patterns are abstractions, but I feel that might be an oversimplification. For me abstraction might be actually a base term, i.e., not definable. b) Yes, that would be (at least technically) a generalization. But I have no idea if it would be a good generalization. You have to decide on case by case basis whether it makes sense. It's hard to find good generalizations and good abstractions, it's more an art than science. May 6, 2016 at 20:48

When I teach physics, I vacillate between two modes.

• examples with explicit numerical data
• examples which are purely symbolic

A wise student will notice that the examples without numerical data actually reveal more physical content. The numerical examples are needed to help them see how to work our their own numerical homework problems. This is actually an example of abstraction at work. The use of algebra variables is abstraction, we replace a word with a letter and use formal manipulation of symbols, calculus, and vectors to work out physical consequences which would not be obvious without the abstraction. All of this happens within physics, which, I think I can reasonably claim is applied. At some point or another, usually several times in a given semester, I will make the following point:

To solve a problem with numbers is to solve that problem. To solve a problem symbolically is to solve all such problems. So, when faced with the question of putting numbers into variables, ask yourself the question: "do I want to solve this problem, or, for almost the same effort, do I want to solve all such problems?"

As to mathematics, abstraction is the heart of mathematics. So, how can I avoid abstraction if I am to teach math? The examples are endless.

The only way is to show them with concrete (!) examples that abstraction is useful. Perhaps the easiest way is to introduce (a bit) of abstract algebra, showing uses of group theory for instance.