## The power of being naive

To manipulate the demos in this post, you must have Wolfram CDF Player installed on your computer. It is available free from the Wolfram website. The code for the demos is in the Mathematica notebook MM Def Deriv.nb. See How to manipulate the diagrams for more information on what you can do with them.

# Learning about the derivative as a concept

The derivative $f'(x)$ of $f(x)$ is the function whose value at $a$ is the slope of the line tangent to the graph $y=f(x)$ at the point $(a,f(a))$.

To gain understanding of the concept of derivative the student need to see and play with the pictures that illustrate the definition. This can be done in stages:

• Give an intuitive, pictorial explanation of the tangent line.
• Show in pictures what the slope of a line is.
• Show in pictures how you can approximate the tangent line with secant lines.

Of course, many teachers and textbooks do this. I propose that:

The student will benefit in the long run by spending a whole class session on the intuitive ideas I just described and doing a set homework based only on intuition. Then you can start doing the algebraic stuff.

This post provides some ideas about manipulable diagrams that students can play with to gain intuition about derivatives. Others are possible. There are many on the Mathematica Demonstrations website. There are others written in Java and other languages, but I don't know of a site that tries to collect them in one place.

My claim that the student will benefit in the long run is not something I can verify, since I no longer teach.

## Present the tangent line conceptually

The tangent line to a curve

• is a straight line that touches the curve at a point on the curve,
• and it goes in the same direction that the curve is going, like the red line in the picture below. (See How to manipulate the diagrams.)

My recommendation is that you let the students bring up some of the fine points.

• The graph of $y=x^3-x$ has places where the tangent line cuts the curve at another point without being parallel to the curve there. Move the slider to find these places.
• The graph of $y=\cos(\pi x)$ has places where the same line is tangent at more than one point on the curve. (This may requre stepping the slider using the incrementers.)
• Instigate a conversation about the tangent line to a given straight line.
• My post Tangents has other demos intended to bother the students.
• Show the unit circle with some tangent lines and make them stare at it until they notice something peculiar.
• "This graph shows the tangent line but how do you calculate it?" You can point out that if you draw the curve carefully and then slide a ruler around it so that it is tangent at the point you are interested in, then you can draw the tangent carefully and measure the rise and run with the ruler. This is a perfectly legitimate way to estimate the value of the slope there.

## Slope of the tangent line conceptually

This diagram shows the slope of the tangent line as height over width.

• Slide the $x$ slider back and forth. The width does not change. The height is measured from the tangent line to the corner, so the height does change; in particular, it changes sign appropriately.
• This shows that the standard formula for the derivative of the curve gives the same value as the calculated slope of the tangent. (If you are careful you can find a place where the last decimal places differ.) You may want to omit the "derivative value" info line, but most students in college calculus already know how to calculate the formulas for the derivative of a polynomial– or you can just tell them what it is in this case and promise to show how to calculate the formula later.
• Changing the width while leaving $x$ fixed does not change the slope of the tangent line (up to roundoff error).
• In fact I could add another parameter that allows you to calculate height over width at other places on the tangent line. But that is probably excessive. (You could do that in a separate demo that shows that basic property that the slope of a straight line does not change depending on where you measure it — that is what a curve being a straight line means.)
• This graph provides a way to estimate the slope, but does not suggest a way to come up with a formula for the slope, in other words, a formula for the derivative.

## Conceptual calculation of the slope

This diagram shows how to calculate the value of the slope at a point using secant lines to approximate the tangent line. If you have a formula for the function, you can calculate the limit of the slope of the secant line and get a formula for the derivative.

• The function $f(x)=x^3-x$.
• The secant points are $(x-h,f(x-h))$ and $(x+h, f(x+h))$. $h$ is called "width" in the diagram.
• Moving $x$ with the slider shows how the tangent line and secant line have similar slopes.
• Moving the width to the left, to $0$ (almost), makes the secant line coincide with the tangent line. So intuitively the limit of the slope of the secant line is the slope of the tangent line.
• The distance between the secant points is the Euclidean distance. (It may be that including this information does not help, so maybe it should be left out.)
• The slope of the secant line is $\frac{f(x+h)-f(x-h)}{(x+h)-(x-h)}$ when $h\neq0$. This simplifies to $3x^2+h^2-1$, so the limit when $h\to0$ is $3x^2-1$, which is therefore a formula for the derivative function.

## Testing intuitive concepts

Most of the work students do when studying derivatives is to solve some word problems (rate of change, maximization) in which the student is expected to come up with an appropriate function $f(x)$ and then know or find out the formula for $f'(x)$ in the process of solving the problem. In other words there is a heavy emphasis on computation and much less on concept.

The student in the past has had to do very few homework problems that test for understanding the concept. Lately some texts do have problems that test the concept, for example:

This is the graph of a function and its derivative. Which one is the function and which is its derivative?

Note that the problem does not give you the formula for the function, nor does it have to.

Many variations are possible, all involving calculating parameters directly from the graph:

• "These are the first and second derivatives of a function. Where (within the bounds of the graph) is the function concave up?"
• "These are the first and second derivatives of a function. Where (within the bounds of the graph) are its maxima and minima?"
• "This straight line is the derivative of a function. Show that the function is a quadratic function and measure the slope of the line in order to estimate some of the coefficients of the quadratic."

### How to manipulate the diagrams

• You can move the sliders back and forth to to move to different points on the curve.
• In the first diagram, you can click on one of the four buttons to see how it works for various curves.
• The arrow at the upper right makes it run automatically in a not very useful sort of way.
• The little plus sign below the arrow opens up some other controls and a box showing the value of $a$, including step by step operation (plus and minus signs).
• If you are using Mathematica, you can enter values into the box, but if you are using CDF Player, you can only manipulate the number using the slider or the plus and minus incrementers.

## Monads for High School III: Algebras

This is a continuation of Monads for high school I and Monads for High School II: Lists. This post covers the concept of algebras for the monad for lists.

To manipulate the demos in this post, you must have Wolfram CDF Player installed on your computer. It is available free from the Wolfram website. The code for the demos is in the Mathematica notebook MonadAlg.nb

# Lists

$\textrm{Lists}(S)$ is the set of all lists of finite length whose entries are elements of $S$.

• $\boxed{2\; 2\; 4}$ is the way I denote the list of length $3$ whose first and second entries are each $2$ and whose third entry is $4$.
• A list with only one entry, such as $\boxed{2}$, is called a singleton list.
• The empty list $\boxed{\phantom{2}}$ has no entries.
• $\textrm{Lists}^*(S)$ is the set of all nonempty lists of finite length whose entries are elements of $S$.
• $\textrm{Lists}(\textrm{Lists}(S))$ is the list whose entries are lists with entries from $S$.
• For example, $\boxed{\boxed{5\; 7}\; \boxed{2\; 12\; 7}}$ and $\boxed{\boxed{5\; 7\; 2\; 12\; 7}}$ are both entries in $\textrm{Lists}^*(\textrm{Lists}^*(\mathbb{Z}))$. The second one is a singleton list!
• $\boxed{\boxed{\phantom{3}}\; \boxed{2}}$ and $\boxed{\boxed{\phantom{3}}}$ are entries in $\textrm{Lists}^*(\textrm{Lists}(\mathbb{Z}))$.
• The empty list $\boxed{\phantom{2}}$ is an entry in $\textrm{Lists}(\mathbb{Z})$, in $\textrm{Lists}(\textrm{Lists}^*(\mathbb{Z}))$ and in $\textrm{Lists}(\textrm{Lists}(\mathbb{Z}))$. If you have stared at this for more than ten minutes, do something else and come back to it later.

