## November 2, 2006

### A Categorical Manifesto

#### Posted by John Baez

A while back Gina asked why computer scientists should be interested in categories. Maybe you categorical computer scientists out there have your own favorite answers to this? I’d be glad to hear them. To get you going, here’s one man’s answer:

• Joseph Goguen, A categorical manifesto, Mathematical Structures in Computer Science 1 (1991), 49-67.

Abstract: This paper tries to explain why and how category theory is useful in computing science, by giving guidelines for applying seven basic categorical concepts: category, functor, natural transformation, limit, adjoint, colimit and comma category. Some examples, intuition, and references are given for each concept, but completeness is not attempted. Some additional categorical concepts and some suggestions for further research are also mentioned. The paper concludes with some philosophical discussion.

Joseph Goguen was a professor of computer science at U. C. San Diego. He died on July 3rd, 2006, shortly after his 65th birthday.

Posted at November 2, 2006 4:46 PM UTC

TrackBack URL for this Entry:   http://golem.ph.utexas.edu/cgi-bin/MT-3.0/dxy-tb.fcgi/1016

### Re: A Categorical Manifesto

For me, two of the most interesting aspects of category theory in computer science have been monads and generalised folds/unfolds.

If M is a functor that happens to be monad, then given an arrow (ie. a function because we’re working in the category of types and functions) A->MB and an arrow B->MC we can compose them to make an arrow A->MC, even though the tail of the first arrow is incompatible with the head of the second. This pattern is incredibly common when programming, especially in functional programming languages. Rather than have to write the glue to compose these functions over and over again, monads give a really nice way to express the glue and simplify the composition. And to grasp monads it really helps to understand some category theory, after all, they are categorical constructs.

Folds are a ubiquitous operation in computing. A fold is easiest to understand by example. Given an ordered list of numbers [1,2,3,4] we can turn it into an expression 1+2+3+4+0. We put a + between each pair of values and a value at the end (often the identity for +). Clearly we can generalise to any binary operator and any ‘end’ value. This is a fold and clearly summing a list is an example of one (and you have to admit, summing a list is a pretty ubiquitious operation). Many (all?) functions of lists can be expressed as folds so understanding folds gives a nice way to abstract your code to see commonality between different algorithms. Additionally, folds generalise to many datastructures besides lists. To fully grasp this needs a little category theory and the notion of an F-algebra.

And the fun thing is that as soon as we view this stuff through category theory it becomes clear that these notions have duals. On the one hand we find comonads, and on the other we find F-coalgebras and unfolds. It turns out that many algorithms are naturally structured via comands and that unfolds are as ubiquitous as folds.

And of course the whole Curry-Howard isomorphism is really about category theory and I’ve found that to be quite illuminating.

A nice readable account on fold/unfold is contained in here. There’s no shortage of tutorials on monads in computer science so I won’t bother with a link to one of those.

Posted by: Dan Piponi on November 2, 2006 10:31 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

A Neighborhood of Infinity has had many posts on monads, including this one with diagrams. There are also posts on other topics of interest to us: synthetic differential geometry, Euler characteristic, etc.

Posted by: David Corfield on November 3, 2006 10:07 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

Goguen’s description of ‘Foundations’ on page 15 is very relevant to our discussions on ‘causal’ ordering in the Foundations thread:

Foundations should provide general concepts and tools that reveal the structures and interrelations of various areas of mathematics and its applications, and that help in doing and using mathematics.

Posted by: David Corfield on November 3, 2006 9:46 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

I have a more philosophical answer that abstracts away even from the gory details of category theory.

If we remember that most mathematics arose from generalizing the notion of counting, set theory (and the mathematical edifice built up from it) can be seen
as formalizing the primitive intuitions about counting things. It is a natural basis for numerical and numerically-originating ideas.

In contrast, computation is mainly about mapping inputs to outputs. The study of mappings and their composition, which gives rise to category theory, is a natural way to formulate the particular concerns of computational thinking.

The fact that the two approaches are dual allows us to build upon the rich legacy of numerically-founded work, while still allowing new insights into the fundamental mechanism of our scientific concern.

Posted by: Marc Hamann on November 3, 2006 5:01 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

The study of mappings and their composition, which gives rise to category theory, is a natural way to formulate the particular concerns of computational thinking.

But then any physical operation, preparation or measurement also gives rise to category theory:

a category is the exact mathematical structure of practicing physics! Bob Coecke

And isn’t gathering things together a physical operation, and counting a form of measurement?

Posted by: David Corfield on November 3, 2006 5:36 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

And isn’t gathering things together a physical operation, and counting a form of measurement?

Yes, but that’s why the two formulations are dual: they look at the same underlying structures from different starting points.

Posted by: Marc Hamann on November 3, 2006 6:19 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

Can anyone comment on section 2.7, Programs and Program Schemes, and what connection, if any, it has to programs as morphisms in a CCC?

Posted by: Mike Stay on November 4, 2006 7:53 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

Can anyone comment on section 2.7, Programs and Program Schemes, and what connection, if any, it has to programs as morphisms in a CCC?

My first idea on this is that there is a functor from the category of program graphs C(G) to the CCC, in the sense that each morphism in the CCC is a meta-shape of shapes of programs. This leaves open the possiblity of an adjuction with a free functor that maps each morphism in CCC to its “Holodeck game” solution; we would have to do a lot more work fill that in.

In thinking about this, I find myself hampered by some important details left out of Goguen’s description. For example, is G an object in a category of like program graphs (and what are the morphisms?). Or is it the free category for the graph G? This seems possible if you interpret/allow the free indentity morphism to serve as an “empty” operation similar to that in non-deterministic finite automata.

While it is a strength that one can find so many different categorical formulations of particular phenomena, it is a drawback that working out the relationship between them can require quite a bit of work.;-)

Posted by: Marc Hamann on November 4, 2006 9:10 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

“A while back Gina asked why computer scientists should be interested in categories. …”

Wow! how sweet to have a whole (interesting) post related to my question. Thanks a lot!

Posted by: Gina on November 7, 2006 2:42 AM | Permalink | Reply to this

### Ulam on Banach; Re: A Categorical Manifesto

Stanisław Marcin Ulam, another mathematician of the Lwów School of Mathematics, in his autobiography, attributes this to Banach:

“Good mathematicians see analogies. Great mathematicians see analogies between analogies.”

Is this a prescient hint of the campaign to categorize, re-categorize, and/or n-categorize mathematical and Physics foundations?

Anyone think that the quote can be made axiomatical? That “Very Great mathematicians see analogies between analogies between analogies between analogies.”

And what the omega-closure of this? Or should it be embedded in a universe including strongly unreachable analogies?

Just wondering, as an admirer of Ulam who was to have coauthored with him, but suffered when he died before we could agree on the abstract.

Posted by: Jonathan Vos Post on November 11, 2006 3:09 AM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

“Good mathematicians see analogies. Great mathematicians see analogies between analogies.”

Is this a prescient hint of the campaign to categorize, re-categorize, and/or n-categorize mathematical and Physics foundations?

There’s no doubt in my mind that that’s so. My advisor was fond of quoting that line, usually right after noting that “a functor is an analogy”.

Posted by: John Armstrong on November 11, 2006 4:35 AM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

Thank you for that supportive example. Could it be that Ulam or Banach was influenced by Hilbert’s syzygy theorem? This theorem, as summarized on Wikipedia, which also gives a more modern statement, but not so modern as category Theory: “is a result of commutative algebra, first proved by David Hilbert (1890) in connection with the syzygy (relation) problem of invariant theory. Roughly speaking, starting with relations between polynomial invariants, then relations between the relations, and so on, it explains how far one has to go to reach a clarified situation. It is now considered to be an early result of homological algebra, and through the depth concept, to be a measure of the non-singularity of affine space.”

Posted by: Jonathan Vos Post on November 11, 2006 5:57 AM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

I mentioned that idea of an infinite chain of higher-order analogies at the n-categories meeting in Minneapolis 2004 (bottom of p.3 of these slides), inspired by what I think was John’s “Behind every analogy there lies a functor.”

Posted by: David Corfield on November 11, 2006 9:11 AM | Permalink | Reply to this

### Baboons And Pigeons: origins of Category Theory?; Re: Ulam on Banach; Re: A Categorical Manifesto

Can animals learn the relations between relations? The answer appears to be “yes.”

Baboons And Pigeons Are Capable Of Higher-level Cognition, Behavioral Studies Show

Posted by: Jonathan Vos Post on February 17, 2009 11:40 AM | Permalink | Reply to this

### Reality Check

“a functor is an analogy”.

Unfortunately, I’m starting to feel that in the rush to congratulate n-categories as the “next big thing”, we may have got the cart before the horse.

Analogies, which are the foundation of all abstract thinking, and have certainly been at the heart of mathematical inquiry the last few centuries, are at their core mappings: “A is to X as B is to Y”. When group theorists investigated the commonalities between rotations, permutations and the integers under addition, they were implicitly (and often explicitly) investigating mappings between structures.

The innovation of Category Theory was to invert the process: instead of building structures then extracting how they mapped onto each other, CT takes the mapping as the primitive and examines what sorts of structure arise.

So yes, a functor is an analogy, since a functor is a kind of mapping, and a mapping is a kind of analogy. But it would be the height of hubris to assume that this knowledge was nothing but a vague notion before Mac Lane, Eilenberg, Lawvere and others saved the day.

CT and its inventors have accomplished some incredible things, however I’m pretty confident they can’t take the credit for inventing analogy.

Posted by: Marc Hamann on November 11, 2006 6:40 PM | Permalink | Reply to this

### Re: Reality Check

You misunderstand the point of his statement. “A functor is an analogy” is not a philosophical slogan, but rather a pedagogical one.

How should a student understand the language of categories and functors, especially in an era where that language is still marginalized among some mathematicians? It’s an analogy. This is even clearer when you consider (Sets,Relations) as a motivation instead of (Sets,Functions).

Posted by: John Armstrong on November 11, 2006 9:51 PM | Permalink | Reply to this

### Re: Reality Check

You misunderstand the point of his statement. “A functor is an analogy” is not a philosophical slogan, but rather a pedagogical one.

I think you are misunderstanding the point of my statement ;-). I’m not critiquing the pedagogical intuition that a functor is an analogy: I have explicitly agreed that this is the intuitive interpretation of a functor.

What I’m critiquing is the unspoken assumption that has crept into this thread that Ulam/Banach et al. are really just Old Testament prophets dimly prophesying the coming of the true saviour: Category Theory / n-categories.

Abstract and analogical thinking have long been at the heart of the mathematical enterprise. CT / n-Cat just focus on the analogizing rather than on the component objects of the analogies, and thus make it easier to see a whole bunch of analogies at once.

Posted by: Marc Hamann on November 11, 2006 10:56 PM | Permalink | Reply to this

### Re: Reality Check

Really it seems to come down to the real fundamental divide in philosophy among practicing mathematicians: does mathematics seek to understand structures in order to solve problems, or does it solve problems to help understand structures?

If problem-solving is the ultimate goal, the component objects are the important parts. If understanding is the goal, the analogies are the important parts.

Of course, both tasks are important, but the pendulum swings both ways alternately. For a very long time, mathematics has been expanding its studies to solve more and more problems. As I see it, we are entering (have entered?) a contracting phase where we see more and more of these studies to be different sides of the same things. The great theorems tend more and more often to be deep analogies between disparate areas of mathematics.

If anything, this emphasizes Corfield’s view that how mathematics is done is an essentially social and evolving thing. Also, I don’t think anyone seriously thinks that category theory is a “savior” of mathematics. It’s just the best language for a contracting, analogy-heavy phase of mathematical society while set theory was an excellent background language for the previous expanding, problem-solving-heavy phase. Eventually the pendulum will reverse again and we will spend more time solving problems and expanding mathematical studies again, possibly with an even newer language to inform the new phase.

Posted by: John Armstrong on November 11, 2006 11:33 PM | Permalink | Reply to this

### Re: Reality Check

I would say you and I are in overall agreement, John, with a few qualifications.

I think the contraction/expansion pendulum setting isn’t global, but varies across sub-disciplines.

CT may be particularly good for some kinds of consolidation, but I wouldn’t want to ghettoize it to just that: it can be used to solve new problems too.

We probably have our greatest disagreement here:

I don’t think anyone seriously thinks that category theory is a “savior” of mathematics.

In other fora over the years, I have frequently served as the defender of CT against skeptics, who, to my confusion, tell me that they often find CT practioners arrogant in the assumption that all other mathematical formalisms have been rendered obsolete by CT.

Until I began frequenting this site, I can’t say that I had ever actually witnessed this phenomenon, but there have been more than a few posts here that have come awfully close to exhibiting this kind of attitude.

Perhaps it is just the exuberant bravado of a vibrant field, but I think it bears pointing out that it might be mistaken for reckless hubris by those who observe from outside.

Don’t forget: being taken seriously is a two-way street.

Posted by: Marc Hamann on November 12, 2006 12:03 AM | Permalink | Reply to this

### Re: Reality Check

In other fora over the years, I have frequently served as the defender of CT against skeptics, who, to my confusion, tell me that they often find CT practioners arrogant in the assumption that all other mathematical formalisms have been rendered obsolete by CT.

I think this sort of thing may be a lack of perspective – of not “zooming out” (to hit another leitmotif). It’s analogous to the way physicists thought that everything was more or less figured out at the end of the 19th century.

Actually, physics provides a great parallel to illustrate this pendulum of expansion and contraction, especially since it takes place a lot more quickly than in mathematics. In the last hundred years they’ve gone through at least the full cycle.

I would go so far as to say that CT is the language of choice for the new phase, and I see newer evidence almost every day. I understand, though, that it won’t last forever.

Posted by: John Armstrong on November 12, 2006 2:06 AM | Permalink | Reply to this

### Re: Reality Check

Marc Hamann wrote:

In other fora over the years, I have frequently served as the defender of CT against skeptics, who, to my confusion, tell me that they often find CT practioners arrogant in the assumption that all other mathematical formalisms have been rendered obsolete by CT.

I don’t think category theory “makes all other mathematical formalisms obsolete”. I doubt anyone on this forum thinks that.

I believe that in the present epoch, any approach to the foundations of mathematics that recognizes the importance of $n$-categories only for $n = 0$ is a needlessly crippled one.

But, I also think that it would be silly to say the study of 1-categories makes the study of 0-categories “obsolete”. It would be sort of like saying the number 1 made the number 0 obsolete.

Posted by: John Baez on November 12, 2006 5:15 AM | Permalink | Reply to this

### Re: Reality Check

But, I also think that it would be silly to say the study of 1-categories makes the study of 0-categories “obsolete”.

I imagine some set theorists would find this phrasing tendentious, and would resist being seen as 0-category theorists. For one thing it suggests that there ought to be insights emerging from their work about the kinds of 1-category that can be formed from collections of sets and functions.

That different communities have different goals and different preferred means to achieve these goals is nothing to fret about. In fact, I take it to be a good thing, in that if their respective activity comes into close enough contact it provides an opportunity to gauge what is partial about each party’s viewpoint. There’s no place for arrogance. One should expect that it is no easy task to get into a position to understand the other party’s motivations.

I’d be very interested to hear a set theorist’s response to Angus MacIntyre’s piece here (note also the interesting paper by Lawvere), which begins:

I see model theory as becoming increasingly detached from set theory, and the Tarskian notion of set-theoretic model being no longer central to model theory.

Perhaps they disagree with this judgement. Perhaps they agree but don’t think it matters with respect to their goals.

Posted by: David Corfield on November 12, 2006 8:51 AM | Permalink | Reply to this

### Re: Reality Check

I don’t think category theory “makes all other mathematical formalisms obsolete”. I doubt anyone on this forum thinks that.

As a literal statement meaning “set-theoretic truths no longer apply”, or “set-theoretic objects are of no interest” I can see that is probably true.

As a statement meaning “Strictly set-theoretic approaches are no longer productive avenues of investigation”, I’m much less sure.

Let’s say you met a prospective grad to student who said “I like set theory, and I want to investigate problem X within that framework. I recognize that there is ongoing investigation in CT on problem X, and I plan to follow those developments, but I’m more comfortable formalizing my own work set-theoretically”.

What would you say to him/her? What would you think about that person’s academic and intellectual future?

Posted by: Marc Hamann on November 12, 2006 5:22 PM | Permalink | Reply to this

### Re: Reality Check

Marc Hamann wrote:

Let’s say you met a prospective grad to student who said “I like set theory, and I want to investigate problem X within that framework. I recognize that there is ongoing investigation in CT on problem X, and I plan to follow those developments, but I’m more comfortable formalizing my own work set-theoretically”.

What would you say to him/her? What would you think about that person’s academic and intellectual future?

It completely depends on what problem X is. I can imagine various cases:

• For many topics I would expect them to work under the de facto umbrella of set theory. A typical example might be studying the scattering operator for the nonlinear Klein-Gordon equation. This is what folks call “hard analysis”: it’s all about manipulating inequalities, so I don’t see much need for category theory here. Another example is my student Miguel Carrión Álvarez’s work on quantizing p-form electromagnetism. Here I wanted him to relate the subject to n-categories, but he wound up focusing on other aspects - and that was fine.

But in such cases, I wouldn’t expect the student to emphasize that they “wanted to formalize their work set-theoretically”. This would be like emphasizing you wanted to get around LA using a car. It’s just business as usual - not worth mentioning!

• If they wanted to use the existence of a Woodin cardinal to get new results in descriptive set theory, I’d admit that I don’t know much about this sort of hard-core set theory. So, I’d have to say I am unable to advise them on this topic. And if I were feeling mentorly, I’d add that there aren’t many jobs in hard-core set theory, so that having a successful career depends crucially on finding an advisor who is a bigshot in this subject - someone whose letter of recommendation would impress the few other experts in the subject. There’s nobody like that here at UCR.

Personally I find this sort of research uninteresting, but if a student is all fired up about it, and seems knowledgeable about it, it would be silly to try to talk them out of it. All good research comes from people who are burning with desire to do something new - often something that few others care about. The trick is making sure these burning ambitions get tackled in a realistic way, with a good chance of success. This usually requires finding the right advisor - and later, a job.

• If they wanted to work on categories or n-categories, I might become their advisor, since I know about this stuff. But in this case, I would force them to work on n-categories applied to a problem of independent interest. This is what I did with Alissa Crans and Toby Bartels, and it’s what I’m doing with Jeff Morton.

There are two reasons for this. First, if you get branded as a “category theorist”, your chances of getting a good job drop significantly - especially in the US. Second, it’s all too easy for youngsters to work on self-contained issues in n-category theory and not learn how their work is related to the rest of math. I don’t want my students to become specialist idiot savants: I want them to get a sense of the big picture, and have more choices after they graduate.

So, I always tell such students to become “an algebraic topologist who uses n-categories in her work”, or “a mathematical physicist who uses n-categories in his work”, or something like that, rather than a “pure n-category theorist”.
Posted by: John Baez on November 12, 2006 7:51 PM | Permalink | Reply to this

### Re: Reality Check

First, if you get branded as a “category theorist”, your chances of getting a good job drop significantly - especially in the US.

Thanks, John: this post clarified a lot for me.

I think I have identified what different assumptions I’ve been making that have coloured my interpretation of some of the other comments.

It seems many people here perceive CT to still be the underdog. My perception was that it has been the big dog on the block for some time now.

My perception may be warped by various pecularities of my relationship with CT.

First of all, I’m not a professional academic, so I’m not familiar with the hiring politics surrounding CT specifically. (Though I understand the importance of these issues for those who ARE professional academics).

Secondly, I BEGAN my serious study of higher mathematics with CT (as a result of its relevance to programming language theory), and the early advice I received was “don’t try to understand it set-theoretically; you’ll confuse yourself and won’t get the full benefit of its value”.

However, I repeatedly found that I couldn’t understand particular examples in the literature, so I started methodically learning abstract algebra, set theory, foundations, topology, etc. so that I could understand those examples of particular CT constructions. ;-)

I developed an independent interest and respect for these fields, and, from flipping back and forth between them, came to see them as expressing different aspects of the same ideas.

So you are starting with the assumption that “everybody” already knows “business as usual” and needs to hear about the fresh contributions that CT brings to the table, whereas I started with the notion that “everybody” wants to work in the exciting new field of CT but needs to learn to understand and respect the “traditional” approach.

So once again the principle of duality shows that we are in complete agreement (up to isomorphism). ;-)

Posted by: Marc Hamann on November 12, 2006 8:41 PM | Permalink | Reply to this

### Re: Reality Check

Category theory isn’t the same as n-category theory. Category theory is old, and in lots of mathematics it is very well established. (I agree that, pedagogically, it often makes sense to come to category theory after having learned a lot of concrete examples set-theoretically, so that you can be surprised and grateful that it unifies things so nicely. :-) For that matter, it makes sense to come to set theory after having learned a lot of concrete examples of, e.g. functions, and relations, in the context of numbers, elementary algebra and analysis, Euclidean and other geometries, etc.)

However, n-category theory is not old, and certainly not widely established and recognised as a basis for other parts of mathematics. It is just starting to be known in a few particularly suitable areas. Moreover, the whole area of n-category theory is not very well developed as a branch of mathematics. Lots of very basic theorems and concepts are missing or only partly formulated. So I think that accounts for the ghetto mentality, the proselytising and the sense of a young, exciting new field.

(OK, maybe I’m exaggerating a bit for dramatic effect.)

It’s true that the n-categorical community grew out of the categorical community in a way that the latter did not grow out of the community that created set theory, but to mathematicians (and mathematical physicists) outside these communities, this is not a very important distinction.

(Disclaimer: I don’t know the real history tremendously well. This is just my impression from the bits I have read.)

Posted by: Tim Silverman on November 12, 2006 9:11 PM | Permalink | Reply to this

### Re: Reality Check

Category theory is old, and in lots of mathematics it is very well established.

Well established or not, it can still be a bit of a black mark. My dissertation is extremely concrete, especially considering that the nearest relative is Khovanov homology. However I still had many people warning me that merely having the word “category” in the title would halve my job offers. That may be overstating the case somewhat, but sadly not by too much.

Posted by: John Armstrong on November 12, 2006 9:46 PM | Permalink | Reply to this

### Re: Reality Check

Marc wrote:

So once again the principle of duality shows that we are in complete agreement (up to isomorphism).

Great! That’s a relief. It’s nice when that happens.

I realized how much category theory and especially n-category theory still have underdog status in the USA when the topologist Peter May and I applied for an NSF grant on the subject.

It turned out that:

• Nobody had gotten a National Science Foundation grant for work on pure category theory for many decades. According to May, saying you’re a category theorist is the kiss of death. You can use category theory in your work, but don’t say you are a category theorist!

Subsequently, two students associated with May got NSF postdocs for work on pure n-category theory. So, things may be starting to change.

• I’m the most senior n-category theorist in the USA. If you count the whole world, this is far from true - compared to the bigshots in Canada, Britain, Europe and Australia, I’m still a kid. In the USA, I win the competition by default. There’s just barely anyone here seriously doing n-categories except me, my pal James Dolan, my students, and Peter May’s students.

(May doesn’t consider himself an n-category theorist. Dolan doesn’t have an academic job. Otherwise, either of them would outrank me as the “senior expert on n-categories” for the purposes of writing grant proposals.)

Our grant proposal was rejected. Twice. Luckily we were able to convert it into a proposal for an IMA workshop that got accepted.

So, I feel entitled to drum up interest in n-categories without worrying about the extinction of traditional set-theoretic mathematics. I find the most effective way to do this is to ignore the old prejudices against category theory and dive in, applying n-categories to everything in sight. But, the old prejudices still exist.

Posted by: John Baez on November 12, 2006 9:46 PM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

“a functor is an analogy”

But Jim Dolan once convinced me that an analogy is actually a span.

graceful : clumsy :: late : early,

and this is an analogy (according to the same web page), because both are examples of antonyms.

The source of the span here is the abstract notion of antonym; one leg maps this to the (relatively) concrete notion of movement, while the other maps to the concrete notion of time.

The point: In an analogy, you don’t just have the two concrete examples; you also have abstract pattern that appears in both of them.

Posted by: Toby Bartels on November 16, 2006 11:51 PM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

graceful : clumsy :: late : early

Seems an odd choice to me and no better than

graceful : clumsy :: early : late.

Isn’t a better example:

morning : evening :: childhood : old age ?

