# Concrete category

In mathematics, a concrete category is a category that is equipped with a faithful functor to the category of sets (or sometimes to another category). This functor makes it possible to think of the objects of the category as sets with additional structure, and of its morphisms as structure-preserving functions. Many important categories have obvious interpretations as concrete categories, for example the category of topological spaces and the category of groups, and trivially also the category of sets itself. On the other hand, the homotopy category of topological spaces is not concretizable, i.e. it does not admit a faithful functor to the category of sets.
A concrete category, when defined without reference to the notion of a category, consists of a class of objects, each equipped with an underlying set; and for any two objects A and B a set of functions, called homomorphisms, from the underlying set of A to the underlying set of B. Furthermore, for every object A, the identity function on the underlying set of A must be a homomorphism from A to A, and the composition of a homomorphism from A to B followed by a homomorphism from B to C must be a homomorphism from A to C.

## Definition

A concrete category is a pair (C,U) such that
* C is a category, and
* U : C → Set (the category of sets and functions) is a faithful functor.
The functor U is to be thought of as a forgetful functor, which assigns to every object of C its "underlying set", and to every morphism in C its "underlying function".
It is customary to call the morphisms in a concrete category homomorphisms (e.g., group homomorphisms, ring homomorphisms, etc.) Because of the faithfulness of the functor U, the homomorphisms of a concrete category may be formally identified with their underlying functions (i.e., their images under U); the homomorphisms then regain the usual interpretation as "structure-preserving" functions.
A category C is concretizable if there exists a concrete category (C,U); i.e., if there exists a faithful functor U: C → Set. All small categories are concretizable: define U so that its object part maps each object b of C to the set of all morphisms of C whose codomain is b (i.e. all morphisms of the form f: a → b for any object a of C), and its morphism part maps each morphism g: b → c of C to the function U(g): U(b) → U(c) which maps each member f: a → b of U(b) to the composition gf: a → c, a member of U(c). (Item 6 under Further examples expresses the same U in less elementary language via presheaves.) The Counter-examples section exhibits two large categories that are not concretizable.

## Remarks

Contrary to intuition, concreteness is not a property that a category may or may not satisfy, but rather a structure with which a category may or may not be equipped. In particular, a category C may admit several faithful functors into Set. Hence there may be several concrete categories (C, U) all corresponding to the same category C.
In practice, however, the choice of faithful functor is often clear and in this case we simply speak of the "concrete category C". For example, "the concrete category Set" means the pair (Set, I) where I denotes the identity functor Set → Set.
The requirement that U be faithful means that it maps different morphisms between the same objects to different functions. However, U may map different objects to the same set and, if this occurs, it will also map different morphisms to the same function.
For example, if S and T are two different topologies on the same set X, then (X, S) and (X, T) are distinct objects in the category Top of topological spaces and continuous maps, but mapped to the same set X by the forgetful functor Top → Set. Moreover, the identity morphism (X, S) → (X, S) and the identity morphism (X, T) → (X, T) are considered distinct morphisms in Top, but they have the same underlying function, namely the identity function on X.
Similarly, any set with four elements can be given two non-isomorphic group structures: one isomorphic to $\mathbb {Z} /2\mathbb {Z} \times \mathbb {Z} /2\mathbb {Z}$, and the other isomorphic to $\mathbb {Z} /4\mathbb {Z}$.

## Further examples

* Any group G may be regarded as an "abstract" category with one arbitrary object, $\ast$, and one morphism for each element of the group. This would not be counted as concrete according to the intuitive notion described at the top of this article. But every faithful G-set (equivalently, every representation of G as a group of permutations) determines a faithful functor G → Set. Since every group acts faithfully on itself, G can be made into a concrete category in at least one way.
* Similarly, any poset P may be regarded as an abstract category with a unique arrow x → y whenever x ≤ y. This can be made concrete by defining a functor D : P → Set which maps each object x to $D(x)=\{a\in P:a\leq x\}$ and each arrow x → y to the inclusion map $D(x)\hookrightarrow D(y)$.
* The category Rel whose objects are sets and whose morphisms are relations can be made concrete by taking U to map each set X to its power set $2^{X}$ and each relation $R\subseteq X\times Y$ to the function $\rho :2^{X}\rightarrow 2^{Y}$ defined by $\rho (A)=\{y\in Y\mid \exists \,x\in A:xRy\}$. Noting that power sets are complete lattices under inclusion, those functions between them arising from some relation R in this way are exactly the supremum-preserving maps. Hence Rel is equivalent to a full subcategory of the category Sup of complete lattices and their sup-preserving maps. Conversely, starting from this equivalence we can recover U as the composite Rel → Sup → Set of the forgetful functor for Sup with this embedding of Rel in Sup.
* The category Set$^{op}$ can be embedded into Rel by representing each set as itself and each function f: X → Y as the relation from Y to X formed as the set of pairs (f(x), x) for all x ∈ X; hence Set$^{op}$ is concretizable. The forgetful functor which arises in this way is the contravariant powerset functor Set$^{op}$ → Set.
* It follows from the previous example that the opposite of any concretizable category C is again concretizable, since if U is a faithful functor C → Set then C$^{op}$ may be equipped with the composite C$^{op}$ → Set$^{op}$ → Set.
* If C is any small category, then there exists a faithful functor P : Set$^{Cop}$ → Set which maps a presheaf X to the coproduct $\coprod _{c\in \mathrm {ob} C}X(c)$. By composing this with the Yoneda embedding Y:C → Set$^{Cop}$ one obtains a faithful functor C → Set.
* For technical reasons, the category Ban$_1$ of Banach spaces and linear contractions is often equipped not with the "obvious" forgetful functor but the functor U$_1$ : Ban$_1$ → Set which maps a Banach space to its (closed) unit ball.
* The category Cat whose objects are small categories and whose morphisms are functors can be made concrete by sending each category C to the set containing its objects and morphisms. Functors can be simply viewed as functions acting on the objects and morphisms.

## Counter-examples

The category hTop, where the objects are topological spaces and the morphisms are homotopy classes of continuous functions, is an example of a category that is not concretizable. While the objects are sets (with additional structure), the morphisms are not actual functions between them, but rather classes of functions. The fact that there does not exist any faithful functor from hTop to Set was first proven by Peter Freyd. In the same article, Freyd cites an earlier result that the category of "small categories and natural equivalence-classes of functors" also fails to be concretizable.

## Implicit structure of concrete categories

Given a concrete category (C, U) and a cardinal number N, let U$^N$ be the functor C → Set determined by U$^N$(c) = (U(c))$^N$. Then a subfunctor of U$^N$ is called an N-ary predicate and a natural transformation U$^N$ → U an N-ary operation.
The class of all N-ary predicates and N-ary operations of a concrete category (C,U), with N ranging over the class of all cardinal numbers, forms a large signature. The category of models for this signature then contains a full subcategory which is equivalent to C.

## Relative concreteness

In some parts of category theory, most notably topos theory, it is common to replace the category Set with a different category X, often called a base category. For this reason, it makes sense to call a pair (C, U) where C is a category and U a faithful functor C → X a concrete category over X. For example, it may be useful to think of the models of a theory with N sorts as forming a concrete category over Set$^N$.
In this context, a concrete category over Set is sometimes called a construct.