The star notation is used widely in math and computing science to imply that you are including everything except some insignificant shrimp of a thing such as the empty list, the empty set, or $0$. For example, $\mathbb{R}^*$ denotes the set of all nonzero real numbers.

More details about lists are in Monads for High School II: Lists.

# Join

The function join (or concatenation) takes two lists and creates a third list. For example, if you join $\boxed{5\; 7}$ to $\boxed{2\; 12\; 7 }$ in that order you get $\boxed{5\; 7\; 2\; 12\; 7}$.

• I will use this notation: join$\boxed{\boxed{5\; 7}\; \boxed{2\; 12\; 7}}=\boxed{5\; 7\; 2\; 12\; 7}$.
• This notation means that I am regarding join as a function that takes a two-element list in $\textrm{Lists}(\textrm{Lists}(S))$ to an element of $\textrm{Lists}(S)$.
• join removes one level of lists
• join is not commutative: join$\boxed{\boxed{2\; 12\; 7}\; \boxed{5\; 7}}=\boxed{2\; 12\; 7\; 5\; 7}$
• Join is associative, and as for any associative binary operation, join is defined on any finite list of lists of elements of $S$. So for example, join$\boxed{\boxed{5\; 7}\; \boxed{2\; 12\; 7}\; \boxed{1}}=\boxed{5\; 7\; 2\; 12\; 7\; 1}$.
• For any single list $\boxed{a\; b\; c}$, join$\boxed{\boxed{a\; b\; c}}=\boxed{a\; b\; c}$. This is required to make the theory work. It is called the oneidentity property.
• If the empty list $\boxed{\phantom{2}}$ occurs in a list of lists, it disappears when join is applied: join $\boxed{\boxed{2\; 3}\; \boxed{\phantom{2}}\; \boxed{4\; 5\; 6}}=\boxed{2\; 3\; 4\; 5\; 6}$.

When you have a list of lists of lists, join can be applied in two different ways, "inside" and "outside" as illustrated in the diagram below. It gives you several different inputs to try out as a way to understand what is happening.

This is the special case of the main diagram for all monads as it applies to the List monad.

As you can see, after doing either of "inside" and "outside", if you then apply join, you get the same list. That list is simply the list of entries in the beginning list (and the two intermediate ones) in the same order, disregarding groupings.

From what I have just written, you must depend on your pattern recognition abilities to learn what inside and outside mean. But both can also be described in words.

• The lists outlined in black are lists of elements of $\mathbb{Z}$. In other words, they are elements of $\textrm{Lists}(\mathbb{Z})$.
• The lists outlined in blue are lists of elements of $\textrm{Lists}(\mathbb{Z})$. In other words, they are list of lists of elements of $\mathbb{Z}$. Those are the kinds of things you can apply join to.
• The leftmost list in the diagram, outlined in green, is a list in $\textrm{Lists}(\textrm{Lists}(\mathbb{Z}))$. This means you can apply join in two different ways:
• Each list boxed in blue is a list of lists of integers (two of the are singletons!) so you can apply join to each of them. This is joining inside first.
• You can apply join directly to the leftmost list, which is a list of lists (of lists, but forget that for the moment), so you can apply join to the blue lists. This is join outside first.

To understand this diagram, staring at the diagram (for most people) uses the visual pattern recognition part of your brain (which uses over a fifth of the energy used by your brain) to understand what inside and outside mean, and then check your understanding by reading the verbal description. Starting by reading the verbal description first does not work as well for most people.

There is a second unitary diagram for all monads:

The two right hand entries are always the same. Again, I am asking you to use your pattern recognition abilities to learn what singleton list and singleton each mean.

The main and unit monad diagrams will be used as axioms to give the general definition of monad. To give those axioms, we also need the concepts of functor and natural transformation, which I will define later after I have finished the monad algebra diagrams for Lists and several other examples.

# Algebras for the List monad

If you have any associative binary operation on a set $S$, its definition can be extended to any nonempty list of elements (see Monads for High School I.)

Plus and Times are like that:

• $(3+2)+4$ and $3+(2+4)$ have the same value $9$, so you can write $3+2+4$ and it means $9$ no matter how you calculate it.
• I will be using the notation Plus$\boxed{3\; 2\; 4}$ instead of $3+2+4$.
• Times is also associative, so for example we can write Times$\boxed{3\; 2\; 4}=24$.
• Like join, we require that these operations satisfy oneidentity, so we know Plus$\boxed{3}=3$ and Times$\boxed{3}=3$.
• When the associative binary operation has an identity element, you can also define its value on the empty list as the identity element: Plus$\boxed{\phantom{3}}=0$ and Times$\boxed{\phantom{3}}=1$. I recommend that you experiment with examples to see why it works.

An algebra for the List monad is a function algop:$\textrm{Lists}(S)\to S$ with certain properties: It must satisfy the Main Monad Algebra Diagram and the Unit Monad Algebra Diagram, discussed below.

## The main monad algebra diagram

### Example using Plus and Times

The following interactive diagram allows you to see what happens with Plus and Times. Afterwards, I will give the general definition.

Plus insides replaces each inside list with the result of applying Plus to it, and the other operation Join is the same operation I have used before.

### Another example

The main monad algebra diagram requires that if you have a list of lists of numbers such as the one below, you can add up each list (Plus insides) and then add up the list of totals (top list in diagram), you must get the same answer that you get when you join all the lists of numbers together into one list (bottom list in the diagram) and then add up that list.

This is illustrated by this special case of the main monad algebra diagram for Plus:

### General statement of the main monad algebra diagram

Suppose we have any function $\blacksquare$ $:\textrm{Lists}(S)\to S$ for any set $S$.
If we want to give the main monad algebra diagram for $\blacksquare$ we have a problem. We know for example that Plus$\boxed{1\; 2}=3$. But for some elements $a$ and $b$ of $S$, we don’t know what $\blacksquare\boxed{a\; b}$ is. One way to write it is simply to write $\blacksquare\boxed{a\; b}$ (the usual way we write a function). Or we could use tree notation and write

.

I will use tree notation mostly, but it is a good exercise to redraw the diagrams with functional notation.

### Main monad diagram in prose

Below is a presentation of the general main monad algebra diagram using (gasp!) English phrases to describe the nodes.

## The unit monad algebra diagram

Suppose $\blacksquare$ is any function from $\textrm{Lists}(S)$ to $S$ for any set $S$. Then the diagram is

This says that if you apply $\blacksquare$ to a singleton you get the unique entry of the singleton. This is not surprising: I defined above what it means when you apply an operation to a singleton just so this would happen!

## A particular example

These are specific examples of the general main monad algebra diagram for an arbitrary operation $\blacksquare$:

These examples show that if $\blacksquare$ is any function from $\textrm{Lists}(S)$ to $S$ for any set $S$, then

equals

and

equals

Well, according to some ancient Greek guy, that means

equals

which says that

is an associative binary operation!

# The mother of all associative operations

We also know that any associative binary $\blacksquare$ on any set $S$ can be extended to a function on all finite nonempty lists of elements of $S$. This is the general associative law and was discussed (without using that name) in Monads fo High School I.

Let’s put what we’ve done together into one statement:

Every associative binary operation $\blacksquare$ on a set $S$ can be extended uniquely to a function $\blacksquare:\textrm{Lists}^*(S)\to S$ that satisfies both the main monad algebra diagram and the unit monad algebra diagram. Furthermore, any function $\blacksquare:\textrm{Lists}^*(S)\to S$ that satisfies both the main monad algebra diagram and the unit monad algebra diagram is an asssociative binary operation when applied to lists of length $2$ of elements of $S$.

