Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::IsArrowProduct Concept Referenceexport

An IsProduct whose projections are genuine MORPHISMS (arrows), not merely the structural callables IsProduct checks. More...

Concept definition

template<typename P, typename A, typename B, typename Op AnyOperation>
std::same_as<typename Π<1, P>::Codomain, A> &&
std::same_as<typename Π<2, P>::Codomain, B>
An IsProduct whose projections are genuine MORPHISMS (arrows), not merely the structural callables Is...
Definition limit.cppm:544
A type that knows its own Domain (A) and Codomain (B), objects it maps between: called at the domain'...
Definition morphism.cppm:168
Categorification of std::pair<A, B> as the categorical product (A × B).
Definition limit.cppm:498

Detailed Description

An IsProduct whose projections are genuine MORPHISMS (arrows), not merely the structural callables IsProduct checks.

Extends IsProduct with IsArrow on the reified projections Π<1, P> / Π<2, P> (Domain = P, Codomain the corresponding part). The shared IsProduct is deliberately left structural, requiring arrow projections across all ~40 product witnesses (std::pair, Complex, Dual, ...) would be a separate 6-module refactor. The reducer nodes :lattice::Meet / Join (and their downstream sets lifts Meet / Join) target this stronger concept, so their projection type signatures are pinned to arrows with no churn to the wider ecosystem.

See also
IsProduct, Π