Types of Relations: Defining Analogies with Category Theory
Claire Ott, Frank Jäkel
TL;DR
The paper addresses formalizing analogy-making by representing knowledge domains as categories and defining analogies as structure-preserving functors between domain categories $\mathcal{C}$ and $\mathcal{D}$ via $F: \mathcal{C} \rightarrow \mathcal{D}$; it introduces domain categories built from base objects $E$, $B$, and $1_\mathcal{C}$, and uses products $X\times Y$ and exponentials $Y^X$ to model n-ary and higher-order relations. It then defines core and blend through pullbacks $\mathcal{C} \times_F \mathcal{D}$ and pushouts $\mathcal{C} +_F \mathcal{D}$, and extends to partial functors $F'$ to handle incomplete mappings; the solar system–hydrogen atom example concretely demonstrates truth-preserving, product-preserving, and exponential-preserving constraints. The framework connects to classic structure-mapping approaches, provides a precise mathematical theory of analogy, and points to practical future work in automated generation, probabilistic extensions, and richer domain types. Overall, it offers a rigorous, scalable method for constructing, comparing, and blending knowledge domains to support intelligent analogy-based reasoning.
Abstract
In order to behave intelligently both humans and machines have to represent their knowledge adequately for how it is used. Humans often use analogies to transfer their knowledge to new domains, or help others with this transfer via explanations. Hence, an important question is: What representation can be used to construct, find, and evaluate analogies? In this paper, we study features of a domain that are important for constructing analogies. We do so by formalizing knowledge domains as categories. We use the well-known example of the analogy between the solar system and the hydrogen atom to demonstrate how to construct domain categories. We also show how functors, pullbacks, and pushouts can be used to define an analogy, describe its core and a corresponding blend of the underlying domains.