That is why I claim that the NonemptyList monad is the mother of all associative binary operations.

I have not proved this, but the work in this and preceding posts provide (I think) a good intuitive understanding of this fundamental relationship between lists and associative binary operations.

# Things to do in upcoming posts

• I have to give a proper definition of monads using the concepts of functor and natural transformation. I expect to do this just for set functors, not mentioning categories.
• Every type of binary operation that is defined by equations corresponds to a monad which is the mother of all binary operations of that type. I will give examples, but not prove the general case.

• Associative binary operations on $S$ with identity element (monoids) corresponds to all lists, including the empty list, with entries from $S$.
• Commutative, associative and idempotent binary operations, like and and or in Boolean algebra, correspond to the set monad: $\text{Sets}(S)$ is the set of all finite and countably infinite sets of elements of $S$. (You can change the cardinality restrictions, but you have to have some cardinality restrictions.) Join is simply union.
• Commutative and associative binary operations corresponds to the multiset monad (with a proper definition of join) and appropriate cardinality restrictions. You have to fuss about identity elements here, too.
• Various kinds of nonassociative operations get much more complicated, involving tree structures with equivalence relations on them. I expect to work out a few of them.
• There are lots of monads in computing science that you never heard of (unless you are a computing scientist). I will mention a few of them.

• Every type of binary operation defined by equations corresponds to a monad. But some of them are unsolvable, meaning you cannot describe the monad precisely.

There will probably be long delay before I get back to this project. There are too many other things I want to do!

## Explaining math

To manipulate the demos in this post, you must have Wolfram CDF Player installed on your computer. It is available free from the Wolfram website. The source for the demos is the Mathematica notebook SolvEq.nb.

This post explains some basic distinctions that need to be made about the process of writing and explaining math.  Everyone who teaches math knows subconsciously what is happening here; I am trying to raise your consciousness.  For simplicity, I have chosen a technique used in elementary algebra, but much of what I suggest also applies to more abstract college level math.

## An algebra problem

Solve the equation "$ax=b$" ($a\neq0$).

Understanding the statement of this problem requires a lot of Secret Knowledge (the language of ninth grade algebra) that most people don't have.

• The expression "$ax$" means that $a$ and $x$ are numbers and $ax$ is their product. It is not the word "ax". You have to know that writing two symbols next to each other means multiply them, except when it doesn't mean multiply them as in "$\sin\,x$".

• The whole expression "$ax=b$" ostensibly says that the number $ax$ is the same number as $b$.  In fact, it means more than that. The phrase "solve the equation" tells you that in fact you are supposed to find the value of $x$ that makes $ax$ the same number as $b$.

• How do you know that "solve the equation" doesn't mean find the value of $a$ that makes $ax$ the same number as $b$? Answer: The word "solve" triggers a convention that $x$, $y$ and $z$ are numbers you are trying to find and $a$, $b$, $c$ stand for numbers that you are allowed to plug in to the equation.

• The conventions of symbolic math require that you give a solution for any nonzero value of $a$ and any value of $b$.  You specifically are not allowed to pick $a=1$ and $b=33$ and find the value just for those numbers.  (Some college calculus students do this with problems involving literal coefficients.)

