index, posts, library, music.

Bool-enriched categories are preorders

Posted Saturday April 1 2023.

If C is a category and x, y ∈ C are objects, then as long as C is locally small, you can form the hom-set Hom(x, y), which is literally the set of morphisms x → y. This defines a functor Cop × C → Set called the hom-functor. (Cop is the opposite category of C.)

Enriched category theory generalizes this idea by allowing the hom-functor to return something other than a set, so long as it comes from some monoidal category M, so that the hom-functor goes Cop × C → M.

Consider the category “Bool” consisting of two objects {0, 1} and three morphisms {0 → 0, 1 → 1, 0 → 1}. We can define a monoidal product (aka an associative binary operation with identity) on objects 0 ⊗ 0 = 0 ⊗ 1 = 1 ⊗ 0 = 0 and 1 ⊗ 1 = 1. Altogether this makes Bool into a monoidal category with 2 objects.

If C a category enriched in Bool, with hom-functor Cop × C → Bool, then for every pair of objects x, y ∈ C, we have either Hom(x, y) = 0 or Hom(x, y) = 1. We can use this mapping to define a relation between objects by saying that x is related to y iff. Hom(x, y) = 1.

Theorem: The relation R on Bool defined xRy iff. Hom(x, y) = 1 is a preorder on C.

To prove it, there are just two properties we need to show, for all x, y, z ∈ C:

To show reflexivity, it is enough to look at the identity morphism idx : 1 → Hom(x, x). Since its domain is 1, and the only arrow in Bool whose domain is 1 is the identity morphism on 1, this means that idx must be the identity morphism on 1, whose codomain is also 1! Therefore Hom(x, x) = 1.

For transivitity, suppose xRy and yRz. We need to show xRz. We need to use the composition map c : Hom(x, y) ⊗ Hom(y, z) → Hom(x, z) which takes morphisms f : x → y from Hom(x, y) and g : y → z from Hom(y, z) and returns their composition g ∘ f : x → z in Hom(x, z). We have by assumption Hom(x, y) = Hom(y, z) = 1, and we know 1 ⊗ 1 = 1. Thus, the domain of c is 1. As before, the only morphism whose domain is 1 is the identity on 1, whose codomain is also 1. Thus the codomain of c must be Hom(x, z) = 1. Thus xRz.