Tag Archives: understanding math

Improving abstractmath.org

This post discusses some ideas I have for improving abstractmath.org.

Handbook of mathematical discourse

The Handbook was kind of a false start on abmath, and is the source of much of the material in abmath. It still contains some material not in abmath, parti­cularly the citations.

By citations I mean lexicographical citations: examples of the usage from texts and scholarly articles.

I published the Handbook of mathe­ma­tical discourse in 2003. The first link below takes you to an article that describes what the Handbook does in some detail. Briefly, the Handbook surveys the use of language in math (and some other things) with an emphasis on the problems it causes students. Its collection of citations of usage could some day could be the start of an academic survey of mathematical language. But don’t expect me to do it.


The Handbook exists as a book and as two different web versions. I lost the TeX source of the Handbook a few years after I published the book, so none of the different web versions are perfect. Version 2 below is probably the most useful.

  1. Handbook of mathe­ma­tical discourse. Description.
  2. Handbook of mathe­ma­tical discourse. Hypertext version without pictures but with active internal links. Some links don’t work, but they won’t be repaired because I have lost the TeX input files.
  3. Handbook of mathe­ma­tical discourse. Paperback.
  4. Handbook of mathematical discourse. PDF version of the printed book, including illustrations and citations but without hyperlinks.
  5. Citations for the paperback version of the Handbook. (The hypertext version and the PDF version include the citations.)


Soon after the Handbook was published, I started work on abstractmath.org, which I abbreviate as abmath. It is intended specifically for people beginning to study abstract math, which means roughly post-calculus. I hope their teachers will read it, too. I had noticed when I was teaching that many students hit a big bump when faced with abstraction, and many of them never recovered. They would typically move into another field, often far away from STEM stuff.


These abmath articles give more detail about the purpose of this website and the thinking behind the way it is presented:

Presentation of abmath


Abmath is written for students of abstract math and other beginners to tell them about the obstacles they may meet up with in learning abstract math. It is not a scholarly work and is not written in the style of a scholarly work. There is more detail about its style in my rant in Attitude.

Scholarly works should not be written in the style of a scholarly work, either.


To do:

Every time I revise an article I find myself rewriting overly formal parts. Fifty years of writing research papers has taken its toll. I must say that I am not giving this informalization stuff very high priority, but I will continue doing it.

No citations

One major difference concerns the citations in the Handbook. I collected these in the late nineties by spending many hours at Jstor and looking through physical books. When I started abmath I decided that the website would be informal and aimed at students, and would contain few or no citations, simply because of the time it took to find them.

Boxouts and small screens

The Handbook had both sidebars on every page of the paper version containing a reference index to words on that page, and also on many pages boxouts with comments. It was written in TeX. I had great difficulty using TeX to control the placement of both the sidebars and especially the boxouts. Also, you couldn’t use TeX to let the text expand or contract as needed by the width of the user’s screen.

Abmath uses boxouts but not sidebars. I wrote Abmath using HTML, which allows it to be presented on large or small screens and to have extensive hyperlinks.
HTML also makes boxouts easy.

The arrival of tablets and i-pods has made it desirable to allow an abmath page to be made quite narrow while still readable. This makes boxouts hard to deal with. Also I have gotten into the habit of posting revisions to articles on Gyre&Gimble, whose editor converts boxouts into inline boxes. That can probably be avoided.

To do:

I have to decide whether to turn all boxouts into inline small-print paragraphs the was you see them in this article. That would make the situation easier for people reading small screens. But in-line small-print paragraphs are harder to associate to the location you want them to refer, in contrast to boxouts.

Abmath 2.0

For the first few years, I used Microsoft Word with MathType, but was plagued with problems described in the link below. Then I switched to writing directly in HTML. The articles of abmath labeled “abstractmath.org 2.0” are written in this new way. This makes the articles much, much easier to update. Unfortunately, Word produces HTML that is extraordinarily complicated, so transforming them into abmath 2.0 form takes a lot of effort.



Abmath does not have enough illustrations and diagrams. Gyre&Gimble has many posts with static illustrations, some of them innovative. It also has some posts with interactive demos created with Mathematica. These demos require the reader to download the CDF Player, which is free. Unfortunately, it is available only for Windows, Mac and Linux, which precludes using them on many small devices.