• The little thingy "$(a\neq0)$" must be read as a constraint on $a$.  It does not mean that $a\neq0$ is a fact that you ought to know. ( I've seen college math students make this mistake, admittedly in more complex situations). Nor does it mean that you can't solve the problem if $a=0$ (you can if $b$ is also zero!).

So understanding what this problem asks, as given, requires (fairly sophisticated in some cases) pattern recognition both to understand the symbolic language it uses, and also to understand the special conventions of the mathematical English that it uses.

### Explicit descriptions

This problem could be reworded so that it gives an explicit description of the problem, not requiring pattern recognition.  (Warning: "Not requiring pattern recognition" is a fuzzy concept.)  Something like this:

You have two numbers $a$ and $b$.  Find a number $c$ for which if you multiply $a$ by $c$ you get $b$.

This version is not completely explicit.  It still requires understanding the idea of referring to a number by a letter, and it still requires pattern recognition to catch on that the two occurrences of each letter means that their meanings have to match. Also, I know from experience that some American first year college students have trouble with the syntax of the sentence ("for which…", "if…").

The following version is more explicit, but it cheats by creating an ad hoc way to distinguish the numbers.

Alice and Bob each give you a number.  How do you find a number with the property that Alice's number times your number is equal to Bob's number?

If the problem had a couple more variables it would be so difficult to understand in an explicit form that most people would have to draw a picture of the relationships between them.  That is why algebraic notation was invented.

### Visual descriptions

Algebra is a difficult foreign language.  Showing the problem visually makes it easier to understand for most people. Our brain's visual processing unit is the most powerful tool the brain has to understand things.  There are various ways to do this.

Visualization can help someone understand algebraic notation better.

You can state the problem by producing examples such as

• $\boxed{3}\times\boxed{\text{??}}=\boxed{6}$
• $\boxed{5}\times\boxed{\text{??}}=\boxed{2}$
• $\boxed{42}\times\boxed{\text{??}}=\boxed{24}$

where the reader has to know the multiplication symbol and, one hopes, will recognize "$\boxed{\text{??}}$" as "What's the value?". But the reader does not have to understand what it means to use letters for numbers, or that "$x$ means you are suppose to discover what it is".  This way of writing an algebra problem is used in some software aimed at K-12 students.  Some of them use a blank box instead of "$\boxed{\text{??}}$".

Such software often shows the algorithm for solving the problem visually, using algebraic notation like this:

I have put in some buttons to show numbers as well as $a$ and $b$.  If you have access to Mathematica instead of just to CDF player, you can load SolvEq.nb and put in any numbers you want, but CDF's don't allow input data.

You can also illustrate the algorithm using the tree notation for algebra I used in Monads for high school I  (and other posts). The demo below shows how to depict the value-preserving transformation given by the algorithm.  (In this case the value is the truth since the root operation is equals.)

This demo is not as visually satisfactory as the one illustrating the use of the associative law in Monads for high school I.  For one thing, I had to cheat by reversing the placement of $a$ and $x$.  Note that I put labels for the numerator and denominator legs, a practice I have been using in demos for a while for noncommutative operations.  I await a new inspiration for a better presentation of this and other equation-solving algorithms.

Another advantage of using pictures is that you can often avoid having to code things as letters which then has to be remembered.  In Monads for high school I, I used drawings of the four functions from a two-element set to itself instead of assigning them letters.  Even mnemonic letters such as $s$ for "switch" and $\text{id}$ for the identity element carry a burden that the picture dispenses with.

## Naming mathematical objects

### Commonword names confuse

Many technical words and phrases in math are ordinary English words ("commonwords") that are assigned a different and precisely defined mathematical meaning.

• Group  This sounds to the "layman" as if it ought to mean the same things as "set".  You get no clue from the name that it involves a binary operation with certain properties.
• Formula  In some texts on logic, a formula is a precisely defined expression that becomes a true-or-false sentence (in the semantics) when all its variables are instantiated.  So $(\forall x)(x>0)$ is a formula.  The word "formula" in ordinary English makes you think of things like "$\textrm{H}_2\textrm{O}$", which has no semantics that makes it true or false — it is a symbolic expression for a name.
• Simple group This has a technical meaning: a group with no nontrivial normal subgroup.  The Monster Group is "simple".  Yes, the technical meaning is motivated by the usual concept of "simple", but to say the Monster Group is simple causes cognitive dissonance.

Beginning students come with the (generally subconscious) expectation that they will pick up clues about the meanings of words from connotations they are already familiar with, plus things the teacher says using those words.  They think in terms of refining an understanding they already have.  This is more or less what happens in most non-math classes.  They need to be taught what definition means to a mathematician.

### Names that don't confuse but may intimidate

Other technical names in math don't cause the problems that commonwords cause.

Named after somebody The phrase "Hausdorff space" leads a math student to understand that it has a technical meaning.  They may not even know it is named after a person, but it screams "geek word" and "you don't know what it means".  That is a signal that you can find out what it means.  You don't assume you know its meaning.

New made-up words  Words such as "affine", "gerbe"  and "logarithm" are made up of words from other languages and don't have an ordinary English meaning.  Acronyms such as "QED", "RSA" and "FOIL" don't occur often.  I don't know of any math objects other than "RSA algorithm" that have an acronymic name.  (No doubt I will think of one the minute I click the Publish button.)  Whole-cloth words such as "googol" are also rare.  All these sorts of words would be good to name new things since they do not fool the readers into thinking they know what the words mean.

Both types of words avoid fooling the student into thinking they know what the words mean, but some students are intimidated by the use of words they haven't seen before.  They seem to come to class ready to be snowed.  A minority of my students over my 35 years of teaching were like that, but that attitude was a real problem for them.

## Audience

You can write for several different audiences.

Math fans (non-mathematicians who are interested in math and read books about it occasionally) In my posts Explaining higher math to beginners and in Renaming technical conceptsI wrote about several books aimed at explaining some fairly deep math to interested people who are not mathematicians.  They renamed some things. For example, Mark Ronan in Symmetry and the Monster used the phrase "atom" for "simple group" presumably to get around the cognitive dissonance.  There are other examples in my posts.

Math newbies  (math majors and other students who want to understand some aspect of mathematics).  These are the people abstractmath.org is aimed at. For such an audience you generally don't want to rename mathematical objects. In fact, you need to give them a glossary to explain the words and phrases used by people in the subject area.

Postsecondary math students These people, especially the math majors, have many tasks:

• Gain an intuitive understanding of the subject matter.
• Understand in practice the logical role of definitions.
• Learn how to come up with proofs.
• Understand the ins and outs of mathematical English, particularly the presence of ordinary English words with technical definitions.
• Understand and master the appropriate parts of the symbolic language of math — not just what the symbols mean but how to tell a statement from a symbolic name.

It is appropriate for books for math fans and math newbies to try to give an understanding of concepts without necessary proving theorems.  That is the aim of much of my work, which has more an emphasis on newbies than on fans. But math majors need as well the traditional emphasis on theorem and proof and clear correct explanations.

Lately, books such as Visual Group Theory have addressed beginning math majors, trying for much more effective ways to help the students develop good intuition, as well as getting into proofs and rigor. Visual Group Theory uses standard terminology.  You can contrast it with Symmetry and the Monster and The Mystery of the Prime Numbers (read the excellent reviews on Amazon) which are clearly aimed at math fans and use nonstandard terminology.

## Terminology for algebraic structures

I have been thinking about the section of Abstracting Algebra on binary operations.  Notice this terminology:

## The "standard names" are those in Wikipedia.  They give little clue to the meaning, but at least most of them, except "magma" and "group", sound technical, cluing the reader in to the fact that they'd better learn the definition.

I came up with the names in the right column in an attempt to make some sense out of them.  The design is somewhat like the names of some chemical compounds.  This would be appropriate for a text aimed at math fans, but for them you probably wouldn't want to get into such an exhaustive list.

I wrote various pieces meant to be part of Abstracting Algebra using the terminology on the right, but thought better of it. I realized that I have been vacillating between thinking of AbAl as for math fans and thinking of it as for newbies. I guess I am plunking for newbies.

I will call groups groups, but for the other structures I will use the phrases in the middle column.  Since the book is for newbies I will include a table like the one above.  I also expect to use tree notation as I did in Visual Algebra II, and other graphical devices and interactive diagrams.

### Magmas

In the sixties magmas were called groupoids or monoids, both of which now mean something else.  I was really irritated when the word "magma" started showing up all over Wikipedia. It was the name given by Bourbaki, but it is a bad name because it means something else that is irrelevant.  A magma is just any binary operation. Why not just call it that?

Well, I will tell you why, based on my experience in Ancient Times (the sixties and seventies) in math. (I started as an assistant professor at Western Reserve University in 1965). In those days people made a distinction between a binary operation and a "set with a binary operation on it".  Nowadays, the concept of function carries with it an implied domain and codomain.  So a binary operation is a function $m:S\times S\to S$.  Thinking of a binary operation this way was just beginning to appear in the common mathematical culture in the late 60's, and at least one person remarked to me: "I really like this new idea of thinking of 'plus' and 'times' as functions."  I was startled and thought (but did not say), "Well of course it is a function".  But then, in the late sixties I was being indoctrinated/perverted into category theory by the likes of John Isbell and Peter Hilton, both of whom were briefly at Case Western Reserve University.  (Also Paul Dedecker, who gave me a glimpse of Grothendieck's ideas).

Now, the idea that a binary operation is a function comes with the fact that it has a domain and a codomain, and specifically that the domain is the Cartesian square of the codomain.  People who didn't think that a binary operation was a function had to introduce the idea of the universe (universal algebraists) or the underlying set (category theorists): you had to specify it separately and introduce terminology such as $(S,\times)$ to denote the structure.   Wikipedia still does it mostly this way, and I am not about to start a revolution to get it to change its ways.

### Groups

In the olden days, people thought of groups in this way:

• A group is a set $G$ with a binary operation denoted by juxtaposition that is closed on $G$, meaning that if $a$ and $b$ are any elements of $G$, then $ab$ is in $G$.
• The operation is associative, meaning that if $a,\ b,\ c\in G$, then $(ab)c=a(bc)$.
• The operation has a unity element, meaning an element $e$ for which for any element $a\in G$, $ae=ea=a$.
• For each element $a\in G$, there is an element $b$ for which $ab=ba=e$.

This is a better way to describe a group:

• A group consist of a nullary operation e, a unary operation inv,  and a binary operation denoted by juxtaposition, all with the same codomain $G$. (A nullary operation is a map from a singleton set to a set and a unary operation is a map from a set to itself.)
• The value of e is denoted by $e$ and the value of inv$(a)$ is denoted by $a^{-1}$.
• These operations are subject to the following equations, true for all $a,\ b,\ c\in G$:

• $ae=ea=a$.
• $aa^{-1}=a^{-1}a=e$.
• $(ab)c=a(bc)$.

This definition makes it clear that a group is a structure consisting of a set and three operations whose axioms are all equations.  It was formulated by people in universal algebra but you still see the older form in texts.

The old form is not wrong, it is merely inelegant.  With the old form, you have to prove the unity and inverses are unique before you can introduce notation, and more important, by making it clear that groups satisfy equational logic you get a lot of theorems for free: you construct products on the cartesian power of the underlying set, quotients by congruence relations, and other things. (Of course, in AbAl those theorem will be stated later than when groups are defined because the book is for newbies and you want lots of examples before theorems.)

## References

1. Three kinds of mathematical thinkers (G&G post)
2. Technical meanings clash with everyday meanings (G&G post)
3. Commonword names for technical concepts (G&G post)
4. Renaming technical concepts (G&G post)
5. Explaining higher math to beginners (G&G post)
6. Visual Algebra II (G&G post)
7. Monads for high school II: Lists (G&G post)
8. The mystery of the prime numbers: a review (G&G post)
9. Hersh, R. (1997a), "Math lingo vs. plain English: Double entendre". American Mathematical Monthly, volume 104, pages 48–51.
10. Names (in abmath)
11. Cognitive dissonance (in abmath)

