The Eckmann-Hilton argument is used to prove that a doubly monoidal 0-category is a commutative monoid. If (x) is horizontal composition and . is vertical composition, and assuming that 1(x)a=a=a(x)1, then


a(x)b=(1.a)(x)(b.1)=(1(x)b).(a(x)1)=b.a=(b(x)1).(1(x)a)=(b.1)(x)(1.a)=b(x)a


which shows first that the two kinds of multiplications are the same and second that they are commutative. In a weak 2-category, horizontal composition of 2-cells is only unital up to conjugation by some invertible 2-cells (the unitors). My question is how does one prove the assumption, that horizontal composition is strictly unital, in this situation?



Eckmann-Hilton argument
There are in fact *three* binary operations in play here. There are vertical composition . and horizontal composition \* (or "(x)"), as you say. But then there's also the operation @, as follows. 


Your "*a*" and "*b*" here are 2-cells of a doubly degenerate weak 2-category. Let's call its unique 0-cell *x*; then *a* and *b* are 2-cells from 1*x* to 1*x*. Part of the structure of the weak 2-category is a coherence isomorphism lambda: 1*x* o 1*x* --> 1*x*. So, given *a* and *b*, we can form the vertical composite


*a* @ *b* = (lambda . (*a* \* *b*) . lambda^{-1}).


Now, 11*x* is a unit for both . and @, and they satisfy the interchange law, so the Eckmann-Hilton argument applies to tell you that . and @ are equal and commutative. It follows that \* = @. It *then* follows that horizontal composition \* is strictly unital, as required.


