The MCM2015 conference for Mathematics and Computation in Music is coming in June, and the submission process has taken up quite a lot of my time recently, which explains the relative inactivity of this blog. But everything is finished now, so here is a new post about topos theory and music.

I want to show here a simple example of another topos, applied to the study of time-spans. We are going to introduce a specific monoid and its action on a particular set , which therefore defines a functor . Since the category is a topos, we are going to calculate its subobject classifier explicitly and see its use for time-spans. This is a small part in a much larger paper than Moreno Andreatta, Andrée Ehresmann, and my self have submitted to MCM2015, which I will describe in a later post.

A time-span defines a certain duration at a certain point in time. Recall from the previous posts that a time-span, as defined by Lewin, is a couple , with , and . The group acts simply transitively on the set of time-spans, either on the left, by the action of a group element given by

or on the right, by

We can represent the time-spans graphically. Our reference unit time-span will be represented as such:

Given this unit time-span, here are the time-spans (1,1) and (3,1/2):

We are now going to consider a restricted set of *dyadic time-spans*, namely the set , where is the set of the dyadic rationals, i.e. numbers of the form , where is an integer, and is a natural number. This can model time-spans having the duration of a quarter, an eighth, and so on. The time-spans (1,1) and (3,1/2) are examples of dyadic time-spans.

Consider now the monoid whose multiplication law is given by the following equation.

The monoid is generated by the elements and and has for presentation . It can be considered as a discrete monoid version of Lewin’s continuous group of time-span transformations. It is also a monoid analog of the Baumslag-Solitar group .

Now, consider the action of an element on a dyadic time-span given by

This defines a functor which belongs to the category of functors . In the example given above, one transforms the time-span (1,1) into (3,1/2) by the action of the monoid element (2,1/2). The transformation of (3,1/2) into (1,1) is not possible since the monoid only acts by positive translations in time.

The category of functors is a topos, and we can calculate explicitly its subobject classifier .

For that, we need to calculate the cosieves on the unique object of . It is easy to see that those are of the form , with . Indeed, you can check that for any element , we have . We also have the empty cosieve .

The subobject classifier is therefore , where is a singleton. The first term can be bijectively identified with , so that .

The action of the monoid on is given by . This can be obtained in a rather straightforward manner by studying the action of the generators and . One thus gets:

- if , and 0 otherwise, and
- ,

for all . The singleton is a fixed point by the action of . It corresponds to the value *False* in our topos, whereas 0 corresponds to the value *True*.

So what can we do with this information ? First, observe that, for a given , the set equipped with the same action of is a subobject of . The characteristic map then sends any element to if , or 0 otherwise. In other words, the characteristic map measures the time period from a time-span in units of .

Let’s look at our small example again, along with the set . We can represent it as such :

The time-span (3,1/2) needs to be translated by three times its duration in order to belong to the set . Thus the characteristic map sends the time-span (3,1/2) to the set . Similarly, one can check that the map sends the time-span (1,1) to the set .

This topos is rather simple, but I find it nevertheless interesting. First, it gives a precise way to define the distance of a time-span to a given cue in time. Second, it could easily be implemented on a computer and suggests application in automatic music analysis. Last, it shows that monoids can sometimes be more interesting than groups. Indeed the subobject classifier of any functor category where is a group is rather simple: it has only two elements, and the topos is therefore boolean.