Eckmann-Hilton argument

The EckmannHilton argument


Higher category theory

higher category theory

Basic concepts

Basic theorems





Universal constructions

Extra properties and structure

1-categorical presentations

The Eckmann–Hilton argument


In its usual form, the Eckmann–Hilton argument shows that a monoid or group object in the category of monoids or groups is commutative. In other terms, if a set is equipped with two monoid structures, such that one is a homomorphism for the other, then the two structures coincide and the resulting monoid is commutative.

From the nPOV, we may want to think of the statement in this way:


Let CC be a 2-category and xCx \in C an object. Write Id xId_x for the identity morphism of XX and End(Id x)End(Id_x) for the set of endo-2-morphisms on XX. Then:

On the face of it, this is a special case of the general situation, although in fact every case is an example for appropriate CC.

A more general version is this: If a set is equipped with two binary operations with identity elements, as long as they commute with each other in the sense that one is (with respect to the other) a homomorphism of sets with binary operations, then everything else follows:

  1. the other is also a homomorphism with respect to the first;
  2. the identities are the same;
  3. the operations are the same;
  4. the operation is commutative;
  5. the operation is associative.

This can also be internalised in any monoidal category.


String diagrams allow an almost trivial proof. Since there is only one object, and the only 1-morphism is the identity, the diagram of aba \circ b (vertical composition) is simply two dots labelled a,ba, b arranged vertically. This diagram can be morphed continuously to a horizontal arrangement, which is the diagram for a*ba * b (horizontal composition). This is then morphed to aa below bb, which is the diagram for bab \circ a.

A pasting diagram-proof of is depicted in Cheng below. Here we prove the 66-element general form in SetSet.


The basic equation that we have (that one operation ** is a homomorphism with respect to another operation \circ) is

(ab)*(cd)=(a*c)(b*d). (a \circ b) * (c \circ d) = (a * c) \circ (b * d) .

In End(Id x)End(Id_x), this is the exchange law.

We prove the list of results from above in order:

  1. Simply read the basic equation backwards to see that \circ is a homomorphism with respect to **.

  2. Then

    1 =1 *1 =(1 1 )*(1 1 )=(1 *1 )(1 *1 )=1 1 =1 , 1_\star = 1_\star * 1_\star = (1_\star \circ 1_\circ) * (1_\circ \circ 1_\star) = (1_\star * 1_\circ) \circ (1_\circ * 1_\star) = 1_\circ \circ 1_\circ = 1_\circ ,

    so the identities are the same; we will now write this identity simply as 11.

  3. Now

    a*b=(a1)*(1b)=(a*1)(1*b)=ab, a * b = (a \circ 1) * (1 \circ b) = (a * 1) \circ (1 * b) = a \circ b ,

    so the operations are the same; we will write them both with concatenation.

  4. Then

    ab=(1a)(b1)=(1b)(a1)=ba, a b = (1 a) (b 1) = (1 b) (a 1) = b a ,

    so this operation is commutative.

  5. Finally,

    (ab)c=(ab)(1c)=(a1)(bc)=a(bc), (a b) c = (a b) (1 c) = (a 1) (b c) = a (b c) ,

    so the operation is associative.

If you start with a monoid object in MonMon, then only (4&5) need to be shown; the others are part of the hypothesis. This classic form of the Eckmann–Hilton argument may be combined into a single calculation:

a*b=(a1)*(1b)=(a*1)(1*b)=ab=(1*a)(b*1)=(1*b)(a*1)=b*a, a * b = (a \circ 1) * (1 \circ b) = (a * 1) \circ (1 * b) = a \circ b = (1 * a) \circ (b * 1) = (1 * b) \circ (a * 1) = b * a ,

where the desired results involve the first, middle, and last expressions.


A 22-tuply monoidal 00-category, if defined as a pointed simply connected bicategory, is also the same as an abelian monoid.

A 22-tuply monoidal 11-category, if defined as a pointed simply connected tricategory, is the same as a braided monoidal category.

Every homotopy group π n\pi_n for n2n \geq 2 is abelian.


There are variations on the Eckmann-Hilton argument that do not assume units. For example, if a set is equipped with two symmetric (a*b=b*a)(a * b = b * a) and idempotent (a*a=a)(a * a = a) binary operations that commute with each other, then the operations coincide.

a*b=(a*b)+(a*b)=(a*b)+(b*a)=(a+b)*(b+a)=(a+b)*(a+b)=a+b. a * b = (a * b) + (a * b) = (a * b) + (b * a) = (a + b) * (b + a) = (a + b) * (a + b) = a + b.

For example, we might consider the algebraic theory of convex spaces, and the algebraic theory of semilattices. These theories both contain symmetric idempotent operations: in the theory of convex spaces, take the operation a*b=c 0.5(a,b)a * b=c_{0.5}(a,b). Thus there can be no commutative algebraic theory that includes these two theories without conflating them. Furthermore, in any conflated theory, all the dyadic rationals are the same, e.g.

c 0.25(a,b)=c 0.5(c 0.5(a,b),b)=(a*b)*b=a*(b*b)=a*b=c 0.5(a,b).c_{0.25}(a,b)=c_{0.5}(c_{0.5}(a,b),b)=(a*b)*b=a*(b*b)=a*b=c_{0.5}(a,b).

This is relevant in computer science because probability is modelled by the free convex spaces monad, and non-determinism is modelled by the free semilattice monad. These monads are both commutative monads, but there can be no commutative monad that contains both these monads non-degenerately.


Due to

An expositions of the argument is given here:

The diagram proof is displayed here

and an animation of it is here

For higher analogues see within the discussion of commutative algebraic monads at:

Last revised on June 28, 2020 at 10:35:56. See the history of this page for a list of all contributions to it.