## Monads for high school II: Lists

To manipulate the demos in this post, you must have Wolfram CDF Player installed on your computer. It is available free from the Wolfram website. The code for the demos is in the Mathematica notebook Monad.nb.

## Introduction

This is the second part of a series of posts describing how I will lead up to introducing monads in my proposed e-book Abstracting Algebra (AbAl). It follows Monads for high school I. Comments in red are meta and mostly will not be included in the book.

## Lists

A list is a specific kind of mathematical object. This is a reasonable specification for lists:

A list of length $n$ determines and is determined by what its first, second, $\ldots$, $n$th entries are.

In this post, lists will always be finite in length.

For doing rigorous proofs you need a precise definition of a list, such as a function from $\{1,2,…,n\}$ to a set, or a recursive definition.  This book is not about proofs.

### Terminology and representation

The most common way in the symbolic language of math to represent a finite list is to use a comma-delimited expression in parentheses.  For example, $(4,4,2,8)$ is the list of length 4 whose first and second entries are both $4$, third entry $2$ and fourth entry $8$.

• The order matters and repetitions are allowed. For example, $(4,4,2,8)$, $(4,2,8)$ and $(4,2,4,8)$ are all different lists.
• Other words for lists are (finite) sequenceword, tuple and string.
• Many mathematicians would call $(4,4,2,8)$ an $4$-tuple.
• My Discrete math classnotes discusses the specification and the definition of lists called tuples there) at length on pages 50ff. This section of AbAl will incorporate some of the information there.
• Some computer languages represent our list without the commas: $(4\,\,4\,\,2\,\,8)$.
• Mathematica represents it this way: $\{4,4,2,8\}$.  This conflicts with the usual set notation, where the order does not matter and where repetitions are ignored  – the set $\{4,4,2,8\}$ has three elements.  But if you type Length[$\{4,4,2,8\}$] in Mathematica, you get the answer 4.
• A list of characters (alphabetical, numerical, or other symbols) can be represented  by writing the characters down in order without spaces between them.  For example $(a,a,c,d)$ would be written "aacd".  This representation is referred to as a string or as a word in computing science.  The string "4428" is the base-10 representation of the integer $4,428$.  Of course, it is also the hexadecimal representation of the integer $17,448$.
• In the text, I will mostly use a cartouche representation: for example, $\boxed{1\ 2\ 3\ 4}$ is the list consisting of the first four positive integers in order.
• The cartouche is more in-your-face than the other representations I've listed and as far as I know is not used to mean anything else.  I'm not sure I can give any better explanation for why I prefer it than that.  Math is supposed to be explicit and precisely defined and justified by clear reasoning, but after all deciding which representation to use is not math, it is art.

### Lists with entries from a given set

If $S$ is any set, finite or infinite, $\textrm{Lists}(S)$ denotes the set of all lists of finite length whose entries come from $S$.  Thus the set $\textrm{Lists}(\{1,\ 2,\ 3\})$ contains:

• $\boxed{2\ 2\ 4\ 2\ 2\ 1}$,
• $\boxed{3\ 3\ 3\ 3}$,
• the list of length $42$ whose first entry is $3$ and every other entry is $1$,
• the empty list $\boxed{\vphantom{n}}$,
• the singleton lists $\boxed{1}$,  $\boxed{2}$ and  $\boxed{3}$, and
• an infinite number of other lists,
• but the list $\boxed{4\ 2\ 3}$ is not an element of $\textrm{Lists}(\{1,\ 2,\ 3\})$.

$\textrm{Lists}$ is a function from sets to sets.  Its input is any set and its output is the set of all finitely-long lists whose entries are from the input set. We will also use the similar function $\textrm{Lists}^+$ which takes a set to the set of nonempty lists with entries from the set.

### Associativity

(Review from Monads for high school I.)  If a binary operation is associative, then the operation is defined on any (finite) list of inputs in its underlying set.  For example, the sum of the list $\boxed{4\ 4\ 2\ 8}$  is 18.  It follows from associativity that you can add it up as $(4+4)+(2+8)$, $4+(4+(2+8))$, $4+((4+2)+8)$, $(4+(4+2))+8$ or as $((4+4)+2)+8$.  They all give the same answer. In other words, Plus is in fact an operation on lists of numbers.  It is customary to extend associative binary operations to lists of length $0$ and $1$ by setting the value at the empty list to be the identity element of the operation, and the value at a one element list to be its only entry.  Thus Plus($\boxed{4\ 4\ 2\ 8}$)$=18$, Plus($\boxed{\ \vphantom{0} }$)$=0$, Times($\boxed{\ \vphantom{0} }$)$=1$ and Plus($\boxed{3 }$)$=3$.

## Operations defined on finite lists

### You can join two lists together in order to make one list.

The order matters.  If you join $\boxed{5\ 7}$ to $\boxed{2\ 12\ 7 }$ in that order you get $\boxed{5\ 7\ 2\ 12\ 7}$.

Join is in fact an associative binary operation on lists.  Example:

This means we can define an operation on lists of lists that joins all the lists inside together to make one list.

Notice the blue rectangle disappears when you do the operation. What I have defined here is a function that has a list of lists as input and a list of numbers as output.

The operation of joining lists to get a single list has a property shown by the drawing below (which will be interactive when I work on it some more).  Start on the left with a list of lists of lists.  The border colors distinguish the innermost lists, bordered in black, from the second level lists, in blue, and the outside list, bordered in green.

• There is only one outside list: It is a list of (blue) lists.  That is the kind of list you can apply join to, so when you do you get a single blue list with five lists inside it (on the bottom of the diagram). "Join outside first" means "apply join to the outside list first".
• The single blue list on the bottom is again the kind of list you can apply join to, and when you do you get the lower list on the right end of the diagram.
• However, the green list also contains two lists each of which is a list of lists that you can apply join to.  Apply it to both of them and you get the list at the top of the diagram.
• Again, that list is the kind you can apply join to and when you do you get the upper list on the right.

The two lists on the right are the same.  That always happens, whatever lists you start with.  (Try it with others, and include some singleton and empty lists while you are at it.)

You might not have thought of this property, and now that you see it, it may look like some sort of second-rate phenom to take note of.  Or not.  But in fact, it turns out that it means that our modest function  $\textrm{Lists}^+$, that takes a set to the nonempty set of lists of its elements is a monad.  (So is $\textrm{Lists}$.) In order to say this we must define some other concepts: functor and natural transformation, and we have to verify a number of other properties of the $\textrm{List}^+$ function:  It is not just a function, it is a functor on the category of sets, the join function is a natural transformation, and some other technicalities.

Once we do that, we can define what the algebras of the join monad are, and it turns out that they are exactly all the associative binary operations.

In other words:

The binary operation of join on nonempty lists is the mother of all associative binary operations.

But that will have to wait for the next post.

## Monads for high school I

### Notes for viewing

To manipulate the demos in this post, you must have Wolfram CDF Player installed on your computer. It is available free from the Wolfram website. The source for the demos is at associative.nb.

I've been working on first drafts (topic posts) of several sections of my proposed book Abstracting algebra (AbAl), concentrating on the ideas leading up to monads.  This is going slowly because I want the book to be full of illustrations and interactive demos.  I am writing the demos in Mathematica simultaneously with writing the text, and designing demos is very s l o w work. It occurred to me that I should write an outline of the path leading up to monads, using some of the demos I have already produced. This is the first of probably two posts about the thread.

