Universal Constructions
Universal constructions are principles for naming "the" object determined by a diagram of related objects and morphisms.
Instead of defining an object by its internal representation, a universal construction defines it by how it relates to all relevant things around it. This is why limits, colimits, and related universal properties are useful modeling tools: they let the model refer to a canonical object while incorporating the relationships that make it canonical.
In practical terms, universal constructions ask:
- What diagram of related things is being considered?
- What object mediates, combines, constrains, or coalesces that diagram?
- What makes that object canonical rather than arbitrary?
- Which maps into or out of the object must exist?
- Which uniqueness or minimality property is being claimed?
Limits are useful for modeling coherence, compatibility, and shared constraint. Examples include:
- A product as a way to consider several observations together.
- A pullback as a way to align two views over a shared identity, version, key, or boundary.
- An equalizer as a way to select cases where two interpretations, projections, or policies agree.
- A limit of observations as "the" coherent view determined by all required observations and compatibility constraints.
Colimits are useful for modeling assembly, accumulation, merging, and quotienting. Examples include:
- A coproduct as a choice between alternatives.
- A pushout as a controlled merge of structures sharing a common part.
- A pushout of coinitial patches as a canonical merge or residual construction in a patch-based version history.
- A coequalizer as a quotient that identifies differences considered irrelevant under a boundary.
- A colimit of events, projections, or partial views as "the" assembled object determined by their inclusion and merge relationships.
Universal constructions matter whenever the model says "the state", "the projection", "the context", "the boundary", "the behavior", or "the realization". That definite article should be backed by a diagram and a property. Otherwise the model may be hiding an arbitrary selection.
Examples in the Cohesive System Model:
- A transition context can be understood as a structured assembly of entity state, command value, required observations, invariants, policies, authority, and expected version.
- A projection can be understood as a view determined by source state, source events, derivation rules, and identity/version relationships.
- A boundary can be understood as a scope/context object determined by what it includes, excludes, owns, observes, controls, or guarantees.
- A coherent realization can be understood as a compatible selection of substrate mechanisms across a semantic model.
- Consensus can be understood as a universal construction for distributed objects: decide the next operation, apply the sequential transition rule, and repeat so replicas share a common operation history.
Universal constructions are not always implemented literally. Their value is disciplinary: they force the model to say what relationships make an object canonical, and what related information has been included, excluded, merged, or quotiented away.
Related concepts: transition, observation, projections, boundaries, behavior, realization, version histories, consensus, state, event, value.