To do:

  • Create new illustrations where they might be useful, and mine Gyre&Gimble and other sources.
  • There are many animated GIFs out there in the math cloud. I expect many of them are licensed under Creative Commons so that I can use them.
  • I expect to experiment with converting some of the interactive CFD diagrams that are in Gyre&Gimble into animated GIFs or AVIs, which as far as I know will run on most machines. This will be a considerable improvement over static diagrams, but it is not as good as interactive diagrams, where you can have several sliders controlling different variables, move them back and forth, and so on. Look at Inverse image revisited. and “quintic with three parameters” in Demos for graph and cograph of calculus functions.

Abmath content


Abmath includes most of the ideas about language in the Handbook (rewritten and expanded) and adds a lot of new material.


  1. The languages of math. Article in abmath. Has links to the other articles about language.
  2. Syntactic and semantic thinkers. Gyre&Gimble post.
  3. Syntax trees in mathematicians’ brains. Gyre&Gimble post.
  4. A visualization of a computation in tree form.Gyre&Gimble post.
  5. Visible algebra I. Gyre&Gimble post.
  6. Algebra is a difficult foreign language. Gyre&Gimble post.
  7. Presenting binops as trees. Gyre&Gimble post.
  8. Moths to the flame of meaning. How linguistics students also have trouble with syntax.
  9. Varieties of mathematical prose, by Atish Bagchi and Charles Wells.

To do:

The language articles would greatly benefit from more illustrations. In parti­cular:

  • G&G contains several articles about using syntax trees (items 3, 4, 5 and 7 above) to understand algebraic expressions. A syntax tree makes the meaning of an algebraic expression much more transparent than the usual one-dimensional way of writing it.
  • Several items in the abmath article More about the language of math, for example the entries on parenthetic assertions and postconditions could benefit from a diagrammatic representation of the relation between phrases in a sentence and semantics (or how the phrases are spoken).
  • The articles on Names and Alphabets could benefit from providing spoken pronunciations of many words. But what am I going to do about my southern accent?
  • The boxed example of change in context as you read a proof in More about the language of math could be animated as you click through the proof. *Sigh* The prospect of animating that example makes me tired just thinking about it. That is not how grasshoppers read proofs anyway.

Understanding and doing math

Abmath discusses how we understand math and strategies for doing math in some detail. This part is based on my own observations during 35 years of teaching, as well as extensive reading of the math ed literature. The math ed literature is usually credited in footnotes.


Math objects and math structures

Understanding how to think about mathematical objects is, I believe, one of the most difficult hurdles newbies have to overcome in learning abstract math. This is one area that the math ed community has focused on in depth.

The first two links below are take you to the two places in abmath that discuss this problem. The first article has links to some of the math ed literature.


To do: Everything is a math object

An important point about math objects that needs to be brought out more is that everything in math is a math object. Obviously math structures are math objects. But the symbol “$\leq$” in the statement “$35\leq45$” denotes a math object, too. And a proof is a math object: A proof written on a blackboard during a lecture does not look like it is an instance of a rigorously defined math object, but most mathe­maticians, including me, believe that in principle such proofs can be transformed into a proof in a formal logical system. Formal logics, such as first order logic, are certainly math objects with precise mathematical definitions. Definitions, math expressions and theorems are math objects, too. This will be spelled out in a later post.

To do: Bring in modern ideas about math structure

Classically, math structures have been presented as sets with structure, with the structure being described in terms of subsets and functions. My chapter on math structures only waves a hand at this. This is a decidedly out-of-date way of doing it, now that we have category theory and type theory. I expect to post about this in order to clarify my thinking about how to introduce categorical and type-theoretical ideas without writing a whole book about it.

Particular math structures

Abmath includes discussions
of the problems students have with certain parti­cular types of structures. These sections talk mostly about how to think about these structure and some parti­cular misunder­standings students have at the most basic levels.

These articles are certainly not proper intro­ductions to the structures. Abmath in general is like that: It tells students about some aspects of math that are known to cause them trouble when they begin studying abstract math. And that is all it does.


To do:

  • I expect to write similar articles about groups, spaces and categories.
  • The idea about groups is to mention a few things that cause trouble at the very beginning, such as cosets, quotients and homomorphisms (which are all obviously related to each other), and perhaps other stumbling blocks.
  • With categories the idea is to stomp on misconceptions such as that the arrows have to be functions and to emphasize the role of categories in allowing us to define math structures in terms of their relations with other objects instead of in terms with sets.
  • I am going to have more trouble with spaces. Perhaps I will show how you can look at the $\epsilon$-$\delta$ definition of continuous functions on the reals and “discover” that they imply that inverse images of open sets are open, thus paving the way for the family-of-subsets definition of a topoogy.
  • I am not ruling out other particular structures.


