Generalization of category

In mathematics, a **bicategory** (or a **weak 2-category**) is a concept in category theory used to extend the notion of category to handle the cases where the composition of morphisms is not (strictly) associative, but only associative *up to* an isomorphism. The notion was introduced in 1967 by Jean Bénabou.

Bicategories may be considered as a weakening of the definition of 2-categories. A similar process for 3-categories leads to tricategories, and more generally to weak *n*-categories for *n*-categories.

##
Definition

Formally, a bicategory **B** consists of:

- objects
*a*, *b*, ... called 0-*cells*;
- morphisms
*f*, *g*, ... with fixed source and target objects called 1-*cells*;
- "morphisms between morphisms" ρ, σ, ... with fixed source and target morphisms (which should have themselves the same source and the same target), called 2-
*cells*;

with some more structure:

- given two objects
*a* and *b* there is a category **B**(*a*, *b*) whose objects are the 1-cells and morphisms are the 2-cells. The composition in this category is called *vertical composition*;
- given three objects
*a*, *b* and *c*, there is a bifunctor $*:\mathbf {B} (b,c)\times \mathbf {B} (a,b)\to \mathbf {B} (a,c)$ called *horizontal composition*.

The horizontal composition is required to be associative up to a natural isomorphism α between morphisms $h*(g*f)$ and $(h*g)*f$. Some more coherence axioms, similar to those needed for monoidal categories, are moreover required to hold: a monoidal category is the same as a bicategory with one 0-cell.

##
Example: Boolean monoidal category

Consider a simple monoidal category, such as the monoidal preorder **Bool**^{[1]} based on the monoid M = ({T, F}, ∧, T). As a category this is presented with two objects {T, F} and single morphism *g*: F → T.

We can reinterpret this monoid as a bicategory with a single object *x* (one 0-cell); this construction is analogous to construction of a small category from a monoid. The objects {T, F} become morphisms, and the morphism *g* becomes a natural transformation (forming a functor category for the single hom-category **B**(*x*, *x*)).