But the span idea’s interesting. A common source - a directed line - mapping into a day and a lifetime respectively.

The next stage to consider is Turner and Fauconnier’s Conceptual Blending. Goguen tried to represent this with what he called 3/2-pushouts. I have some slides of a talk I once gave around this theme.

Posted by: David Corfield on November 17, 2006 1:03 PM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

So, I guess what seems a bit lacking in the analogy you give is the lack of structure in the source, although it includes a symmetry. At what point of removing structure does the result fail to be an analogy? If the source were merely a pair of points, that wouldn’t do.

Posted by: David Corfield on November 17, 2006 1:28 PM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

I’m sorry, but I’m lost now, even with threaded comments. To which analogy (and which “you”) are you referring here?

Posted by: John Armstrong on November 17, 2006 2:31 PM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

I was referring to the analogy Toby mentioned:

graceful : clumsy :: late : early

Posted by: David Corfield on November 17, 2006 4:08 PM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

graceful : clumsy :: late : early

I wanted an example from ‘real life’ (as they say), so I searched Google for ‘analogy’. This was the first permanent example on the first hit, which is the only reason that I chose it.

But it works. We are in the category of sets equipped with involution, with the intended interpretation that each set is a set of adjectives describing something and the involution takes each adjective to its antonym; morphisms are functions that preserve (equivalently, reflect) the involution. The abstract source object doesn’t fit this interpretation, except in the most general and abstract way; it is an ordered 2-point set (maybe {‘first’, ‘last’}) equipped with the nontrivial involution. The first concrete target object consists of adjectives describing styles of movement; it includes ‘graceful’ and ‘clumsy’, which are antonyms and thereby linked by that sets involution. The second concrete target object consists of adjectives describing times of an event (relative to an expected time); it includes ‘late’ and ‘early’, which are also antonyms. The actual morphisms comprising the legs of the span are obvious.

(Of course, one can quibble over exactly which objects appear as the targets, even over exactly which category is involved. And it’s hard to believe that the objects that I’ve given are really well defined, since antonyms don’t always come in neat pairs. Then again, this example was probably never intended to work with mathematical precision.)

This isn’t a very deep analogy, which is why it exists within a single category. Deeper analogies (such as the analogies which are functors) should be spans in some 2category. The deepest analogies will be spans in an ωcategory.

Posted by: Toby Bartels on November 17, 2006 10:10 PM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

And a Goguenian pushout creatively throws up an image of graceful lateness and clumsy earliness. I guess it doesn’t work in baseball, but you’ll know you’ve understood cricket when you learn to appreciate an elegantly controlled late cut.

Posted by: David Corfield on November 17, 2006 10:43 PM | Permalink | Reply to this

### Re: Ulam on Banach; Re: A Categorical Manifesto

I think there’s room for both views, especially when you take into account the inherent directionality of the “is a” relation.

So given these two slogans, what’s a metaphor?

Posted by: John Armstrong on November 17, 2006 1:33 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

Banach (according to Ulam): “Good mathematicians see analogies. Great mathematicians see analogies between analogies.”

Jonathan asked: “Anyone think that the quote can be made axiomatical? That ‘very great mathematicians see analogies between analogies between analogies between analogies’?”

Actually Banach’s alleged saying sounds appealing but rather suspicious as shown by Jonathan’s suggestion that seems to push it towards being absurd.

We can check this by examples:I am sure there are many examples of useful analogies in mathematics (what are the best such examples, in your opinion) but can you give a few of analogies between analogies? And can you give a single example of an analogy between analogies between analogies??

(We can also check it by generalizing: Does Banach’s saying (or Jonathan’s) make sense if we replace “mathematician” by “scientists”,”police detectives”, “medical doctors”??)

So maybe Banach’s statement is not much better when scrutinized than the common public perception:

“Good mathematicians can multiply 2 digit numbers in their heads and great mathematicians can multiply 5-digit numbers in their heads!”

Posted by: Gina on November 13, 2006 1:23 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

The analogy between number fields and function fields treated in TWF205 has surely got to be in anyone’s Top 10.

For a meta-level analogy, three steps up the ladder are modifications of pseudonatural transformations. Anyone got a pretty example to show us?

Posted by: David Corfield on November 13, 2006 1:50 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

We can check this by examples:I am sure there are many examples of useful analogies in mathematics (what are the best such examples, in your opinion) but can you give a few of analogies between analogies? And can you give a single example of an analogy between analogies between analogies??

Analogy: A topological space X is to a covering space Y of X as the fundamental group of X is to the fundamental group of Y (a functor is an analogy). Better: The collection of covering spaces (up to homeomorphism) is like the collection of subgroups of the fundamental group (up to conjugacy).

Analogy: A field K is to an extension field K’ as the group of symmetries of K is to the group of K’. Better: the collection of extension fields is like the collection of subgroups.

Analogy between analogies: Both of these situations express an adjointness, and the analogies between covering spaces and subgroups of the fundamental group and between extension fields and subgroups of the symmetry group are analogous.

Posted by: John Armstrong on November 13, 2006 1:58 PM | Permalink | Reply to this

### High-level Analogies and endofunctions; Re: A Categorical Manifesto

More on High-level Analogies

I like John Armstrong’s analysis.

In the very old days, I think that I could have convinced Euclid (if I spoke Greek) and much later, Newton, that in Euclidean space:

“An analogy is a parallelogram in semantic space. To say A is to B as C is to D, where A, B, C, D are statements about the physical universe, social universe, or an abstraction, can be translated. The line segment jointing A to B is parallel to and the same length as the line segment joining C to D.”

This generalizes to vector spaces, and further to metric spaces. One actually sees this done, sort of, in Web 2.0 pages that analuyze web pages and make 2-D or 3-D maps of the keywords or sub-domains based on a metric of distance.

In that Eclidean sense of analogies, what is an analogy between analogies? Is it a 3-D parallelopiped? How does that generalize?

Posted by: Jonathan Vos Post on November 13, 2006 8:20 PM | Permalink | Reply to this

### Re: High-level Analogies and endofunctions; Re: A Categorical Manifesto

An analogy is a parallelogram in semantic space.

I’m sure you could. I’d start with comparing V.16 (“If four magnitudes are proportional, then they are also proportional alternately.”) with I.33 (“Straight lines which join the ends of equal and parallel straight lines in the same directions are themselves equal and parallel.”).

Oh wait, if alternate ratios and parallelograms are line segments then I’ve just drawn an analogy between analogies, haven’t I? Gosh, if there are so few of them around how come I can’t help but trip over them?

Posted by: John Armstrong on November 13, 2006 11:37 PM | Permalink | Reply to this

### Re: High-level Analogies and endofunctions; Re: A Categorical Manifesto

Oops, I even missed a level.

Proportionalities are analogies between quantities. Moving to an alternate proportion is an analogy between the analogies.

Equal and parallel line segments are analogies between points. Making a parallelogram is an analogy between analogies.

So the connection between V.16 and I.33 is an analogy between analogies between analogies, as requested.

Posted by: John Armstrong on November 13, 2006 11:43 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

Thanks, John, for the two very nice analogies which ringed a bell for me, and also the analogy between them. (This marvelous adjoint and how it relates the two examples sounds like a great invitation to category theory.) I could not follow the later stuff and, in particular, your analogies between analogies between analogies example. (I’d love to see more examples that I can understand or at least relate to.)

Now we can empirically test Banach’s statement. Is it true to say that the mathematicians who found the first and second analogies you mentioned are good mathematicians while the mathematician who found the analogy between the analogies is an excellent mathematician. (Who are these mathematicians?)

Posted by: gina on November 14, 2006 12:36 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

I’ll try to explain a bit more thoroughly.

Okay, a proportionality is a statement about four quantities of the same type (four lengths, say). It says that the ratio of length A to length B is equal to that of length C to length D – A:B::C:D. It’s pretty much the ur-example of an analogy.

V.33 says that if A:B::C:D then A:C::B:D. Do it with fractions if you like. Euclid’s method is a bit ugly. Anyhow, there’s a definite way that the analogies A:B::C:D and A:C::B:D are related. Given another proportionality E:F::G:H and its alternate E:G::F:H, we can see an analogy

(A:B::C:D):(A:C::B:D)::(E:F::G:H):(E:G::F:H)

