Universality of a concept here means wide conceptual and practical usefulness in mathematics and applications. The function concept owes its universality to simplicity, generality, and powerful algebraic properties. Advantages proven in the sciences at large significantly benefit computing science as well. Universality critically depends on the definitional choices. The first half of this article shows that a “function” in the sense prevalent throughout the sciences, namely, as fully specified by its domain and its values , entails the characteristics that most contribute to universality. This link is clarified by some less well-understood aspects, including the role of function types as partial specifications, the ramifications of having composition defined for any pair of functions, and unification by capturing various notions not commonly seen as functions. Simple but representative examples are given in diverse areas, mostly computing. When a codomain appears at all in basic textbooks, it mostly involves a self-contradicting definition, corrected by the labeled function variant. Either way, it severely reduces universality, especially for composition. Yet, the axiomatization of category theory common in theoretical computing science offers no other choice. The second half explores how waiving one axiom generalizes category theory to include a wider variety of concepts, primarily the conventional function variant. It is also shown how this can be done unobtrusively for typical categorical notions, such as products, coproducts, functors, natural transformations, adjunctions, Galois connections, and auxiliary concepts, illustrated by example definitions and technical comments. Allowing the familiar function variant renders category theory more appealing to a wider group of scientists. A lesson for mathematics in general is Rogaway’s maxim: “Your definitional choices should be justified!”.
Read full abstract