This chapter covers several aspects of proofs that cause trouble for students, the logical aspects and also the way proofs are written.

It specifically does not make use of any particular symbolic language for logic and proofs. Some math students are not good at learning languages, and I didn’t see any point in introducing a specific language just to do rudimentary discussions about proofs and logic. The second link below discusses linguistic ability in connection with algebra.

I taught logic notation as part of various courses to computer engineering students and was surprised to discover how difficult some students found using (for example) $p+q$ in one course and $p\vee q$ in another. Other students breezed through different notations with total insouciance.


To do:

Much of the chapter on proofs is badly written. When I get around to upgrading it to abmath 2.0 I intend to do a thorough rewrite, which I hope will inspire ideas about how to conceptually improve it.

Creative Commons License

This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.

Send to Kindle

Freezing a family of functions

The interactive examples in this post require installing Wolfram CDF player, which is free and works on most desktop computers using Firefox, Safari and Internet Explorer, but not Chrome. The source code is the Mathematica Notebook algebra1.nb, which is available for free use under a Creative Commons Attribution-ShareAlike 2.5 License. The notebook can be read by CDF Player if you cannot make the embedded versions in this post work.

Some background

  • Generally, I have advocated using all sorts of images and metaphors to enable people to think about particular mathematical objects more easily.
  • In previous posts I have illustrated many ways (some old, some new, many recently using Mathematica CDF files) that you can provide such images and metaphors, to help university math majors get over the abstraction cliff.
  • When you have to prove something you find yourself throwing out the images and metaphors (usually a bit at a time rather than all at once) to get down to the rigorous view of math [1], [2], [3], to the point where you think of all the mathematical objects you are dealing with as unchanging and inert (not reacting to anything else).  In other words, dead.
  • The simple example of a family of functions in this post is intended to give people a way of thinking about getting into the rigorous view of the family.  So this post uses image-and-metaphor technology to illustrate a way of thinking about one of the basic proof techniques in math (representing the object in rigor mortis so you can dissect it).  I suppose this is meta-math-ed.  But I don’t want to think about that too much…
  • This example also illustrates the difference between parameters and variables. The bottom line is that the difference is entirely in how we think about them. I will write more about that later.

 A family of functions

This graph shows individual members of the family of functions \( y=a\sin\,x\) for various values of a. Let’s look at some of the ways you can think about this.

  • Each choice of  “shows the function for that value of the parameter a“.  But really, it shows the graph of the function, in fact only the part between x=-4 and x= 4.
  • You can also think of it as showing the function changing shape as a changes over time (as you slide the controller back and forth).

Well, you can graph something changing over time by introducing another axis for time.  When you graph vertical motion of a particle over time you use a two-dimensional picture, one axis representing time and the other the height of the particle. Our representation of the function y=a\sin\,x is a two-dimensional object (using its graph) so we represent the function in 3-space, as in this picture, where the slider not only shows the current (graph of the) function for parameter value a but also locates it over a on the z axis.

The picture below shows the surface given by y=a\sin\,x as a function of both variables a and x. Note that this graph is static: it does not change over time (no slide bar!). This is the family of functions represented as a rigorous (dead!) mathematical object.

If you click the “Show Curves” button, you will see a selection of the curves in middle diagram above drawn as functions of x for certain values of a. Each blue curve is thus a sine wave of amplitude a. Pushing that button illustrates the process going on in your mind when you concentrate on one aspect of the surface, namely its cross-sections in the x direction.

Reference [4] gives the code for the diagrams in this post, as well as a couple of others that may add more insight to the idea. Reference [5] gives similar constructions for a different family of functions.


  1. Rigorous view in abstractmath.org 
  2. Representations II: Dry Bones (post)
  3. Representations III: Rigor and Rigor Mortis (post)
  4. FamiliesFrozen.nb.
  5. AnotherFamiliesFrozen.nb (Mathematica file showing another family of functions)
Send to Kindle

Some demos of families of functions

I have posted on abstractmath.org a CDF file of families of functions whose parameters you can control interactively. It is fascinating to play with them and see phenomena you (or at least I) did not anticipate.  Some of them have questions of the sorts you might ask students to discuss or work out.  Working out explanations for many of the phenomena demand some algebra skills, and sometimes more than that.

The Mathematica command that sets up one of the families looks like this:

Plot[{Sin[a x], a Cos[a x]}, {x, -2 Pi, 2 Pi},
PlotRange -> {{-4, 4}, {-4, 4}}, PlotStyle -> {Blue, Red},
AspectRatio -> 1], {{a, 1}, -4, 4, Appearance -> “Labeled”}]