• AbAl is intended to give people with a solid high school math background a mental picture of or way of thinking about the various levels of abstraction of high school algebra.
• This outline is not a "Topic post" as described in the AbAl page. In particular, it is not aimed at high school students! It is a guided tour of my current thoughts about a particular thread through the book.
• The AbAl page has a brief outline of the topics to be covered in the whole book.  Perhaps it should also have a list of threads like this post.

## Associativity

AbAl will have sections introducing functions and binary operations using pictures and demos (not outlined in this thread).  The section on binary operations will introduce infix, prefix and postfix notation but will use trees (illustrated below) as the main display method.  Then it will introduce associativity, using demos such as this one:

Using this computingscienceish tree notation makes it much easier to visualize what is happening (see Visible Algebra II), compared to, for example, $(ab)(cd)=a(b(cd))=a((bc)d)=((ab)c)d=(a(bc))d$  In this equation, the abstract structure is hidden.  You have to visualize doing the operation starting with the innermost parentheses and moving out.  With the trees you can see the computation going up the tree.

I will give examples of associative functions that are not commutative using $2\times2$ matrices and endofunctions on finite sets such as the one below, which gives all the functions from a two element set to itself.

• Note that each function is shown by a diagram, not by an arbitrary name such as "id" or "sw", which would add a burden to the memory for an example that occurs in one place in the book. (See structural notation in the Handbook.)
• The section on composition of functions will also look in some depth at permutations of a three-element set, anticipating a section on groups.

By introducing a mechanism for transforming trees of associative binary operations, you can demonstrate (as in the demo below) that any associative binary operation is defined on any list of two or more elements of its domain.

For example, applying addition to three numbers $a$, $b$ and $c$ is uniquely defined. This sort of demo gives an understanding of why you get that unique definition but it is not a proof, which requires formal induction. AbAl is not concerned with showing the reader how to prove math statements.

In this section I will also introduce the oneidentity concept: the value of an associative binary operation on a an element $a$ is $a$.  Thus applying addition or multiplication to $a$ gives $a$.  (The reason for this is that you want an associative binary operation to be a unique quotient of the free associative binary operation.  That will come up after we talk about some examples of monads.)

The oneidentity property also implies that for an associative binary operation with identity element, applying the operation to the empty set gives the identity element.  Now we can say:

An associative binary operation with identity element is uniquely defined on any finite list of elements of its domain.

Thus, in prefix notation,$+(2,3)=5$, $+(2,3,5)=10$, $+(2)=2$ and $+()=0$.  Similarly $\times(2)=2$ and $\times()=1$.

This fact suggests that the natural definition of addition, multiplication, and other associative binary operations is as functions from lists of elements of the domain to elements of the domain.   This fits with our early intuition of addition from grade school, not to mention from Excel:  Addition is something you do to lists.  That feeling (for me) is not so strong for multiplication; for many common business applications you generally multiply two things like price and number sold. That's because multiplication is usually for things of different data types, but you usually add things of the same data type (not apples and oranges?).

That raises the question: Does every function taking lists to elements come from an associative binary operation?  I will give an example that says no.  But the next thing is to introduce joining lists (concatenation), where we discover that joining lists is an associative binary operation.  So it is really an operation on lists of lists.  This will turn out to give us a systematic way to define all associative binary operations by one mechanism, because it is an example of a monad.  That is for the second installment of this outline.

## Modules for mathematical objects

A recent article in Scientific American mentions discusses the idea that concepts are represented in the brain by clumps of neurons.  Other neuroscientists have proposed that each concept is distributed among millions of neurons, or that each concept corresponds to one neuron.

I have written many posts about the idea that:

• Each mathematical concept is embodied in some kind of module in the brain.
• This idea is a useful metaphor for understanding how we think about mathematical objects.
• You don't have to know the details of the method of storage for this metaphor to be useful.
• The metaphor clears up a number of paradoxes and conundrums that have agitated philosophers of math.

The SA article inspired me to write about just how such a module may work in some specific cases.

## Integers

Mathematicians normally thinks of a particular integer, say $42$, as some kind of abstract object, and the decimal representation "42" as a representation of the integer, along with XLII and 2A$_{16}$.  You can visualize the physical process like this:

• The mathematician has a module Int (clump of neurons or whatever) that represents integers, and a module FT that represents the particular integer $42$.
• There is some kind of asymmetric three-way connection from FT to Int and a module EO (for "element of" or "IS_A").
• That the connection is "asymmetric" means that the three modules play different roles in the connection, meaning something like "$42$ IS_A Integer"
• The connection is a physical connection, not a sentence, and when  FT is alerted ("fired"?), Int and EO are both alerted as well.
• That means that if someone asks the mathematician, "Is $42$ an integer?", they answer immediately without having to think about it — it is a random access concept like (for many people) knowing that September has 30 days.
• The module for $42$ has many other connections to other modules in the brain, and these connections vary among mathematicians.

The preceding description gives no details about how the modules and interconnections are physically processed.  Neuroscientists probably would have lots of ideas about this (with no doubt considerable variation) and would criticize what I wrote as misrepresenting the physical details in some ways.  But the physical details are their job, not mine.  What I claim is that this way of thinking makes it plausible to view abstract objects and their properties and relationships as physical objects in the brain.  You don't have to know the details any more than you have to know the details of how a rainbow works to see it (but you know that a rainbow is a physical phenomenon).

This way of thinking provides a metaphor for thinking about math objects, a metaphor that is plausibly related to what happens in the real world.

### Students

A student may have a rather different representation of $42$ in the brain.  For one thing, their module for $42$ may not distinguish the symbol "42" from the number $42$, which is an abstract object.   As a result they ask questions such as, "Is $42$ composite in hexadecimal?"  This phenomenon reveals a complicated situation.

• People think they are talking about the same thing when in fact their internal modules for that thing may be very differently connected to other concepts in their brain.
• Mathematicians generally share many more similarities in their modules for $42$ than people in general do.  When they differ, the differences may be of the sort that one of them is a number theorist, so knows more about $42$ (for example, that it is a Catalan number) than another mathematician does.  Or has read The Hitchhiker's Guide to the Galaxy.
• Mathematicians also share a stance that there are right and wrong beliefs about mathematical objects, and that there is a received method for distinguishing correct from erroneous statements about a particular kind of object. (I am not saying the method always gives an answer!).
• Of course, this stance constitutes a module in the brain.
• Some philosophers of education believe that this stance is erroneous, that the truth or falsity of statements are merely a matter of social acceptance.
• In fact, the statements in purple are true of nearly all mathematicians.
• The fact that the truth or falsity of statements is merely a matter of social acceptance is also true, but the word "merely" is misleading.
• The fact is that overwhelming evidence provided by experience shows that the "received method" (proof) for determining the truth of math statements works well and can be depended on. Teachers need to convince their students of this by examples rather that imposing the received method as an authority figure.

### Real numbers

A mathematician thinks of a real number as having a decimal representation.

• The representation is an infinitely long list of decimal digits, together with a location for the decimal point. (Ignoring conventions about infinite strings of zeroes.)
• There is a metaphor that you can go along the list from left to right and when you do you get a better approximation of the "value" of the real number. (The "value" is typically thought of in terms of the metaphor of a point on the real line.)
• Mathematicians nevertheless think of the entries in the decimal expansion of a real number as already in existence, even though you may not be able to say what they all are.
• There is no contradiction between the points of view expressed in the last two bullets.
• Students frequently do not believe that the decimal entries are "already there".  As a result they may argue fiercely that $.999\ldots$ cannot possibly be the same number as $1$.  (The Wikipedia article on this topic has to be one of the most thoroughly reworked math articles in the encyclopedia.)