Now equal and parallel line segments we can think of as displacement vectors. That is, given points A, B, C, and D we may have the segment AB and the segment CD equal and parallel, which basically means that B is displaced from A the same as D is from C. But if that’s true, then C is displaced from A the same as D is from B (the points are the corners of a parallelogram. The pair of segments (AB,CD) is an analogy, as is the pair (AC,BD), and these two are related in a specific way. In fact, given another set of points forming a parallelogram we have two analogies, (EF,GH) and (EG,FH). These are also related in the same way, so

(AB,CD):(AC,BD)::(EF,GH):(EG,FH)

The top of this pyramid is subtler. The idea is that each of the above analogies is true because of a commutativity. The parallelogram analogy essentially comes down to the commutativity of translations in Euclidean space, while the proportionality analogy comes down to the commutativity of multiplication of ratios of quantities.

As for who did what, both of those results are in Euclid, but we have little idea for sure who discovered them – many results in Euclid are known to not be original. Someone may have seen them as analogies (between analogies) and seen the analogy between them before, but I actually just concocted it on the fly in response to JVP’s comment.

So I suppose the question comes down: am I (John Armstrong) a great mathematician? If I am, surely it’s for reasons unknown (but time will tell).

Posted by: John Armstrong on November 14, 2006 1:10 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

John, I was not referring to the geometry stuff which while elementary does not speak to me. I was referring to (your great examples of) the analogies between subgroups of the fundamental groups and coveing spaces, and the analogy between extensions of a field and subgroups of a group; and the analogy between these two analogies.

According to Banach’s principle, good mathematicians make analogies and excellent mathematicians make analogies between analogies so we can test it here. The mathematician behind the second analogy you mention is Galois, right? As for the first example, perhaps Poincare? (I am not sure; he discovered the fundamental group, I think.) They were, for sure, good mathematicians. Who is the excellent mathematician behind the analogy between the analogies?

Posted by: Gina on November 14, 2006 2:02 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

The analogy I mentioned between function fields and number fields (related to John’s Galoisian/Poincarean one) could easily be cast as an analogy between analogies. Then we’d have Riemann responsible for the first, Kummer (followed by Dedekind) responsible for the second, and Dedekind-Weber responsible for the analogy between them (see chap 4 of my book). Later Artin and Weil got involved with a third analogy, which they related to the other two, by analogy.

I suppose that as particular analogies become part of the furniture of mathematics, it’s not so clever to see an analogy between them. It’s when one or both of the base analogies isn’t so well established, and yet still one sees the meta-analogy that we should gasp.

Posted by: David Corfield on November 14, 2006 8:41 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

Thanks, David, this is very interesting. I suppose Banach’s saying does make sense.
(He could just say: “good and great mathematician spend theit sweet lives by seeking analogies and analogies between analogies, among various other things.” But this would have been much less impressive.)

I question the third level form of analogies, also because naively it looks that you can express “analogies between analogies betwwen analogies” already by repeating twice somehow “analogies between analogies”.

But apropos Banach’s saying, what about “greatness” is it THE moving force behind it all? Greatness and the seek of greatness can also be questioned.

Posted by: Gina on November 14, 2006 3:19 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

I question the third level form of analogies, also because naively it looks that you can express “analogies between analogies betwwen analogies” already by repeating twice somehow “analogies between analogies”.

I know that my example wasn’t what you’re most interested in, but go back and read it as an illustration anyhow. I’m not just repeating “analogies between analogies”, but showing how those two are specifically analogous.

But apropos Banach’s saying, what about “greatness” is it THE moving force behind it all?

I think that the “greatness” is best understood in the context of the above-mentioned pendulum between problem-solving and intrinsic nature in mathematical fashion. I read Banach as exhorting a shift to searching for the hidden connections – the intrinsic nature – and noting that this took a great mathematician in a time when the focus was on solving specific problems.

On the flip side, nowadays I find that algebraic geometry has swung away from concrete problems to the point that it would take a phenomenal mathematician indeed to tell me what I’m supposed to do to solve an actual polynomial equation rather than just tell me how it’s like that equation over there.

Posted by: John Armstrong on November 14, 2006 3:53 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

Sure John, I will be happy to go back and read the geometry examples. (They are quite elementary.)

Posted by: Gina on November 15, 2006 6:00 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

One of the highest forms of meta-analogy we could mention is the Langlands Program. According to Frenkel:

Langlands Program has emerged in recent years as a kind of Grand Unified Theory of Mathematics. Conceived initially as a bridge between Number Theory and Automorphic Representations, it has now expanded into such areas as Geometry and Quantum Field Theory, tying together seemingly unrelated disciplines into a web of tantalizing conjectures. The Langlands Correspondence manifests itself in a variety of ways in these diverse areas of mathematics and physics, but the same salient features, such as the appearance of the Langlands dual group, are always present. This points to something deeply mysterious and elusive, and that is what makes this correspondence so fascinating.

But then we’d need to consider Kapranov’s ‘Analogies between the Langlands correspondence and topological quantum field theory’, which as Urs points out involves a categorification of a part of Langlands.

Posted by: David Corfield on November 15, 2006 12:34 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

But then we’d need to consider Kapranov’s ‘Analogies between the Langlands correspondence and topological quantum field theory’, which as Urs points out involves a categorification of a part of Langlands.

At that link I was complaining that experts I met did not try to see (geometric) Langlands itself as a categorification of something (namely of certain concepts in linear algebra #).

But now I see a comment by Ben-Zvi, which says, among other things:

After all, geometric Langlands is a very general categorification program in representation theory, so one would expect it to relate to the kinds of categorifications that give rise to Khovanov homology.

That sounds more like what I had in mind.

Posted by: urs on November 15, 2006 12:49 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

Shouldn’t something Langlandsian come out of the 2-representations of the general linear 2-groups we’ve been considering in Klein 2-geometry? Aside from Crane-Sheppeard and Freidel at al. on the Poincaré 2-group, have the 2-reps of any other 2-group been calculated?

Posted by: David Corfield on November 15, 2006 1:09 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

David wrote:

Shouldn’t something Langlandsian come out of the 2-representations of the general linear 2-groups we’ve been considering in Klein 2-geometry?

If only I knew… I’d have even one more project I’m too busy to actually do.

Aside from Crane-Sheppeard and Freidel at al. on the Poincaré 2-group, have the 2-reps of any other 2-group been calculated?

Yes, though with certain annoying “strictness” assumptions on the representations. Back in January 2005, I listed the papers I knew on this subject in week210 :

By now, Baratin, Freidel and coauthors possibly including myself have done a lot more work on representations of the Poincaré 2-group on 2-Hilbert spaces of Crane-Yetter type, following up on the work of Crane, Yetter, and Sheppeard.

Also, Danny Stevenson, Alissa Crans and myself are writing a paper where we classify representations of the Lie 2-algebra $\mathfrak{g}_k$ on 2-vector spaces of Baez-Crans type. This is equivalent to the Lie 2-algebra of the Lie 2-group that Urs likes to call $\mathrm{String}_G$.

Maybe something related to “geometric Langlands” should appear here, since $\mathrm{String}_G$ is built using the Kac-Moody central extension of the loop group of $G$, and that’s a key player in geometric Langlands theory.

I’m not sure what I should be keeping an eye out for, though.

Posted by: John Baez on November 16, 2006 2:04 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

It would be good to see someone give a comparison of 2-reps for a particular 2-group in different 2-vector spaces, according to Urs’ big picture (August 07, 11.40am).

I presume people are wondering about which equivalents of features of group representation theory might be found? Are there ‘locally compact 2-groups’, and if so, are there Haar measure and Peter-Weyl theorem equivalents? For finite 2-groups, is there an equivalent of orthogonality in the character table? In general, is there an equivalent of the adjunction between the restricing and inducing functors? What about the branching rules? There must be dozens more questions like these.

Posted by: David Corfield on November 16, 2006 9:00 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

a paper where we classify representations of the Lie 2-algebra $g_k$ on 2-vector spaces of Baez-Crans type.

Do these reps induce reps of the strict version of $g_k$? They should, I guess.

This is very interesting. As I certainly said somewhere before, the String-connection defined by Stolz-Teichner should be nothing but a 2-vector transport associated to a principal 2-transport for the String-2-group.

To see this, take the strict $\mathrm{String}_G = (\hat \Omega G \to P G)$ and form, for any highest weight rep

(1)$\rho : \Sigma(\hat \Omega G) \to \mathrm{Hilb}$

of the loop group the corresponding canonical 2-rep

(2)$\tilde\rho : \Sigma(\mathrm{String}_G) \to \mathrm{Bim} \stackrel{\subset}{\to} {}_{\mathrm{Hilb}} \mathrm{Mod}$

on 2-Hilbert spaces. This rep sends the single object of $\Sigma(\mathrm{String}_G)$ to the (von Neumann) algebra $A$ generated by the image of $\rho$, sends elements in $g \in P G$ to the $A$-$A$ bimodule which is $A$ as an object, with the right action twisted by the image of $g$ in automorphisms of $A$ - and so on.

The construction is the same as in principle for any finite dimensional strict Lie 2-group. Only difference here is that the tensor product of these loop group algebra bimodules involves Connes fusion. But Andreas Thom assured me that the construction goes through as expected nevertheless.

So, you see, a $\tilde \rho$-associated 2-vector transport yields a 2-connection on String-bundles, and locally it manifestly looks like the String-connection as defined by Stolz-Teichner.

This makes use of the fact that it is easy to represent 2-groups on 2-vector spaces in $\mathrm{Bim}(\mathrm{Hilb}) \subset {}_{\mathrm{Hilb}}\mathrm{Mod}$.

Now, I am wondering, if we have nontrivial reps of $g_k$ on Baez-Crans 2-vector spaces, which should be in

(3)${}_{\mathrm{Disc}(K)}\mathrm{Mod} \,,$

for $K$ the ground field, which notion of String 2-vector bundle connection that would yield.

Posted by: urs on November 16, 2006 9:46 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

David Corfield wrote:

It would be good to see someone give a comparison of 2-reps for a particular 2-group in different [i.e., differently defined types of] 2-vector spaces, according to Urs’ big picture (August 07, 11.40am).

Yes, it would. Until that happens, people will be restrained by not knowing which types of 2-vector spaces are the most interesting for representing different types of 2-groups - or more generally, what the really interesting questions are.

I presume people are wondering about which equivalents of features of group representation theory might be found? Are there ‘locally compact 2-groups’, and if so, are there Haar measure and Peter-Weyl theorem equivalents?

Good questions! I’ve never heard anyone talk about them until you did just now. Some of them seem straightforward. For example: yes, one can define 2-groups in any 2-category with finite limits (see HDA5), so in particular one can define topological 2-groups, locally compact topological 2-groups and so on. A strict locally compact topological 2-group will have a Haar measure on the group of objects and a Haar measure on the group of morphisms, which one can use to “average over the group action”. So, one can try start up the Peter-Weyl machinery in this case.

Weak 2-groups would take more thought, since they don’t have a group of objects - and for weak topological 2-groups, one should really be using Henriques’ definition instead of the obvious definition given in HDA5.

If one had an indefinite supply of grad students, and the energy to advise them, one could set them to work on all these issues.

But, right now there are very few people working on 2-groups. There are no “2-group theorists”: all these people are doing lots of other interesting things too. So, instead of trying to set up a vast edifice of machinery, the right approach is to find some really exciting examples, with connections to other branches of math, which will get more people interested in the subject. Then the machinery will practically build itself.

That’s why I’m working on specific examples, only developing enough general machinery to exhibit these examples. The string 2-group is the best one so far, since it hooks on to loop groups, affine Lie algebras, the WZW model - in short, the whole apparatus of postmodern Lie theory. The Poincare 2-group may also be really interesting - we’ll see.

As you know, various fields of mathematics tends to switch between periods of rapid expansion and periods of consolidation - periods of exploring examples and periods of systematizing what they’ve found.

People tend to typecast category theory as being all about consolidation and systematization, so you might think $n$-category theory was even more like that. But in fact, right now $n$-category theory is all about expansion and exploration. There’s gold in them there hills! If we find the nuggets, later people will set up efficient mines.

Posted by: John Baez on November 16, 2006 4:55 PM | Permalink | Reply to this

### 2-vector spaces

David and John were talking about the

big picture

of 2-vector spaces.

The idea behind that is that like an ordinary vector space is a module for a sufficiently nice ring, a 2-vector space should be a module category for a sufficently nice (in particular abelian) monoidal category.

For instance Kapranaov-Voevodsky 2-vector spaces are $\mathrm{Vect}$ module categories.

I think the term “big picture” was supposed to allude to the fact that also the Baez-Crans 2-vector spaces are examples for that general idea.

A BC 2-vector space is, by definition, a category internal to $K$-vector spaces.

Now let $\mathrm{Disc}(K)$ be the discrete category on the field $K$. It is monoidal and abelian.

It is clear that every BC 2-vector space is a $\mathrm{Disc}(K)$-module category.

I’d think that, conversely, every $\mathrm{Disc}(K)$-module category is a BC 2-vector space.

All right, but now I have a question:

John has also invented yet another notion of 2-vector space, namely 2-Hilbert spaces as defined in HDA II.

Stripped of the Hilbert space structure, according to this definition we would probably say that a 2-vector space is an abelian and $\mathrm{Vect}$-enriched category.

Now: how exactly are abelian $\mathrm{Vect}$-categories related to module categories over abelian monoidal categories?

I’d think that for a suitably well behaved notion of module category, every $\mathrm{Vect}$ module category is in fact also $\mathrm{Vect}$-enriched.

This is certainly true for the image in ${}_{\mathrm{Vect}}\mathrm{Mod}$ of the embedding

(1)$\mathrm{Bim}(\mathrm{Vect}) \stackrel{\subset}{\to} {}_{\mathrm{Vect}}\mathrm{Mod} \,.$

So, in as far as this image is all I really care about anyway, I guess all $\mathrm{Vect}$ module categories are also 2-vector spaces in the sense of HDA II.

But is there a converse to this statement?

Posted by: urs on November 16, 2006 5:42 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

David Ben-Zvi seems to be the kind of Langlands expert I was looking for when I lonesomely wrote those SCT entries on Langlands (like this one).

D. Ben-Zvi:

the Langlands duality is […] a kind of nonabelian generalization of the Fourier transform #

me:

Is it a nonabelian generalization, or isn’t it rather a categorification of the Fourier transform?

D. Ben-Zvi:

well it’s both.. […] Categorifications of the Fourier transform have been used for almost 30 years […] and the geometric Langlands program suggests that one can extend this to nonabelian settings […] #

That’s all I wanted to hear.

Posted by: urs on November 15, 2006 3:20 PM | Permalink | Reply to this

### Godel numbering endofunctions; Re: A Categorical Manifesto

Good examples a la Euclid, who may indeed have been an anthology editor, as suggested for Homer.

If Archimedes and Euler and Gauss are the greatest mathematicians, what analogies between analogies… are each best known for? Was Grothendieck or Turing or Godel or von Neumann the deepest into analogies of analogies of analogies…?

So what is the answer to my query on combinatorially enumerating the endofunctions on endofunctions on n points?

Posted by: Jonathan Vos Post on November 14, 2006 4:43 PM | Permalink | Reply to this

### Re: Godel numbering endofunctions; Re: A Categorical Manifesto

There’s no such thing as an “endofunction of an endofunction”. Nobody has defined functions between functions.

Posted by: John Baez on November 23, 2006 1:19 AM | Permalink | Reply to this

### Re: Godel numbering endofunctions; Re: A Categorical Manifesto

There’s no such thing as an “endofunction of an endofunction”. Nobody has defined functions between functions.

Rather, to make sense of this, we need to categorify! So while a set has a monoid of endofunctions, a category has a monoidal category of endo-functors; each endofunctor has a commutative monoid of endo-natural transformations.

I must confess that I’m not sure exactly what Jonathan has been counting (surely not all endofunctions of an nelement set), but to go higher, he should look at finite categories (or perhaps just finite groupoids to start with); but he’ll need to look at more than just the number of elements (objects or morphisms) to specify one of these.

Posted by: Toby Bartels on November 23, 2006 10:41 PM | Permalink | Reply to this

### Graphs of morphisms of graphs; Re: A Categorical Manifesto

Has this been generalized to 2-categories?

• BROWN, R., MORRIS, I., SHRIMPTON, J. and WENSLEY, C.D.
Graphs of morphisms of graphs

Abstract: This is an account for the combinatorially minded reader of various categories of directed and undirected graphs, and their analogies with the category of sets. As an application, the endomorphisms of a graph are in this context not only composable, giving a monoid structure, but also have a notion of adjacency, so that the set of endomorphisms is both a monoid and a graph. We extend Shrimpton’s (unpublished) investigations on the morphism digraphs of reflexive digraphs to the undirected case by using an equivalence between a category of reflexive, undirected graphs and the category of reflexive, directed graphs with reversal. In so doing, we emphasise a picture of the elements of an undirected graph, as involving two types of edges with a single vertex, namely bands’ and loops’. Such edges are distinguished by the behaviour of morphisms with respect to these elements

And I’ll ask the simplest way that I know: how many 2-categories are there on n objects, where the n objects are mapped to themselves by all possible endofunctions, and the n functions mapped to themselves by all possible endofunctionals?

Posted by: Jonathan Vos Post on November 14, 2006 9:19 PM | Permalink | Reply to this

### Re: Graphs of morphisms of graphs; Re: A Categorical Manifesto

how many 2-catgories are there on n objects, where the n objects are mapped to themselves by all possible endofunctions, and the n functions mapped to themselves by all possible endofunctionals?

I’m not sure this is a meaningful question in general: the number of morphisms in a category is a characteristic property of that category rather than predictable from the number of objects. (Looking at this from the inside out, this means that the number of possible morphisms depends on the internal structure of the objects).

Posted by: Marc Hamann on November 14, 2006 9:57 PM | Permalink | Reply to this

### Re: Graphs of morphisms of graphs; Re: A Categorical Manifesto

Looking at this from the inside out, this means that the number of possible morphisms depends on the internal structure of the objects

And of course we shouldn’t think about internal structure of objects. Instead we should study such structure by the morphisms between objects rather like scattering theory.

I’ll have to look through that linked paper to see what JVP is talking about at all, since the question is already nonsense for 1-categories. How many categories are there on one object? One for each monoid. There’s got to be some restriction of the kinds of categories we’re talking about in that paper that JVP is glossing over.

Posted by: John Armstrong on November 14, 2006 11:19 PM | Permalink | Reply to this

### Re: Graphs of morphisms of graphs; Re: A Categorical Manifesto

And of course we shouldn’t think about internal structure of objects.

Of course not… unless, of course, it helps you to understand a particular category. ;-)

There’s got to be some restriction of the kinds of categories we’re talking about in that paper that JVP is glossing over.

I’ve only skimmed the paper in question, but I think the answer is straight-forward: graphs are often defined such that they have at most one arrow between each pair of objects. In such a case, obviously you CAN talk about a correlation between the object count and the upper limit on the number of morphisms.

If you know the morphism count and have some knowledge of the required structure-preserving properties of the 2-morphisms, you can say something about the number of possible configurations of 2-categories thus generated.

Obviously, these properties will not hold in an arbitrary category.

Posted by: Marc Hamann on November 15, 2006 12:15 AM | Permalink | Reply to this

### John Baez partly answered; Re: A Categorical Manifesto

John Baez partly answered my questiion here.

Posted by: Jonathan Vos Post on November 16, 2006 3:19 AM | Permalink | Reply to this
Read the post Back from NIPS 2006
Weblog: The n-Category Café
Excerpt: Background knowledge in machine learning
Tracked: December 13, 2006 10:17 PM

### Re: A Categorical Manifesto

Why should computer scientists be interested in categories? Here’s my answer. Partly, of course, because they’ll help us understand the “Interesting Truths” of computer science: the “subtle unifying insights between broad classes of mathematical structures”, to quote the paragraph from Greg Egan’s novel Incandescence that I posted recently:

‘Interesting Truths’ referred to a kind of theorem which captured subtle unifying insights between broad classes of mathematical structures. In between strict isomorphism — where the same structure recurred exactly in different guises — and the loosest of poetic analogies, Interesting Truths gathered together a panoply of apparently disparate systems by showing them all to be reflections of each other, albeit in a suitably warped mirror. Knowing, for example, that multiplying two positive integers was really the same as adding their logarithms revealed an exact correspondence between two algebraic systems that was useful, but not very deep. Seeing how a more sophisticated version of the same could be established for a vast array of more complex systems — from rotations in space to the symmetries of subatomic particles — unified great tracts of physics and mathematics, without collapsing them all into mere copies of a single example.

But more specifically, I’m interested in them because I think they have huge — and under-used — potential in understanding human cognition and in building “intelligent” computers. I’m going to give several examples, which will make quite a long post. I hope that’s OK.

My first example concerns understanding how “logical unification” and “holographic reduced representations” are related. Logical unification is a kind of pattern matching. (It’s often just called “unification”, but I’ll preface with “logical” to avoid confusion with “unify” as in “insight”. Logicians reading this, please forgive such a cursory description.)

For instance, in the programming language Prolog, unifying the term 2*x+3*y with the term U+V, will bind the variable U to 2*x and the variable V to 3*y. Prolog programmers love this, because it’s such an easy way to get at pieces of structures.

But — computer science also knows a different kind of pattern matching, implemented by so-called “holographic reduced representations” or HRRs. These encode structures as bitwise or numeric vectors in very high-dimensional spaces, using circular convolution and circular correlation (or analogous operations) to build and decompose vectors. I’ll show an example in the next paragraph; for those who want to know more, these references give some background:

Here’s an example from Kanerva’s paper. The following equation computes a bitwise vector encoding data about France:

France = [Capital*Paris + Location*WesternEurope + Currency*Euro]

Here, + is vector addition, * is exclusive-or. The brackets [] denote a “normalised mean”, whose exact definition is given in Kanerva’s paper. Capital, Location and Currency are three randomly-generated vectors. The vector Capital represents a slot or field whose value will represent the capital of France; similarly for the vectors Location and Currency.

Paris, WesternEurope and Euro are three more randomly-generated vectors, representing the values of these slots. It’s important to note that all six vectors should be interpreted as atomic symbols: the actual values of their components have no significance.

Having computed the vector France, we can “probe” it by exclusive-oring with the vector Capital:

WhatCity = Capital *France
= Capital * [Capital*Paris + Location*WesternEurope + Currency*Euro]
= Capital*Capital*Paris + Capital*Location*WesternEurope + Capital*Currency*Euro
= Paris + (a bit of other stuff).

This works because * (that is, exclusive-or) is its own inverse, and because it distributes over the normalised mean [].

The final stage is to do what Kanerva calls a “clean-up”. You assume there is an associative memory that contains the six vectors originally generated. Fed any vector, it will quickly return whichever of the six closest to it. Which in this case,we hope will be Paris.

For this to work, various conditions on the distribution of vectors must be satisfied. But if they are, you can do some really nifty analogical reasoning. For example, you can ask how France is related to Paris by exclusive-oring the vector France with the vector Paris. This works the same way as above, and after the clean-up, will return Capital. Kanerva goes on to describe more ambitious reasoning tasks, such as forming a vector that represents Sweden, then asking “What is the Paris of Sweden”?

On the surface, holographic reduced representations are utterly different from logical unification. But I can’t help feeling that, at a deeper level, they are closely related. And there is a categorical formulation of logical unification, which regards it as finding coequalisers in a category whose objects are sets of terms and whose arrows are substitutions. This is described in the first reference below, by Rydeheard and Burstall. They say their formulation is derived from an observation by Goguen. So it may be based (I’m not an expert) on the ideas in the second reference:

So, can we extend that categorical formulation to holographic reduced representations? I don’t know. But if we could, we would better understand how they are related to logic programming, and we might gain new tools for analogical reasoning. It’s worth trying.

I’m going to post some more examples, but I’ll do so in a new comment, because I’m having terrible problems with HTML “character data” that the filter doesn’t like and that I can’t locate. So it’s easier to do so if I break the comment up into shorter pieces.

Posted by: Jocelyn Paine on August 2, 2008 2:54 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

Here’s a geometric algebra approach to HRR that I thought was neat. The author also notes that you can “do” most quantum algorithms geometrically, since instead of a $2^n$-dimensional basis for $n$ qubits, you have a $2^n$-d basis of multivectors for an $n$-dimensional space.

Posted by: Mike Stay on August 4, 2008 2:14 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

Mike, thanks. That’s nice.

For anyone who wants to experiment with HRRs, I’ve put up an SWI-Prolog implementation. It’s at:

It would be fun to implement an equivalent for the geometric algebra approach.

While I was tidying up the code, it occurred to me that one could apply Goguen’s ideas about conceptual blending to HRRs. From the following paper, for example. Goguen shows how to derive meanings for “houseboat” by blending the conceptual spaces for “house” and “boat”. He also solves a Buddhist puzzle by blending spatial and temporal interpretations:

Start by defining a category of theories that express the kind of information one wants one’s HRRs to encode. Model the theories as HRRs. Perhaps each theory can be modelled as a single vector (for each choice of vector space), giving us model categories whose objects are vectors.

Interplay between the relations we’d like to see between theories, and the transformations we can reasonably implement between vectors, should help us choose morphisms for the theory and model categories.

If a space of vectors has infinite dimension, it can presumably model the theories precisely. But for realistic, finite-dimensional, spaces, there’ll have to be some notion of approximation: the best HRR model, given that merging vectors loses information. Adjunctions somewhere…?

Then one could use the theories as the “conceptual spaces” Goguen writes about. Hopefully, optimum blending of theories would induce some nice blending operations on HRRs.

Posted by: Jocelyn Paine on August 26, 2008 10:44 AM | Permalink | Reply to this

### Goguen explores conceptual space; Re: A Categorical Manifesto

He keeps a focus on a system for understanding, and being able to automate, analysis of human metaphors about space and time.

Useful his his survey of different approaches to “conceptual spaces.” In this, “space” is a container for symbolic entities. In other threads, I’ve given one that he didn’t cite, Zwicky’s “Ideocosm” – and my questions about the topology of the space of all possible ideas.

The paper gives 4 example, each with its own kind of ambiguity {I’d mention, he does not, Seven Types of Ambiguity, by William Empson, 1966 - Literary Criticism]. And a Category Theory appendix. Natural language understanding is not addressed. Nor does it give new theory of human cognition. Rather, a framework by which, mathematically, we can explore human cognition more precisely.

I was fascinated by his example from Peter Gardenfors, who takes a more geometric approach.

Gardenfors says that every conceptual space is CONVEX…

Posted by: Jonathan Vos Post on August 27, 2008 5:31 PM | Permalink | Reply to this

### Re: Goguen explores conceptual space; Re: A Categorical Manifesto

“Gardenfors says that every conceptual space is CONVEX”

In a lot of cases isn’t that a problem in actual automated reasoning (and doesn’t match human experience) for a lot of cases? (With colour and spatial relations being the main exceptions.) For instance, I can imagine deciding that an animal that I see is a “Liger” that is the mixture of the lion and tiger concepts. But does any of my reasoning involve “mix of 0.7926 lion and 0.2074 of a tiger”?

On a more practical level, lots of data mining and machine learning assumes that, whilst you’ve got continuous vector valued observations (location, length, colour, shape, texture, etc) the concepts embodied are relatively distinct and well separated, or at least that meaningful concepts are and that concepts which aren’t reasonably distinct aren’t meaningful.

(BTW, anyone else having problem getting blockquote tags to pass validation in any text filter?)

Posted by: bane on August 27, 2008 7:35 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

(I’ve just posted one comment in reply to this thread, here. Presumably it will appear above this one anyway. I broke the post I was going to make into several pieces, because of problems finding out why the blog’s filter didn’t like my text.)

My theme is that category theory has heaps to offer Artificial Intelligence and cognitive science. We ought to be doing all we can to promote it, and to make it easy to learn. And we should be showing people the kinds of task it could be useful for. Which includes unifying deeply disparate areas of computing. Which AI and cognitive science are full of!

So here’s my second example: neural networks, and logic-based representations. I suppose most readers have come across neural networks, but for those who haven’t, I’ll describe them briefly. Neural networks consist of “nodes” connected in a network. The connections between nodes correspond to synapses between biological neurons. Typically, a node sums the signals from its input nodes, multiplying each input signal by the strength of the corresponding connection. It may then process the sum in some way — e.g. by thresholding — to calculate an output and an “activation”. The entire network can be regarded as a vector of these activation values, representing the data in the network.

Most kinds of neural network can learn by adjusting the strengths of their connections, thus mimicking — in a very simplified way — how the brain learns by adjusting synaptic strengths.

In Artificial Intelligence, there is a vast cultural chasm between neural nets and symbolic ways to represent knowledge. It’s rare for the same researcher to work on both, and students usually get taught about them in different courses. This reflects the differences between the two. The symbols in symbolic representations denote things. But in some kinds of neural net, the individual nodes don’t, although a whole set of nodes might. Therefore, such nets are often called “subsymbolic”, a word introduced by Paul Smolensky in the following paper:

(Holographic reduced representation vectors are also subsymbolic.)

As well as the “symbolic/subsymbolic divide”, there is a “compositional/non-compositional divide”. Symbolic ways to represent knowledge are “compositional”, in that the meaning of a sequence of symbols is determined by the meanings of its parts. Compositionality is good: if you can represent “coffee cup” and “cake”, it’s nice to be able to represent “coffee cup and cake” too. But if you have (say) an image-processing net which has learnt to represent images of coffee cups by one pattern of activations, and images of cakes by another, you can’t assume that superimposing or adding the patterns will represent a coffee cup and a piece of cake. So there has been a lot of argument about questions like: is the brain compositional; is composition by superimposing activation patterns the only kind of compositionality; and (as engineers) how can we design nets that are compositional?

Yet another difference is that symbolic ways to represent knowledge are often said to be “contextual”: they are leaky, in that what happens at one node can be very sensitive to data elsewhere in the network. Which is different from my Prolog program that will happily unify 2*x+3*y with U+V, giving the same results no matter what else is in my laptop’s memory. Again, there’s been a lot of argument about this. Unfortunately, a lot of the key papers on this and the other topics, though on-line, are locked up in pay-to-view sites. The reference below seems a good, and free, starting point:

I mention these differences not only to show how far apart neural nets are from symbolic systems, but also because category theory must have a lot to offer in answering such questions. Which is why the two references below are exciting:

In the first, Brown and Porter suggest using colimits to understand brain activity in terms of the component structures and neurons.

Healy goes further. He sets up a category Conc whose objects are theories representing concepts. Arrows represent “is a subconcept of”: there is an arrow from c1 to c2 if c1 is a subconcept of c2. He sets up another category Neur, whose objects are nodes in a particular neural network. Arrows represent the “can activate” relationship: there is an arrow from n1 to n2 if n1 can activate n2. Such an arrow tells us something about the neural network, namely that there is a path between n1 and n2, and that all the synaptic connections along this path are strong enough to propagate a signal from n1 to n2.

This wouldn’t be interesting unless the categories Conc and Neur were related, and indeed, Healy lets us define functors from Conc to Neur. In effect, each functor maps a network of concepts, represented as theories, to regions in a neural network where these concepts are represented.

What’s nice is that we can combine these neural-network representations by using natural transformations. I hope I have this right, because Healy doesn’t give much detail, but the point seems to be that a single neural network might learn different instances of the same concept.

For example, imagine an ambidextrous robot with mirror-identical arms and hands. Each hand has touch sensors: the left hand’s sensors are wired to one set of input nodes in the network, and the right hand’s to another set of input nodes. Assume the robot is taught to grasp an orange with its left hand, and then, independently, with its right hand. The region of its neural network fed from the left hand sensors learns a set of associations between finger pressure and movement; the region fed from the right hand learns, independently, a very similar set. This is an example I made up, by the way, so blame me if it turns out to be misleading.

The left hand and right hand associations can then be regarded as two functors, L and R, from Conc to Neur. I’m not sure what the logical content of the objects in Conc would be — theories describing what an orange is for, or what its shape is, or how to grasp it — but at any rate, they’d say something about oranges, and they’d be represented in two different regions in the neural network. We can merge these, Healy says, by setting aside a third region in the network which combines corresponding outputs from each of the first two.

But is this in fact a valid representation of the learnt concepts? Yes, if we let natural transformations guide us. As well as functors L and R, let there be a functor M which maps Conc to this third region. Set up mappings from L to M and R to M. Then, Healy shows, the third region is a valid representation if these mappings are natural transformations.

Can such ideas be applied to other kinds of neural network? Can we show other kinds of neural network to be reflections, in suitably warped Eganian mirrors, of logical theories? Can we characterise neural networks by properties of the categories containing them? (I suspect many of these categories won’t have products, because of interference between subnetworks, but that’s only a passing thought.)

And — very importantly, because we engineers have such small minds, so need to break problems into tiny pieces before we can understand them — can we use colimits and other tools to help us build modular neural nets?

… The next section of this comment will follow shortly.

Posted by: Jocelyn Paine on August 2, 2008 3:27 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

“(as engineers) how can we design nets that are compositional?”

I’ll just chime in on this one point here. In practice the question that determines which research advances is more often: given a dataset and model structures (ie, the form of the model) defined in some nice compositional way, do we have effective algorithms for learning their appropriate parameterisations. In particular, one really wants something which presented with “weakly labeled” images containing cups, cakes and “cups and cakes” will compute appropriate model parameters, particuarly pushing the appropriate features into the appropriate sub-model rather than throwing everything into the “cups and cakes” model. One of the reasons for the resurgence of interest in neural networks was the development of the back-propagation training algorithm which made actually using a neural network for real problems practicable. I occasionally try and think about how to link up the little category theory I understand and numerical predictions and learning. One thing that often crops up is that in machine learning one often converts naturally combinatorial models into continuous ones because one can try using standard numerical methods to learn them (sometimes thresholding the continuous results back into a combinatorial one). Of course these numerical methods often don’t work, but maybe we’ll end-up someday with better combinatorial optimisation algorithms.

Posted by: bane on August 5, 2008 2:38 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

one often converts naturally combinatorial models into continuous ones because one can try using standard numerical methods to learn them (sometimes thresholding the continuous results back into a combinatorial one).

I’d like to read about an example. Could you point me at one? Including the conversion back from continuous results to combinatorial model?

Posted by: Jocelyn Paine on August 9, 2008 1:07 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

The first point that comes to mind is spectral graph clustering (this is tutorial slides; you can google for more actual papers on spectral clustering/normalised cuts), where the simplest problem is to take a graph based upon pairwise similarity measures between “things” and split it into two classes such that the ratio of similarity between things in different classes over the similiarity between things in the same class is minimised (so that intuitively you’ve got a subdivision into two classes which are as “coherent but distinct as possible”).

So this is a purely combinatorial task: split a finite number of things into two subsets optimising some criterion. But it’s NP-complete so the best way currently known to solve this parameter learning problem is to relax it to a real-valued optimisation that’s efficiently solvable (at least on the floating point arithmetic level) that gives “real-valued” memberships and then threshold them to get the discrete split. One can construct problems where the relaxed problem solution isn’t the optimal combinatorial solution but they’re (a) contrived and very sensitive to the initial input; (b) because of this arguably you don’t want to know the optimum solution because it’s probably not learning meaningful concepts.

This kind of relaxation is common in machine learning and it’s not particuarly controversial. The key point I was making was that having machinery to specify a model, particularly combinatorial machinery, is the first part of the problem; often one needs an effective way to compute/learn good (ideally optimal) parameters for real instances of the model. In particular, I can see ways one could learn a function, but has any one done any work on learning morphisms between, say, 2-Vect’s? (I know David Corfield discussed groupoids for SVMs (actually I’m sure there was a better post the search function can’t find), but it’s still at the conceptual level of “what do we want from a solution” rather than an actual solution algorithm. (Which was the point of the post, all I’m saying is there’s more to do.))

Posted by: bane on August 10, 2008 1:06 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

I wrote “because of this arguably you dont want to know the optimum solution”.

By which I mean one wants to detect this case, throw the probably meaningless data away and look for new data that is embodying more clear cut concepts. Other than in coding theory (where you really want the best estimate of the bits transmitted no matter how garbled things get), that’s a general modeling property: problem instances that are excessively complicated probably aren’t worth solving anyway.

Posted by: bane on August 10, 2008 1:16 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

This is the third part of my comment. It continues from here.

My third example is similar in spirit to the last. In the early days of programming, one of Artificial Intelligence’s motivating ideas was the Physical Symbol System Hypothesis put forward by Allen Newell and Herbert A. Simon in the following paper:

This states that: “A physical symbol system has the necessary and sufficient means for intelligent action”. I suppose every hacker believes this, and hopes in their deepest soul that, one day, they will write the program that shows this to be true.

More recently, various researchers have proposed using dynamical systems ideas to understand cognition. This is the Dynamical Systems Hypothesis, and there’s some background on it in these references:

I was reminded of this by a nice paper I found, written by David Tall about the learning of mathematical concepts. He wrote it before the Dynamical Systems Hypothesis became popular, but it uses dynamical systems ideas to explain how learning one concept might be blocked by a conflicting earlier version of the same concept:

So, in a spirit similar to that of my neural network section, I ask: can we use category theory to help us map between logical descriptions of knowledge and their implementation as dynamical systems. Can we use it to help us build modular dynamical systems implementations?

Posted by: Jocelyn Paine on August 2, 2008 3:40 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

This is the fourth part of a long comment I’m posting; it continues from here. Just to recap, the theme is that category theory has heaps to offer Artificial Intelligence and cognitive science. We ought to be doing all we can to promote it, and to make it easy to learn. And we should be showing people the kinds of task it could be useful for. Which includes unifying deeply disparate areas of computing. Which AI and cognitive science are full of!

I’m going to ratchet up the stakes, and turn — I’ll explain why in a minute — to Margaret Thatcher. In the 1980s, she was Prime Minister of Britain, and Denis Thatcher was her husband. Ronald Reagan was President of America. So, if you were to ask an American “Who is First Lady of Britain?”, what could they reply? A reasonable answer is “Denis Thatcher”. But to make it, you must be willing to “slip” the concept of First Lady, weakening it to First Spouse as you transfer from an American frame of reference to a British.

Now consider the following two number patterns:

A: 1 2 3 4 5 5 4 3 2 1

B: 1 2 3 4 4 3 2 1

What is to B as 4 is to A? Most people would answer 3. It’s to the left of the central pair of numbers in B, just as 4 is to the left of the central pair of numbers in A. 4 in A and 3 in B are like Nancy Reagan and Denis Thatcher: they’re not the “most distinguished point” in their landscape, but they are closely related to that point. They fill the same rôle.

Here is another number problem:

A: 1 2 3 4 5 5 4 3 2 1

D: 1 1 2 2 3 3 4 4 5 4 4 3 3 2 2 1 1

What is to D as 4 is to A? A brute-force attempt to find D’s central pair won’t work. But it seems reasonable to “slip” the concepts of “pair” and “singleton” as we transfer from A’s frame of reference to D’s. Which gives us the answer 4 4.

These problems come from a column that Douglas Hofstadter wrote for Scientific American. He collected them, with later additions, into a book, and I’m particularly interested here in two of its chapters:

• Douglas Hofstadter, Metamagical Themas, Basic Books, 1985. See Variations on a Theme as the Crux of Creativity (Chapter 12) and Analogies and Roles in Human and Machine Thinking (Chapter 24).

Hofstadter argues that analogy is at the core of human thought and creativity. To quote from Chapter 24:

Don’t press an analogy too far, because it will always break down. In that case, what good are analogies? Why bother with them? What is the purpose of trying to establish a mapping between two things that do not map onto each other in reality? The answer is surely very complex, but the heart of it must be that it is good for our survival (or our genes’ survival) , because we do it all the time. Analogy and reminding, whether they are accurate or not, guide all our thought patterns. Being attuned to vague resemblances is the hallmark of intelligence, for better or for worse.

Therefore, he says, human analogical thought is what we need to study. And we should do so by within “microdomains” such as the number problems, because then — in proper scientific spirit — we can isolate analogical thought from other phenomena.

He was particularly interested in why we slip some concepts more than others, and in what one might call rôles versus literals. As an example of the first: I’m in the pub, and I accidentally spill my pint of beer over my shoes. Why is it natural for me to “slip” my situation to “Good job I don’t have to go anywhere smart tonight!”, but not to “Shame gravity isn’t weaker, so the beer would have stayed in the air!”?

As an example of the second, why, when solving the two number problems, do we perceive 4 as filling a rôle at all in pattern A, then try to find a value for the equivalent rôle in patterns B and D? Why don’t we just say, “Well, the obvious answer is the same value, 4”?

There are some lovely examples in those two chapters, which I do recommend to anyone interested. But what’s the connection with categories?

Hofstadter and his colleagues wrote several programs to implement their theories of analogical thought in microdomains. These programs include include Copycat:

And they include Tabletop:

• Robert French, The Subtlety of Sameness: a Theory and Computer Model of Analogy-Making, MIT Press, 1995.

Doesn’t that title sound like something to interest every red-blooded n-categorist? Anyway, Tabletop solves problems such as “I am sitting at a table and I touch my nose. What should you touch?”. Or “I touch the flower vase in the centre. What should you touch?”. Or, one more: “I touch the cup near me. You have a glass but no cup. What should you touch?”

Now, these programs are complicated. They contain swarms of biologically-inspired enzyme-like entities swimming around in a kind of symbol-filled cytoplasmic glop, glomming onto bits of concepts, and slowly crystallising out into a finished answer to the problem. They lack — as far as I know — any easily understandable semantics.

So, I’m going to suggest, can we use categories to give them such a semantics? Or, more generally, to formalise our ideas about the best solutions to the kind of analogy problems that Hofstadter and his colleagues discuss? A good starting point here would be Goguen’s ideas on conceptual blending, already mentioned earlier in this thread. For example:

Let me finish this section of my comment with two more Hofstadter quotes. As I said at the beginning, the stakes are high:

[…] I have been emphasising the idea of the internal structure of one concept. In my view, the way that concepts can bond together and form conceptual molecules on all levels of complexity is a consequence of their internal structure. What results from a bond may surprise us, but it will nonetheless always have been completely determined by the concepts involved in the fusion, if only we could understand how they are structured. Thus the crux of the matter is the internal structure of a single concept, and how it “reaches out” towards things it is not. The crux is not some magical, mysterious process that occurs when two indivisble concepts collide; it is a consequence of the divisibility of concepts into subconceptual elements. As must be clear from this, I am not one to believe that wholes elude descriptions in terms of their parts. I believe that if we come to understand the “physics of concepts”, then perhaps we can derive from it a “chemistry of creativity”, just as we can derive the principles of the chemistry of atoms and molecules from those of the physics of quanta and particles. But as I said earlier, it is not just around the corner. Mental bonds will probably turn out to be no less subtle than chemical bonds.

You can think of concepts as start, and knob-twiddling as carrying you from one point on an orbit to another point. If you twiddle enough, you may well find yourself deep within the attractive zone of an unexpected but interesting concept and be captured by it. You may thus migrate from concept to concept. In short, knob-twiddling is a device that carries you from one concept to another, taking advantage of their overlapping orbits.

Of course, all this cannot happen with a trivial model of concepts. We see it happening all the time in minds, but to make it happen in computers or to locate it physically in brains will require a fleshing-out of what concepts really are. It’s fine to talk of “orbits around concepts” as a metaphor, but developing it into a full scientific notion that either can be realised in a computer model or can be located inside a brain is a huge task. This is the task that faces cognitive scientists if they wish to make “concept” a legitimate scientific term. This goal, suggested at the start of this article, could be taken to be the central goal of cognitive science, although such things are often forgotten in the inane hoopla that is surrounding artificial intelligence more and more these days

“These days” were in the 1980s, so perhaps we can disregard the remark about the inane hoopla. Though there seems to be a lot of inane hoopla surrounding computing in general. But what about the rest of the quotes. Does it make sense to think about a “chemistry of concepts”; to make “concept” a legitimate scientific notion?

Actually, Michael Healy, who I mentioned earlier for his work on mapping concepts to neural nets, has with coauthors Thomas Caudell and Timothy Goldsmith, just released another report:

This is their abstract:

Categorization and the judgement of similarity are fundamental in cognition. We propose that these and other activities are based upon an underlying structure of knowledge, or concept representation, in the brain. Further, we propose that this structure can be represented mathematically in a declarative form via category theory, the mathematical theory of structure. We test the resulting mathematical model in an experiment in which human subjects provide judgements of similarity for pairs of line drawings using a numerical scale to represent degrees of similarity. The resulting numerical similarities are compared with those derived from the category-theoretic model by comparing diagrams. The diagrams represent distributed concept structures underlying the line drawings. To compare with a more conventional analysis technique, we also compare the human judgements with those provided by a two-dimensional feature space model equipped with a distance metric for the line drawings. The results are equally favorable for both models. Because of this and the putative explanatory power of the category-theoretic model, we propose that this model is worthy of further exploration as a mathematical model for cognitive science.

Which is extremely interesting, and reminiscent of Hofstadter’s remark: “Thus the crux of the matter is the internal structure of a single concept […]”.

I’ll finish this comment, Web demons permitting, in my next post.

Posted by: Jocelyn Paine on August 2, 2008 5:29 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

This is the final part of a comment on things I believe category theory has to offer Artificial Intelligence and cognitive science. It continues from here.

I’ll finish by talking about a Lawvere paper. It’s the following reference — which, I’m pleased to note, is public at Google Books — and I mention it because I found it in a book on cognition:

Here’s how Lawvere concludes the paper:

Despite some simplification in the above, needed for rapid description, I hope that I have made clear that there is a great deal of useful precision lying behind my illustrations, and a great deal to be developed on the same basis. Thus I believe to have demonstrated the plausibility of my thesis that category theory will be a necessary tool in the construction of an adequately explicit science of knowing.

Now, I don’t know enough to describe these “illustrations” succinctly, but they include his notion of unity-and-identity-of-opposites, which I discovered from this reference:

is also known as an adjoint cylinder. I mention this only because it sounds like something wonderful.

Lawvere’s illustrations also include the notion of an adequacy comonad. Now, I hadn’t come across adequacy comonads before, but they sound as though they might be very useful in understanding approximations to concepts. Moreover, the adequacy comonad sounds like an exquisite and intricate piece of mathematical machinery, and I hope someone will give me a working model. One I can pick up, prod, peer into, pull to pieces, and generally play with. Steam or electric.

However, I’ve another reason for mentioning the notion. Lawvere uses it to show how the study of closed categories contributes to the study of metric spaces (in this case, via the use of adequacy comonads in the geodesic remetrisation of a metric space). He then says that, conversely, we can take notions such as “radius” and “engulfing” from the study of metric spaces and create “precise analogues [of these notions] for concrete generals enriched in any (even non-posetal) closed categories V”.

I don’t need to fear the strange phrase “concrete general”, because John Baez explains it in:

A “concrete general” is the category of all the models of a theory. (Is there more to it than that?)

Now, I don’t know whether Lawvere is using the words “radius” and “engulfing” in some sense far removed from their everyday meaning. But if not, can his remark also apply to other spatial and dynamic notions? Such as “orbit” (around a concept); “attractive zone” (of a concept); “migrate” (from concept to concept). In other words, to the metaphors that Hofstadter uses, and that he says will need to be made precise before we can create a “chemistry of concepts”. If so, then category theory will be an invaluable tool for cognitive science.

Even if I’m completely wrong in that last paragraph, Lawvere says category theory “will be a necessary tool in the construction of an adequately explicit science of knowing”, which is good enough for me. So I did an experiment. I searched Google and CiteseerX on his main title, Tools for the Advancement of Objective Logic.

Apart from citations in library catalogues, and papers on philosophy or pure category theory. I found only two authors whose papers seemed, on a quick skim, to depend in some important way on Lawvere’s paper. For interest, I give the references below. (The second author, Zippora Arzi Gonczarowski, had one paper on a pay-to-view site that I couldn’t read, but the abstract shows me that it’s about the same topic as the paper below):

Lawvere’s paper seems filled with crystals of compressed insight, glittering through the surface of the text like quartz through a covering of dry pine-needles. I find them intensely satisfying to contemplate, in the same way I do some El Lissitzky posters and De Stijl typography. Perhaps, high in my brain’s abstraction hierarchy, the same neurons are activated by both: category theory as the ultimate abstract sculpture.

But, aesthetics aside, how can we bring such power to more researchers than the two who cited it? I’m using Lawvere’s paper as a representative of category theory generally, of course. Ask a first-year LISP hacker to iterate over a list, and they’ll reach naturally for recursion or a MAP function. Can we bring up a generation of category-theory hackers, who, when you ask them to model putting something together, will reach naturally for a colimit?

Assuming that category theory really does have something to offer AI and cognitive science.

Posted by: Jocelyn Paine on August 2, 2008 6:26 PM | Permalink | Reply to this

### Courts of Chaos; Re: A Categorical Manifesto

“orbit” (around a concept)…

This looks like something that I need to study as I rewrite my draft paper on how what we call The Law (State and Federal courts) is a chaotic attractor in the space of all possible laws. Law, being precedent-based rather than axiom-based, have a sensitivity to initial conditions (i.e. precise language of legislation) and feedback mediated by Stare decisis which [United States Internal Revenue Serv. v. Osborne (In re Osborne), 76 F.3d 306, 96-1 U.S. Tax Cas. (CCH) paragr. 50,185 (9th Cir. 1996)] is the policy of the court to stand by precedent; the term is but an abbreviation of stare decisis et quieta non movere — “to stand by and adhere to decisions and not disturb what is settled.” Consider the word “decisis.” The word means, literally and legally, the decision. Nor is the doctrine stare dictis; it is not “to stand by or keep to what was said.” Nor is the doctrine stare rationibus decidendi — “to keep to the rationes decidendi of past cases.” Rather, under the doctrine of stare decisis a case is important only for what it decides — for the “what,” not for the “why,” and not for the “how.” Insofar as precedent is concerned, stare decisis is important only for the decision, for the detailed legal consequence following a detailed set of facts.

Lawvere’s paper also cuts to the chase of how we can define what I’ve mentioned in other threads here: what is the topology of the Ideocosm (the space of all possible ideas)? What subset of that is a metric space, and what subset a semimetric space, and what subset is neither?

Posted by: Jonathan Vos Post on August 2, 2008 8:43 PM | Permalink | Reply to this

### hierarchical, horizontal and vertical; Re: Courts of Chaos; Re: A Categorical Manifesto

Oh, I forgot to mention the underlying hierarchical structure and distinction between horizontal and vertical (which have a categorical flavor to me):

Vertical stare decisis

Generally, a common law court system has trial courts, intermediate appellate courts and a supreme court. The lower courts conduct almost all trial proceedings. The lower courts are bound to follow precedents established by the appellate court for their jurisdiction, and all supreme court precedent.

Appellate courts are only bound to follow supreme court decisions. The application of the doctrine of stare decisis from a higher court to a lower court is sometimes called vertical stare decisis.

Horizontal stare decisis

The idea that a judge is bound by (or at least should respect) decisions of earlier judges of similar or coordinate level is called horizontal stare decisis.

In the United States federal court system, the intermediate appellate courts are divided into “circuits”. Each panel of judges on the court of appeals for a circuit is bound to follow the prior appellate decisions of the same circuit. Precedents of a United States court of appeals may be overruled only by the court en banc, that is, a session of all the active appellate judges of the circuit, or by the United States Supreme Court.

When a court binds itself, this application of the doctrine of precedent is sometimes called horizontal stare decisis. The State of New York has a similar appellate structure as it is divided into four appellate departments supervised by the final New York State Court of Appeals. Decisions of one appellate department are not binding upon another, and in some cases the departments differ considerably on basic points of law.

[wikipedia lazily used as source of above definitions]

Posted by: Jonathan Vos Post on August 2, 2008 8:55 PM | Permalink | Reply to this

### Re: hierarchical, horizontal and vertical; Re: Courts of Chaos; Re: A Categorical Manifesto

Your mention of horizontal and vertical stare decisis reminded me of Goguen’s distinction between horizontal and vertical composition of software modules. But also, of software version control. Version control is concerned with updates to combinations of program components; could the categorical formulations be adapted to model updates to legal systems?

This paper briefly explains Goguen’s notions of horizontal and vertical module composition, with references to supporting work:

A Google search found me several references on category theory for formalising version control. I don’t know the literature here — perhaps someone can point to a good review article? — but as an example, the references included:

Posted by: Jocelyn Paine on August 9, 2008 12:56 PM | Permalink | Reply to this

### Re: Courts of Chaos; Re: A Categorical Manifesto

what is the topology of the Ideocosm (the space of all possible ideas)? What subset of that is a metric space, and what subset a semimetric space, and what subset is neither?

That’s a huge question! Can one answer it without knowing anything about the purposes for which the ideas are to be used or the kind of mind or program using them?

Which brings one back to microdomains such as those of Hofstadter and colleagues. Or your evolution of laws. Could you build a computer model of the latter, and see what kind of trajectories it generates?

Represent laws as theories (Prolog ought to be good for this). Build the theories as colimits of a few legal primitives, then estimate their similarity by counting morphisms in common in the colimit diagrams, the way Healy, Caudell, and Goldsmith do in that report:

You’d need a way to simulate how one precedent gets generated from another. Perhaps you could set up a simple two-person society with many resource limits, so that the inhabitants keep fighting over resources and needing to resolve these fights in court.

The resources could be schematic. Assume that inhabitants A and B are programmed to need several kinds of food: pmmmbf, groff, duff, riz, and chmblwxtrl. Groff is a lot like duff, less like riz, and not at all like chmblwxtrl. The simulation initially grows groff at a constant rate; but suddenly stops growing it. So A and B then go to law, and get a decision on how to share the few grains of groff that are left.

Then the duff crop fails too. A and B go to court again, and because duff is like groff, the court’s decision on groff has established a precedent for duff. But when the chmblwxtrl crop fails, chmblwxtrl is so unlike groff that the decision on groff can’t be used as precedent, and the courts have to make a completely new law. (So the similarity between resources is inducing a similarity between legal decisions.)

Had the crops failed in a different order, the trajectory through legal-decision space would have been very different.

Posted by: Jocelyn Paine on August 9, 2008 12:02 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

I thought I’d add one final reason for my interest in category theory. Spreadsheets!

Excel spreadsheets are a big source of errors. One reason is that Excel doesn’t have the notion of “modules”: chunks of program that can be written, tested and debugged one at a time, then used in as many different spreadsheets as you want. If you develop a spreadsheet in Excel, and want to use part of it in another spreadsheet, you have to copy and paste cells from the first spreadsheet to the second. If you then need to change these cells — perhaps because they have bugs, or perhaps to make the formulae in them faster — you have to make the same changes to both spreadsheets. You can’t just change one component, and have the changes propagated to every use of it. So Excel programmers tend to accumulate numerous almost-identical copies of their code. Version-control becomes a nightmare.

I’ve been experimenting with ways to overcome this, via various schemes for modularising spreadsheets. And below are references to a demo of one such scheme — a prototype component library for Google’s online spreadsheet, which lets you add code to a spreadsheet much as you would bar-charts and other displays — and to a paper about the component library for Google’s spreadsheet and for Excel. Both are for spreadsheet users, so not very technical:

Both these were inspired by Joseph Goguen’s work on sheaf semantics, and his dogma that the behaviour of a system is the limit of the behaviours of its components, explained in:

I said a bit about this in a posting here. It seems that his work also inspired research into the algebraic specification languages for software.

It illustrates the power of category theory to project down into unsuspected regions of computing. Even if we will never see a book on Category Theory with Excel.

Posted by: Jocelyn Paine on August 12, 2008 6:47 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

“Can we bring up a generation of category-theory hackers, who, when you ask them to model putting something together, will reach naturally for a colimit?”

One small attempt I’ve made to help: these Web-based category theory demonstrations. Press buttons, and generate products, equalisers, exponential objects, etc., with diagrams. The exponential object demo, I’m pleased with: its diagram is an image map, and by clicking on the objects and arrows, you can see their content.

Tell me what you think.

Posted by: Jocelyn Paine on January 15, 2009 11:01 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

Jocelyn wrote:

Tell me what you think.

I think it’s great! Especially for students of category theory. This kind of tool has the potential to make abstract concepts a lot less scary, by providing examples that the student can manipulate even before they understand the concepts well enough to do all these manipulations on their own.

But: I was going to do a blog entry on this program when I first heard about it. Then I tried to run it. I tried taking a product of two sets… and nothing happened! I decided that either program was broken or Java wasn’t working on the computer I was using at the time.

The same thing happened just now, except I had the sense to scroll down… and see all the fun was happening further down the webpage, in a region I hadn’t seen!

So, I think the interface could be improved. Maybe have the diagrams and text appear in a separate pop-up window? Or somehow show up above the place where the user makes their choices?

Also: I think it’d be great to let the user choose among various pullbacks and pushouts, not just products and coproducts. Of course these are harder to program. But in the category of sets, products (Cartesian products) and coproducts (disjoint unions) are quite familiar. It’s pullbacks and pushouts that students find more intimidating at first.

Posted by: John Baez on January 15, 2009 4:53 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

John, thanks for the compliment! I’ve improved the interface, following your suggestions to make it easier to use:

Instead of the results appearing on the page you submit, only a link to them does. At the top, so that one need not scroll down to notice it. Clicking on the link opens the results in a new browser window or tab (whether it’s a window or tab depends on the browser, I think — I’d prefer a new window, but don’t know how to enforce that).

I’ve rewritten the instructions to make it clear that neither JavaScript nor Java are needed, so that the demos should work in all browsers.

Pullbacks, pushouts, equalisers and coequalisers now have input fields where you can type the relevant objects and arrows. The program checks these for compatibility. Typing these might be a bit tedious, because of the implicit repetition. E.g. one types in the elements of a set u; and then types the pairs defining a function f from u, so that one is implicitly retyping u as f’s domain. But with good old CGI, rather than e.g. Ajax, I probably can’t do much better. And I have arranged that when you submit a form, the values you entered into its input fields will reappear on the form that comes back, so that you can tweak them and do another run, rather than having to reenter all the sets from scratch.

One problem is that the demos are fairly slow. That’s because they’re running on a shared machine at the Internet hosting company I use — Mythic Beasts; might as well give them a plug because they’ve been very understanding when I’ve jammed their system by spinning off huge numbers of limit processes. So I have to reduce my priority to avoid upsetting other users. (That’s why I put a sponsorship request on the demonstrations page, because it would be nice to be able to pay for a faster server.)

Posted by: Jocelyn Paine on January 25, 2009 8:47 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

The improvements look good, Jocelyn!

I tried a random equalizer, and it worked. I tried a random pullback and got this error message in red:

The request which Prolog received as go(set_pullback, [random, random, random, random, random]) failed.

Posted by: John Baez on January 25, 2009 9:31 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

Silly of me, John. I had accidentally typed twice the call that generates one of the random sets. When the two instances weren’t equal, the predicate tried to unify the same variable with both, and failed. Pushouts had the problem too. Now fixed, I hope, though it will be a few days before I have time spare to check I’ve not broken the calculations.

Posted by: Jocelyn Paine on January 27, 2009 6:22 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

Jocelyn Paine pointed to

It would be a real treat to have an applet demonstrating a categorical product at $n$Lab: product and an applet demonstrating a categorical coproduct at $n$Lab: coproduct.

Maybe it would would make for a nice synergy effect between your and our efforts?

Posted by: Urs Schreiber on January 15, 2009 9:55 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

“It would be a real treat to have an applet demonstrating a categorical product at nLab: product and an applet demonstrating a categorical coproduct at
nLab: coproduct.”

Hi Urs. Yes, that would be really nice. I have thought about applets, but haven’t decided on an appropriate level of graphics software.

On the one hand, I’d considered writing an applet to help novices with the idea of “saying it with arrows”. Something where you’d have a canvas covered with little arrows, and you’d be able to drag them around and compose them, etc.

Now take a look at the lovely applets on Ken Perlin’s page. His springy duck is really nice. Drag it with the mouse, then let go! Anyway, he uses relatively simple graphics techniques, which would suffice for a “language of arrows” applet.

On the other hand, in my “non-uniqueness of products” demo, I tried some text-adventure-style writing — there’s an example here — to help the reader chunk the notion of product into a single concept. I don’t know how well you think this succeeds, though I quite like imagining myself standing on my objects rather than looking down at them. But assuming something like that to be a useful teaching aid, animating it needs much more sophisticated graphics. For example the 3D animation-programming system
Alice.

If there are any categorists who are also graphics programmers reading this, can you recommend any graphics software? Is Java the best to use in a browser? Or would I be better off with the HTML5 canvas element? Etc., etc.

Maybe I can ask one other thing, picking up the end of my reply to John Baez. Where can one get funding to pay for developing these kinds of mathematical demonstrations, as well as a server to run them on? At the moment, it’s just something I’m doing in my spare time.

Posted by: Jocelyn Paine on January 25, 2009 9:33 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

Does the wiki software currently have the ability to include applets on a page?

Posted by: Eric on January 26, 2009 12:23 AM | Permalink | Reply to this

### applets

It has the ability to filter out all attempts to do so.

For obvious security reasons.

Posted by: Jacques Distler on January 26, 2009 1:08 AM | Permalink | PGP Sig | Reply to this

### Re: applets

Right. You wouldn’t want any yahoo coming in and adding applets, but what if an adminstrator would like a page to include a sanctioned applet? Is that possible?

Posted by: Eric on January 26, 2009 1:34 AM | Permalink | Reply to this

### Demo animations HOWTO

• You would need an object framework for using HTML canvas for the purpose (not supported in Microsoft Internet Explorer);
• Java is just too heavy and Java applets are not supported on Debian Firefox x64;
• I think SVG would be the best choice. (Of course, most graphic artists would approach it with Adobe Flash.)
• The easiest thing to do is a 2D demo using positioned images and scripted CSS.
Posted by: Christopher Yeleighton on December 20, 2009 10:18 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

Jocelyn wrote:

Where can one get funding to pay for developing these kinds of mathematical demonstrations, as well as a server to run them on? At the moment, it’s just something I’m doing in my spare time.

I think the NSF funds some development of mathematical software — check out the Geometry Center for example. I think they’re also soliciting grant proposals for Enhancing the Mathematical Sciences Workforce in the 21st Century and Course, Curriculum, and Laboratory Improvement. They tend to have a strong bias against category theory, though (perhaps because the bigshots who run the place didn’t get exposed to your demonstrations at an early age). So, if you write a grant proposal, don’t say ‘category theory’ very often — just say you’re trying to develop software for math education.

I imagine that a number of university math departments might be willing to give you a computer account and access to their website if you make nice math software available there. It’ll probably work best if you find people who are already working on vaguely similar things, and befriend them.

Computer science departments might be even better, since there are lots of category theorists secretly working in these departments, and they tend to have more money and hardware than math departments.

Posted by: John Baez on January 25, 2009 10:04 PM | Permalink | Reply to this

### Re: A Categorical Manifesto

What about including IFRAME tags in the wiki? These enable one Web page to include a view into another, in a scrollable window. I’ve put up an example here, where the tag frames a small form that runs only one of my demonstrations, of product. (If your browser doesn’t understand the tag, it should display “Your browser does not support iframes”.) The user interface isn’t as convenient as an applet’s could be, but it would allow us to embed my, or anybody else’s, Web-based demos on an nLab wiki page.

I’ll try placing the same HTML code below, though when I looked at it in preview, the browser didn’t render it. Anyway, let’s try:

Your browser does not support iframes.

Posted by: Jocelyn Paine on January 27, 2009 10:55 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

Hmmm. I’ve just viewed the source of my previous posting, and the blogging software has removed the IFRAME tags, which is why you won’t see a frame at the end of that post. But the example I did in a stand-alone page definitely does work, on the latest versions (for XP) of both Firefox and Internet Explorer. So if it’s any use, I’d be happy to code something similar to include in nLab.

Posted by: Jocelyn Paine on January 27, 2009 11:05 AM | Permalink | Reply to this

### Re: A Categorical Manifesto

I have put a new example at the bottom of that IFRAME demonstration page. It might be nice for nLab; but could indeed be embedded in any page. The frame is smaller, and encloses only input fields (two sets, for the product demo), and their SUBMIT button. Pressing this makes the page in the frame reload itself, now showing a link to the demonstration’s output (text and diagrams explaining product). Clicking on this link opens the output in a new window or tab. Importantly, this is outside the frame, so you don’t have to peer at it through a tiny hole, and still have all your other pages on display.

Posted by: Jocelyn Paine on January 27, 2009 3:35 PM | Permalink | Reply to this