It would be straightforward to make a command something like

PlotFamily[functionlist, domain, plotrange]

with various options for colors, aspect ratio and so on that would do these graphs.  But I found it much to easy to simply cut and paste and put in the new inputs and parameters as needed.

This sort of Mathematica programming is not hard if you have an example to copy, but you do need to get over the initial hump of learning the basic syntax.   I know of no other language where it would be as easy as the example above to produce an interactive plot of a family of functions.

But many people simply hate to learn a new language.  If this sort of interactive example turns out to be worthwhile, someone could design an interface that would allow you to fill in the blanks and have the command constructed for you.  (I could say the same about some of other cdf files I have posted on this blog recently.) But that someone won’t be me.  I have too much fun coming up with new ideas for math  exposition to have to spend time working out all the details.  And all my little experiments are available to use under the Creative Commons License.

I would appreciate comments and suggestions.


Send to Kindle


The emerging theory of how the brain works gives us a new language to us for discussing how we teach, learn and communicate math.


Our minds have many functionalities.  They are implemented by what I called modules in Math and modules of the mind because I don’t understand very much about what cognitive scientists have learned about how these functionalities are carried out.  They talk about a particular neuron, a collection of neurons, electrical charges flowing back and forth, and so on, and it appears there is no complete agreement about these ideas.

The functions the modules implement are physical structures or activities in the brain.  At a certain level of abstraction we can ignore the mechanism.

Most modules carry out functionalities that are hidden from our consciousness.

  • When we walk, the walking is carried out by a module that operates without our paying (much) attention to it.
  • When we recognize someone, the identity of the person pops into our consciousness without us knowing how it got there.  Indeed, we cannot introspect to see how the process was carried out; it is completely hidden.

Reasoning, for example if you add 56 and 49 in your head, has part of the process visible to your introspection, but not all of it.  It uses modules such as the sum of 9 and 6 which feel like random access memory.  When you carry the addition out, you (or at least I) are conscious of the carry: you are aware of it and aware of adding it to 9 to get 10.

Good places to find detailed discussion of this hiddenness are references [2] and [4] below.


Math ed people have talked for years about the technique of chunking in doing math.

  • You see an algebraic expression, you worry about how it might be undefined, you gray out all of it except the denominator and inspect that, and so on.  (This should be the subject of a Mathematica demo.)
  • You look at a diagram in the category of topological spaces.  Each object in the diagram stands for a whole, even uncountably infinite, space with lots of open and closed subsets and so on, but you think of it just as a little pinpoint in the diagram to discover facts about its relationship with other spaces.  You don’t look inside the space unless you have to to verify something.

Students have a hard time doing that.  When an experienced mathematician does this, they are very likely to chunk subconsciously; they don’t think, “Now I am chunking”.  Nevertheless, you can call it to their attention and they will be aware of the process.

There are modules that perform chunking whose operation you cannot be aware of even if you think about it.  Here are two examples.

Example 1. Consider these two sentences from [2], p. 137:

  • “I splashed next to the bank.”
  • “There was a run on the bank.”

When you read the first one you visualize a river bank.  When you read the second one you visualize a bank as an institution that handles money.  If these two sentences were separated by a couple of paragraphs, or even a few words, in a text you are likely not to notice that you have processed the same word in two different ways.  (When they are together as above it is kind of blatant.)

The point is the when you read each sentence your brain directly presents you with the proper image in each case (different ones as appropriate).  You cannot recover the process that did that (by introspection, anyway).

Example 2. I discussed the sentence below in the Handbook.  The sentence appears in references [3].

…Richard Darst and Gerald Taylor investigated the
differentiability of functions f^p (which for our
purposes we will restrict to (0,1)) defined for
each p\geq1 by

In this sentence, the identical syntax (a,b) appears twice; the first occurrence refers to the open interval from 0 to 1 and the second refers to the GCD of integers m and n.  When I first inserted it into the Handbook’s citation list, I did not notice that (I was using it for another phenomenon, although now I have forgotten what it was).  Later I noticed it.  My mind preprocessed the two occurrences of the syntax and threw up two different meanings without my noticing it.

Of course, “restricting to (0, 1)” doesn’t make sense if (0, 1) means the GCD of 0 and 1, and saying “(m, n) = 1doesn’t make sense if (m, n) is an interval.  This preprocessing no doubted came to its two different conclusions based on such clues, but I claim that this preprocessing operated at a much deeper level of the brain than the preprocessing that results in your thinking (for example) of a topological space as a single unstructured object in a category.