All these facts correspond to modules in mathematicians' and students' brains.  There are modules for real number, metaphor, infinite list, decimal digit, decimal expansion, and so on.  This does not mean that the module has a separate link to each one of the digits in the decimal expansion.  The idea that there is an entry at every one of the infinite number of locations is itself a module, and no one has ever discovered a contradiction resulting from holding that belief.

## References

• Brain cells for Grandmother, by Rodrigo Quian Quiroga, Itzhak Fried and Christof Koch.  Scientific American, February 2013, pages 31ff.

### Notes on Viewing

This post uses MathJax. If you see mathematical expressions with dollar signs around them, or badly formatted formulas, try refreshing the screen. Sometimes you have to do it two or three times.

## Abstracting algebra

This post has been turned into a page on WordPress, accessible in the upper right corner of the screen.  The page will be referred to by all topic posts for Abstracting Algebra.

## Election systems

This post begins a new thread in Gyre&Gimble: Election systems.  In 1968 I created a game called Parlement and ran a few games by mail before being absorbed by family and career.  In it you ran a political party in a parliament in the style of many European countries: The parliament forms a government, votes on bills & budgets, then an election is held where each party runs on its record.

My interest in election systems has continued sporadically since them.  Since the nineties I have been programming in Mathematica and made stabs at implementing various systems for achieving proportionality. Now I expect to devote several posts to Mathematica demos of election and apportionment systems.

## Proportional representation

An elected body is chosen by a list method of proportional representation this way:

• The election is by districts, each electing several members.  In most cases the number of seats each district has in the body is fixed ahead of the election.
• Each voter votes for a party list.
• The proportion of the integer number of representatives that party will have out of the total number of seats alloted to the district is chosen to be near to the proportion of votes the party list receives out of the total votes.
• The method for choosing the number of seats for the party can be any one of many methods proposed in the past 200 or so years.  Only a few methods are actually used in practice.
• Once the number of members for the party is determined, that many persons on the list are chosen according to some method.  There are quite a few different methods used for this.  I will not write about this aspect at all.

This post looks at the method of equal proportions. This method may also be used to apportion the legislature of countries such as the USA that has states or provinces so that each state has a suitably proportionate number of seats.  For most of the history of the USA, that method has been the method of equal proportions, but in the early days other methods were used.

My impression is that the equal proportion method is the most common method used in legislatures elected by the list system, and is also the most common method used for apportioning legislative seats among states or provinces.  There is much information about these things scattered over many articles in Wikipedia, and a close study may prove me wrong about this.

Note: The summary above is oversimplified and leaves out many details.  The references list more details than most people would ever want to know.

## The equal proportions method

Several sites listed in the references describe the equal proportions method in detail.  The method for calculation used in the demo (there are others) works this way:

• Create a list $V$ of weights indexed by the party number.
• For proportional representation for parties, each party starts with $0$ seats and  $V_p$ is initially the number of votes party $p$ has for the district.
• For state representation, each state starts with $1$ seat and the the initial $V_s$ is the number of votes state $s$ receives divided by $\sqrt{2}$.
• Suppose $S$ seats are to be assigned .
• Assign the first one to the party $m$ for which $V_m$ is the maximum of the list $V$.  (In the case of states, this is the first seat after the initial one.)
• Change the list by setting $V_m:=\frac{V_m}{\sqrt{2}}$ ($V_m:=\frac{V_m}{\sqrt{6}}$ in the case of states).
• At the $k$th step, if $n$ is the party for which $V_n$ is the max of the list $V$ in its current state, assign the $k+1$st seat to party $n$ and set $V_n:= \frac{V_n}{\sqrt{u(u+1)}}$ (the geometric mean), where $u$ is the number of seats party $n$ had before the new one was assigned.
• Stop which $k=S$.

## Interactive demos of the method of equal proportions

