MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In software engineering the unified modeling language ("UML") is a well established technique for providing overview of complex systems and an efficient means of communicating about them. There are about ten diagrams for different views on the system. These diagrams have tremendously improved the ability to construct large systems by large teams, as one can look at the system at different levels and as one can profit from visualization. Furthermore the UML models contains all the system's information needed for implementation.

I'm wondering whether a similar method could be useful for doing (and commuicating about) mathematical structures and theories. Often so many definitions are built one upon the other and so many properties are introduced that it seems to be difficult to have an overview of the "architecture" of a theory.

For example one could have one sort of diagram showing how the mathematical structures are build form each other (e.g. a field built by two groups - with the respective axioms "inherited" - and further "compatibility conditions" between them). In priciple you would be able to track back all structures to the "mother structures" algebraic structure, order structure, topolological structure.) Interestingly the object oriented paradigm used by UML, i.e. encapsulating attributes and methods into classes is somehow similar to the categorical approach in mathematics (encapsulating objects and morphisms).

Another sort of diagram could represent a (part of a) theory by an annotated graph, the nodes/edges of which are the definitions, theorems and proofs and by navigating you see exactly which property/definition is used at which point.

I apologize for the "fuzziness" of the question but I feel a discussion about a sort of visual notation / graphical representation in mathematics could be of interest (perhaps the categorical viewpoint with its unifying force and its diagramms is already what can be achieved, but I think there could be other, complementary ways). Does anybody know of attempts in this direction? Would you consider such a graphical representation of mathematical structures (in addition to the standard, more linear way of representing things) helpful for communication in research and/or in education?

share|cite|improve this question
So much of mathematics is not explicitly constructive that it would be a major achievement to develop a notation that describes things in a finitary way. For example, describing a knot in the 3-sphere, or a 2-knot in the 4-sphere. There are significant theorems that allow for the finite description of such embeddings. For example, a Riemann manifold is by its very nature not finitary so in what sense could you hope for a graphical language? Developing a purely combinatorial theory of Riemann manifolds would be a huge achievement in its own right. – Ryan Budney Aug 14 '10 at 23:03
The question makes me think of Cvitanovic's bird tracks. I seem to remember that there was also some recent work on developing a pictorial calculus for linear algebra, but I can't remember where. – L Spice Feb 10 '13 at 19:59

I believe that graphical representation is more common in mathematical writing than in any other type of writing (including most computer software). I think the Mathematica front-end would be a good tool to build this sort of thing.

share|cite|improve this answer

One could consider UML as a kind of "front end" for category theory. For example, a basic database schema is just a category (and a more interesting database schema is a sketch).

So if UML is just a visual representation of category theory, then your question can be easily answered in the affirmative. Category theory is excellent at modeling all sorts of different math, and visually representing these models is surely useful.

share|cite|improve this answer
A specific technique in category theory for building structures is outlined in Graph Based Logic and Sketches, by Atish Bagchi and Charles Wells, This was specifically designed to be translated easily into an object-oriented program. – SixWingedSeraph Aug 15 '10 at 23:03
How does category theory have anything to do with software design? – Dan Brumleve Aug 16 '10 at 2:11

There are areas where a graphical presentation may poorly communicate the idea. In my work on hyperassociativity, I spent many hours writing equation after equation after equation (given that hyperassociativity was a second order way of specifying a potentially countably infinite number of equations or identities, this seemed like a common sense approach). To this day, I do not know how any visualization could have helped me get a result, other than trying calculation after calculation. Also, the result itself (a basis of five equations is equivalent to hyperassociativity expressed in a language with one binary operation symbol) is to me more easily expressed in words than in pictures.

I imagine there are other areas, especially dealing with certain linguistic problems, where some graphical representation does not add to the communication process. However, there are places where it will add. I have an idea for generalizing the result above which will involve looking at trees and picturesque (pun intended) attempts at deriving results.

I also have a sideline which has some interest in a project of this sort.

Gerhard "Ask Me About System Design" Paseman, 2010.08.15

share|cite|improve this answer
If you're dealing with situations where you have many operators (perhaps even infinite families of operators) f(x,y,z,...) and you're asking for a description of all possible ways of writing the trivial element in terms of iterated compositions of operators f(g(x,y,z...),h(x,y,z...),q(x,y,z,...),...) etc, there is something of a natural language for that in the subject of operads. This language does involve trees, and the vertices are decorated by the operators. There may not be many tools here for you to use, but it sounds like something pretty close to a natural language for your problem. – Ryan Budney Aug 30 '10 at 3:38
Here are two specific problems. If either one can be addressed by operads (even a partial solution would be of interest), you will have my full attention. Fix a finite functional language t, and form all terms in two variables in that language t. (So f(g(x,y),g(y,x),h(x)) might be a term if t has symbols for f,g,and h.) In equational logic, look at the countable set of equations F(F(x,y),z) = F(x,F(y,z)), where for each 2-variable term T of t one substitutes T for F in the scheme. Problem (A). If t has only one binary operation, show that the set is equivalent (continued)... – Gerhard Paseman Aug 30 '10 at 4:06
... is equivalent in equational logic to a finite set of equations (I actually mean identities, as each equation is of the form forall x,y,z, ... .) ; Problem (B) if t has only one binary operation symbol and only one unary operation symbol, show that the set is NOT equivalent in equational logic to a finite set of equations in the same language. Gerhard "Ask Me About System Design" Paseman, 2010.08.30 IST – Gerhard Paseman Aug 30 '10 at 4:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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