This phenomenon could be called prechunking.  It is clearly a different phenomenon that zooming in on a denominator and then zooming out on the whole expression as I described in [1].

This century’s metaphor

In the nineteenth century we came up with a machine metaphor for how we think.  In the twentieth century the big metaphor was our brain is a computer.  This century’s metaphor is that of a bunch a processes in our brain and in our body all working simultaneously, mostly out of our awareness, to enable us to live our life, learn things, and just as important (as Davidson [4] points out) to unlearn things.  But don’t think we have Finally Discovered The Last Metaphor.


  1. Zooming and chunking in abstractmath.org.
  2. Mark Changizi, The vision revolution.  Benbella Books, 2009.
  3. Mark Frantz, “Two functions whose powers make fractals”.  American Mathematical Monthly, v 105, pp 609–617 (1998).
  4. Cathy N. Davidson, Now you see it.  Viking Penguin, 2011.  Chapters 1 and 2.
  5. Math and modules of the mind (previous post).
  6. Cognitive science in Wikipedia.
  7. Charles Wells, The handbook of mathematical discourse, Infinity Publishing Company, 2003.
Send to Kindle


Mark Meckes recently wrote (private communication):

I’m teaching a fairly new transition course at Case this term, which involves explicitly teaching students the basics of mathematical English along with the obvious things like logic and proof techniques.  I had a student recently ask about how to interpret “A unless B”.  After a fairly lively discussion in class today, we couldn’t agree on the truth table for this statement, and concluded in the end that “unless” is best avoided in mathematical writing.  I checked the Handbook of Mathematical Discourse to see if you had anything to say about it there, but there isn’t an entry for it.  So, are you aware of a standard interpretation of “unless” in mathematical English?

I did not consider  “unless” while writing HMD.   What should be done to approach a subject like this is to

  • think up examples  (preferably in a bull session with other mathematicians) and try to understand what they mean logically, then
  • do an extensive research of the mathematical literature to see if you can find examples that do and do not correspond  with your tentative understanding.  (Usually you find other uses besides the one you thought of, and sometimes you will discover that what you came up with is completely wrong.)  

What follows is an example of this process.

I can think of three possible meanings for “P unless Q”:

1.  “P if and only if not Q”,
2.  “not Q implies P”
3.  “not P implies Q”.

An example that satisfies (1) is “x^2-x is positive unless 0 \leq x \leq 1“.  I have said that specific thing to my classes — calculus students tend not to remember that the parabola is below the line y=x on that interval. (And that’s the way you should show them — draw a picture, don’t merely lecture.  Indeed, make them draw a picture.)

An example of (2) that is not an example of (1) is “x^2-x is positive unless x = 1/2“.  I don’t think anyone would say that, but they might say “x^2-x is positive unless, for example, x = 1/2“.  I would say that is a correct statement in mathematical English.  I guess the phrase “for example” translates into telling you that this is a statement of form “Q implies not P”, where Q is now “x = 1/2”.   Using the contrapositive, that is equivalent to “P implies not Q”, but that is neither (2) nor (3).

An example of (3) that is not an example of (1) is “x^2-x is positive unless -1 < x < 1“.  I think that any who said that (among math people) would be told that they are wrong, because for example (\frac{-1}{2})^2-\frac{-1}{2} = \frac{3}{4}.  That reaction amounts to saying that (3) is not a correct interpretation of “P unless Q”.

Because of examples like these, my conjecture is that “P unless Q” means “P if and only if not Q”.  But to settle this point requires searching for “unless” in the math literature and seeing if you can find instances where “P unless Q” is not equivalent to “P if and only if not Q”.  (You could also see what happens with searching for “unless” and “example” close together.)

Having a discussion such as the above where you think up examples can give you a clue, but you really need to search the literature.  What I did with the Handbook is to search JStor, available online at Case.  I have to say I had definite opinions about several usages that were overturned during the literature search. (What “brackets” means is an example.)

My proxy server at Case isn’t working right now but when I get it repaired I will look into this question.

Send to Kindle

Showing categorical diagrams in 3D

The interactive examples in this post require installing Wolfram CDF player, which is free and works on most desktop computers using Firefox, Safari and Internet Explorer, but not Chrome. The source code is the Mathematica Notebook algebra1.nb, which is available for free use under a Creative Commons Attribution-ShareAlike 2.5 License. The notebook can be read by CDF Player if you cannot make the embedded versions in this post work.