To manipulate these demos, click on "Enable Dynamics".  At present the demo has a bug that makes the table pink (Mathematica's way of giving an error message). Move any slider and the pink will disappear forever.  The demos are also available on my website: PartySimple.cdf and PartyComparison.cdf.  If you download them onto a machine with CDF player installed and run them the pink table does not happen.  I can't imagine what could cause an error like that only when run embedded in html.

Both demos have the same controls.

• Five sliders labeled n1 through n5 control the number of votes they get in the election.
• The bottom slider controls the number of seats that district gets to elect.
• By moving a slider you control the information it represents.
• By clicking on the plus sign to the right of the slider, you toggle a list of controls below it.  The party vote sliders begin with the controls invisible and the seats slider begins with them visible.

### How the EP method works

The demo below assumes that five parties, numbered 1 through 5, are running to get seats in the elected body.  You may change the votes (Column Votes) received by any party, and also the total number of representatives to be chosen (Seats).

#### Data

• Seats is the total number of representatives assigned to the elected body. It can be changed using the Seats slider.
• Quota is Total votes divided by Seats.  Some systems use slight variations on this quota.
• The Name of the party is given just as a number.  In a suitably fancy demo you might give each party a real name.
• Votes is the number of votes the party receives in the election, controlled by the relevant slider.
• SeatsAsgd  is the number of seats the equal proportions method assigns to that party.
• Weight: This number is $\frac{\text{Votes}}{\sqrt{\text{SeatsAsgd}\times(\text{SeatsAsgd}+1)}}$

#### Playing with the demo

• Start with any settings for the sliders, and press the $+$ button underneath the seat slider. This allots one more seat to the representatives.
• You will see that the party with the largest weight gets the new seat.  That is how the method works: The algorithm starts with no seats and adds one at a time until the correct number of seats is reached.
• The weight is a function of the number of seats allotted to the party.
• Try changing the Votes for a single party, letting the total number of seats remain the same.  Which parts of the data get changed by doing this?  Do you understand why?
• Try changing the votes for all the parties, so that one has most of the votes and the others have only a few votes apiece.  Start with Seats at zero and step the seats up one at a time.  Notice what happens in column SeatsAsgd and what happens to Weight.

### How close to an accurate apportionment does it get?

• Quota is Total votes divided by Seats.  Note how it changes when you move any slider.
• The Name of the party is given just as a number.  In a suitably fancy demo you might give each party a real name.
• Votes is the number of votes the party receives in the election, controlled by the relevant slider.
• SeatsAsgd is the number of seats the equal proportions method assigns to that party, given the total number of Seats allotted.
• SeatsIdeal is the party's Votes divided by Quota.  Note that this is generally close to SeatsAsgd, which is usually but not always either the floor or the ceiling of SeatsIdeal. Try to find a setting where that is not true (hint: Give one party most of the votes.)
• VotesPerSeat is Votes divided by SeatsAsgd.  Compare it to SeatsIdeal.  They are usually close, but can  be quite far off if only a few Seats are assigned.
• Deviation is VotesPerSeat divided by Quota.  This is a relative measure of how far away from exactness the representations of the parties are.

### Playing with the demo

• Move Seats down to 2 or 3.  Notice that the deviations are quite bad, even $40\%$ off sometimes. Move Seats  up and see that deviations get much better.  Can you understand why that happens?
• Note that usually Seats is either the integer just below SeatsIdeal (the floor) or the integer just above it (the ceiling).  This is reasonable and is called "keeping quota".
• Make one or two parties large and the others small, then move the Seats slider around.  You find examples where Seats busts through the ceiling, "breaking quota".  Sometimes Seats is several units bigger than the ceiling.
• Note that if you step Seats up one at a time, the only thing that ever happens is that one party's seats goes up one unit.  Some other common systems cause some other party's seats to go down occasionally when the total seats is incremented.  That obviously never happens with EP.

These demos were designed for people to learn about a concept by experimenting with them.  Such demo should be fairly simple with only choices and displays relevant to what you are trying to show.

You can also build elaborate CDF's. RiemannSums.nb contains a command PlotRiemann which allows for many options showing different kinds of Riemann sums with different options, and you could design a single demo with many buttons, sliders and other gadgets that allow for all sorts of possibilities (but I have not designed such a monster).

I do expect to eventually design a command such as PlotRiemann that does for voting systems something like what PlotRiemann does for Riemann Sums, but the way to do that is to create one feature or option at a time.  I will be doing that and they will result in other election systems demos that I will post here from time to time.  (Promises, promises).

## References

This post uses MathJax. If you see mathematical expressions with dollar signs around them, or badly formatted formulas, try refreshing the screen. Sometimes you have to do it two or three times.

To manipulate the demo in this post, you must have Wolfram CDF Player installed on your computer. It is available free from the Wolfram website. The code for the demo is in the Mathematica notebook Equal Proportions.nb.

Notes on viewing

## Shared mental objects

I propose the phrase "shared mental object" to name the sort of thing that includes mathematical objects, abstract objects, fictional objects and other concepts with the following properties: ​

• They are not physical objects
• We think of them as objects
• We share them with other people

It is the name "shared mental object" that is a new idea; the concept has been around in philosophy and math ed for awhile and has been called various things, especially "abstract object", which is the name I have used in abstractmath.

I will go into detail concerning some examples in order to make the concept clear.  If you examine this concept deeply you discover many fine points, nested ideas and circles of examples that go back on themselves.  I will not get very far into these fine points here, but I have written about some of them posts and in abmath (see references).  I am working on a post about some of the fine points and will publish it if I can control its tendency to expand into infinite proliferation and recursion.

## Examples

### Messages

There is a story about the early days of telegraphy:  A man comes into the newly-opened telegraph station and asks to send a telegram to his son who is working in another city. He writes out the message and gives it to the operator with his payment.  The operator puts the message on a spike and clicks the key in front of him for a while, then says, "I have sent your message.  Thanks for shopping at Postal Telegraph".  The man looks astonished and points at the message and says, "But it is still here!"

A message is a shared mental object.

• It may be represented by a physical object, such as a piece of paper with writing on it, and people commonly refer to the paper as the message.
• It may be a verbal message from you, perhaps delivered by another person to a third person by speech.
• The delivery process may introduce errors (so can sending a telegraph).  So the thoughts in the three brains (the sender, the deliverer and the recipient) can differ from each other, but they can still talk about "the message" as if it were one object.

Other examples that are similar in nature to messages are schedules and the month of September (see Math Objects in abmath, where they are called abstract objects.).  In English-speaking communities, September is a cultural default: you are expected to know what it is. You can know that September is a month and that right this minute it is not September (unless it is September). You may think that September has 31 days and most people would say you are wrong, but they would agree that you and they are talking about the same month.

The general concept of the month of September and facts concerning it have been in shared existence in English-speaking cultural groups for (maybe) a thousand years.  In contrast, a message is usually shared by only two or three people and it has a short life; a few years from now, it may be that none of the people involved with the message remember what it said or even that it existed.

### Symbols

symbol, such as the letter "a" or the integral sign "$\int$", is a shared mental object.  Like the month of September, but unlike messages, letters are shared by large cultural entities, every language community that uses the Latin alphabet (and more) in the case of "a", and math and tech people in the case of "$\int$".

The letter "a" is represented physically on paper, a blackboard or a screen, among other things.  If you are literate in English and recognize an occurrence as representing the letter, you probably do this using a process in the brain that is automatic and that operates outside your awareness

Literate readers of English also generally agree that a string of letters either does or does not represent the word "default" but there are borderline cases (as in those little boxes where you have to prove you are not a robot) where they may disagree or admit that they don't know.  Even so, the letter "a" and the word "default" are shared in the minds of many people and there is general (but not absolutely universal) agreement on when you are seeing representations of them.

### Fictional objects

Fictional objects such as Sherlock Holmes and unicorns are shared mental objects.  I wrote briefly about them in Mathematical objects and will not go into them here.

### Mathematical objects

The integer $111$, the integral $\int_0^1 x^2\,dx$ and the set of all real numbers are all mathematical objects.   They are all shared mental objects.  In most of the world, people with a little education will know that $111$ is a number and what it means to have $111$ beans in a jar (for example).  They know that it is one more that $110$ and a lot more than $42$.

Mathematicians, scientists and STEM students will know something about what  $\int_0^1 x^2\,dx$ means and they will probably know how to calculate it.  Most  of them may be able to do it in their head.  I have taught calculus so many times that I know it "by heart", which means that it is associated in my brain with the number $1/3$ in such a way that when I see the integral the number automatically and without effort pops us (in the same way that I know September has 30 days).

Beginning calculus students may have a confused and incorrect understanding of the set of all real numbers in several ways, but practicing mathematicians (and many others) know that it is an uncountably infinite dense set and they think of it as an object.  A student very likely does not think of it as an object, but as a sprawling unimaginable space that you cannot possibly regard as a thing. Students may picture a real number as having another real number sitting right beside it — the next biggest one. Most practicing mathematicians think of the set of real numbers as a completed infinity – every real number is already there —  and they know that between any two of them there is another one.

As a consequence, when students and professors talk about real numbers the student finds that some times the professor says things that sound completely wrong and the professor hears the student say things that are bizarre and confused.  They firmly believe they are talking about the same thing, the real numbers, but the student is seen by the professor as wrong and the professor is seen by the students as talking meaningless nonsense.  Even so, they believe they are talking about the same thing.

## Nomenclature

I tried various other names before I came to "shared mental objects".

• I called them abstract objects in abstractmath.  The word "abstract" does not convey their actual character — they are mental and they are shared.
• They are non-physical objects, a phrase widely used in philosophy, but naming something by a negation is always a bad idea.
• Co-mental objects is ugly and comental looks like a misspelling.
• Intermental objects sounds like it has something to do with burial.  Maybe InterMental?
• The word entity may avoid some confusion caused by the word "object", which suggests physical object.  But "object" is widely used in philosophy and in math ed in the way it is used here.
• Meme?  Well, in some sense a shared mental object is a meme.  Memes have a connotation of forcing themselves into your brain that I don't want, but I want to consider the relationship further.

The major advantage of "shared mental object" is that it describes the important properties of the concept: It is a mental object and it is shared by people.  It has no philosophical implications concerning platonism, either. Mathematical objects do have special properties of verifiability that general shared mental objects do not, but my terminology does not suggest any existence of absolute truth or of an Ideal existing in another world.  I don't believe in such things, but some people do and I want to point out that "shared mental object" does not rule such things out — it merely gives a direct evidence-based description of a phenomenon that actually exists in the real world.

## References

Abstract objects in the Stanford Encyclopedia of Philosophy

Abstract object in Wikipedia

Mathematical objects in abstractmath

Mathematical objects in Wikipedia

What is Mathematics, Really?  R. Hersh, Oxford University Press, 1997

Previous posts

Representations of mathematical objects

Representations III: Rigor and Rigor Mortis

Representations II: Dry Bones

### Notes on Viewing

This post uses MathJax. If you see mathematical expressions with dollar signs around them, or badly formatted formulas, try refreshing the screen. Sometimes you have to do it two or three times.