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

A map on T carries the unit of Op to the unit of Op2, \(f(e) = e'\), computed at the one unit: the comparison is a template argument, so a map that is no constexpr function object is refused rather than an error. The unit half of a monoid homomorphism, and of a homomorphism of any signature whose operations have units. More...

Concept definition

template<typename F, typename T, typename Op, typename Op2 Op>
std::default_initializable<std::remove_cvref_t<F>> && requires {
requires std::bool_constant<(
std::remove_cvref_t<F>{}(unit<T>(std::remove_cvref_t<Op>{})) ==
unit<detail_morphism::image_t<F, T>>(
std::remove_cvref_t<Op2>{}))>::value;
}
A map on T carries the unit of Op to the unit of Op2, , computed at the one unit: the comparison is a...
Definition morphism.cppm:1259
constexpr T unit(Op)
The unit of Op at the carrier T, read as unit<T>(Op{}).
Definition species.cppm:287

Detailed Description

A map on T carries the unit of Op to the unit of Op2, \(f(e) = e'\), computed at the one unit: the comparison is a template argument, so a map that is no constexpr function object is refused rather than an error. The unit half of a monoid homomorphism, and of a homomorphism of any signature whose operations have units.

Template Parameters
Fthe map.
Tits carrier.
Op
Op2the operations.