In Graph-Based Logic and Sketches, Atish Bagchi and I needed to construct a lot of cones based on fairly complicated diagrams. We generally show the base diagram and left the reader to imagine the cone. This post is an experiment in presenting such a diagram in 3D, with its cone and other constructions based on it.

To understand this post, you need a basic understanding of categories, functors and limit cones (see References).

The notebook and CDF files that generate this display may be downloaded from here:

These files may be used and modified as you wish according to the Creative Commons rule listed under “Permissions” (at the top of the window).

The sketch for categories: composition

A finite-limit sketch (FL sketch) is a category with finite limits given by specifying certain  nodes and arrows, commutative diagrams using these nodes and arrows, and limit cones based on diagrams using the given nodes and arrows.  A model of an FL sketch is a finite-limit-preserving functor from the FL sketch into some category \mathcal{C}.  Detailed descriptions of FL-sketches are  in References [1], [2] and [3] (below).

Categories themselves may be sketched by FL-sketches. Here I will present the part of the sketch that constructs (in a model) the object of composites of two arrows.  This is the specification for composite:

  1. The composite of two arrows f:A\to B and g:B'\to C is defined if and only if B=B'.
  2. The composite is denoted by gf.
  3. The domain of gf is A and the codomain is C.

We start with a diagram in the FL sketch for categories that gives the data corresponding to two arrows that may be composed.  This diagram involves nodes ob and ar, which in a model become the object of objects and the object of arrows of the category object in \mathcal{C}.  (Suppose \mathcal{C} is the category of sets; then the model is simply a small category.  The node ob goes to the set of objects of the small category and ar goes to the set of arrows.)  The arrows labeled dom and cod take (in a model) an arrow to its domain and codomain respectively. Here is the diagram:

You can move the diagram around in three dimensions to see it from different perspectives. (Of course it isn’t really in three dimensions. Your eyes-to-brain module reconstructs the illusion of three dimensions when you twirl the diagram around.)

Note that this is a diagram, not a directed graph (digraph). (In the paper, Atish and I, like most category theorists, say “graph” instead of “digraph”.) It has an underlying digraph (see Chapter 2 of Graph-Based Logic and Sketches), but the labeling of several different nodes of the underlying digraph by the name of the same node of the sketch is meaningful. 

Here, the key fact is that in the diagram there are two arrows, one labeled dom and the other cod, to the same node labeled ob, and two other arrows to two different nodes labeled ob. 

Now click c1.

This shows a cone over the diagram.  One of the nodes in the sketch must be cp (in other words given beforehand; that is, we are specifying not only that the blue stuff is a limit cone but that the limit is the node cp.)   In a model, this cone must become a limit cone.  It follows from the properties of limits that the elements of cp in the model in Sets are pairs of arrows with the property that one has a codomain that is the same as the domain of the other.  The label “cp” stands for “compatible pairs”.

Now click c2.

The green stuff is a diagram showing two arrows from the node labeled ar to the left and right nodes labeled ob in the original black diagram.  This is not a cone; it is just a diagram.  In a model, any arrow in the vertex must have domain the same as the domain of one of the arrows in the compatible pair, and codomain the same as the codomain of the other arrow of the pair.  Thus in the model, an arrow living in the set labeled with “ar” in green must satisfy requirement 3 in the specification for composition given above.

Note that the requirement that the green diagram be commutative in a model is vacuous, so it doesn’t matter whether we specify it specifically as a diagram in the sketch or not.

Now click c3.

The arrow labeled comp must be specified as an arrow in the sketch.  We want its value to be the composite of an element of cp in a model, in other words a compatible pair of arrows.  At this point that will not necessarily be true.  But all can be saved:

Now click c4.

We must specify that the diagram given by the thick arrows must be a diagram of the sketch.  The fact that it must become commutative in a model means exactly that the red arrow comp from cp to ar takes a compatible pair to an arrow that satisfies requirements 1–3 of the specification of composite shown above.


  1. Peter T. Johnstone, Sketches of an Elephant: A Topos Theory Compendium, Volume 2 (Oxford Logic Guides 44), by Oxford University Press, ISBN 978-0198524960.
  2. Michael Barr and Charles Wells, Category theory for computing science (1999).    (This is the easiest to start with but it doesn’t get very far.)
  3. Michael Barr and Charles Wells, Toposes, Triples and Theories (2005).  Reprints in Theory and Applications of Categories 1.


Send to Kindle