Welcome to Opetope!

Opetopes are geometric objects which describe one possible cell shape in the theory of n-categories. This application allows you to build and inspect these geometric objects using a compact graphical notation developed by Kock, Joyal, Batanin and Mascari (read the paper here.) In this notation, an opetope is just a sequence of trees with overlayed boxes which can be built according to a few simple rules.


When the editor starts, you are presented with a sample opetope to give you the flavor of what they look like. This is shown as a sequence of tiles near the bottom of the page. The dimension of the opetope is the number of tiles minus one (since a single tile corresponds to dimension 0.) Every opetope has a composition tree, and this is what you see displayed in the larger box on the left.

Moving the mouse over one of the boxes in the composition tree will cause the box to turn blue. Clicking on it will then call up that box's "local view" in the large box to the right. In the local view, we see the portion of the tree passing through the selected box, but as if the boxes contained inside had been shrunk to points. (NB: In the example, there is only one box to select, and it contains no other boxes, so the local view will be identical to the composition tree. After adding some boxes (see below) you will start to notice the difference.)

As you pass the mouse over an an edge or a dot in the local view on the right, the corresponding element(s) in the composition tree will be highlighted in red. Double clicking on an edge will add a new empty box on that edge, while double clicking on an dot will surrond the element that dot represents with a new box. It is also possible to select more than one dot at a time by holding down shift when you click on another. There is a small restriction, however: the selected dots must form a subtree. This means shift-clicking on an ancestor or descendant of a currently selected dot will add more dots to the selection, while clicking on a sibling will start a new one. Pressing a with multiple dots selected adds a box surronding all the elements the dots represent.

To deselect the box you are working with, click on some empty space around the composition tree back in the left hand box. You may then select any of the other boxes you have created. It may be helpful to point out that all boxes created in the local view will be placed in the currently selected (i.e. blue) box. You may remove a box from the composition tree by pressing delete. Note that you may only delete the outer most box under certain conditions, namely, when it contains exactly one dot.

When you are happy with your opetope in the current dimension, pressing enter will advance to the next. The tree you are presented with after pressing enter is the tree formed by all the boxes you made in the previous one.


On the explorer tab, you can browse source and target faces of the currently selected opetope. You are again presented with the opetope's composition tree on the left, and this time, double clicking on a dot will calculate the source face of the box which the dot represents. Double clicking on the unique enclosing box in the composition tree will give you the target face.

The Back button will move back up the sequence of faces you have selected, and the Save button will prompt you for a name and then add the most recent face to the list of opetopes know to the system.


You can create your own opetope by clicking the New button, which will start you with a copy of the simplest opetope of all, the 0-dimensional one. Part of the rules for opetopes say that you can't add boxes around dots until you've reached dimension 2, and you can't add empty boxes until you've reached dimension 3. So with a new opetope, you'll have to press enter twice to have everything enabled.

Finally, the JSON tab will show you an internal representation of the current opetope. Since Javascript is not allowed access to the local file system for security reasons, to save your work you will need to copy this data to a text file on your local computer. Pressing the Load button will allow you to paste this text back again later.

Have fun!

Enter a name for your opetope:

Paste JSON Data Below:

Enter a name for this face: