|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Small Categories (Enumerated Morphism Sets). More...

Classes | |
| struct | dedekind::category::StringArrow |
| An arrow that is just a label. More... | |
| struct | dedekind::category::StringCategory |
| The Category of Labels. More... | |
Namespaces | |
| namespace | dedekind::category |
Concepts | |
| concept | dedekind::category::IsLocallySmallCategory |
Value-level locally-small witness: the Hom-collection of Cat is a set in the metatheory. | |
| concept | dedekind::category::IsSmallCategory |
| A point-free, morphism-only reification of a Category. | |
Functions | |
| template<typename T, IsArrow G> requires std::same_as<T, Dom<G>> | |
| constexpr auto | dedekind::category::operator>> (Identity< T >, G g) |
|
template<IsArrow F, typename T> requires std::same_as<Cod<F>, T> | |
| constexpr auto | dedekind::category::operator>> (F f, Identity< T >) |
| template<typename T> | |
| constexpr auto | dedekind::category::operator>> (Identity< T > i, Identity< T >) |
Variables | |
| template<typename T, typename Op> | |
| constexpr bool | dedekind::category::is_associative_v< T, Op > = true |
Small Categories (Enumerated Morphism Sets).
@partition :small
A Small Category is defined by the property that its collections of objects and morphisms are Sets (not Classes). In the context of C++23, "Smallness" is a pragmatic guarantee: any category reifiable within the type system is inherently Small, as its inhabitants are bounded by the translation unit's finite universe of types.
Defines a single-species category as a small category containing exactly one object type. In this setting, all morphisms are endomorphisms, causing the category to behave as a monoid where composition is the binary operation. This provides a focused foundation for species-specific logic within the C++ type system.
@quote "Il linguaggio delle categorie è affettuosamente noto come 'nonsense astratto'. Questo termine è essenzialmente accurato: le categorie si riferiscono al 'nonsense' nel senso che riguardano esclusivamente la 'struttura', e non il 'significato' di ciò che rappresentano." (The language of categories is affectionately known as "abstract nonsense." This term is essentially accurate: categories refer to "nonsense" in the sense that they are all about the "structure," and not about the "meaning," of what they represent.) — Paolo Aluffi, Algebra: Chapter 0