Dedekind 0.0.0
A structuralist C++23 Module Library
Loading...
Searching...
No Matches
dedekind::category::is_homomorphism< F, T, Op, Op2 > Struct Template Referenceexport

The homomorphism law of a map F on the carrier T, declared: \(f(a \odot b) = f(a) \circledast f(b)\), Op on T and Op2 on the codomain, a homomorphism of magmas (Bourbaki, Algebra I, §I.1.1); for a unary operation, \(f(u(a)) = u'(f(a))\). A certificate, false where none is declared: the law is an equation on every pair, so it is declared and witnessed by computation at the declaration, as is_monic_arrow_v. A class template, so that a family of maps declares it once across modules; keyed like is_involutive<F, T>, a bare callable naming its carrier. More...

Inheritance diagram for dedekind::category::is_homomorphism< F, T, Op, Op2 >:
Collaboration diagram for dedekind::category::is_homomorphism< F, T, Op, Op2 >:

Detailed Description

template<typename F, typename T, typename Op, typename Op2 = Op>
struct dedekind::category::is_homomorphism< F, T, Op, Op2 >

The homomorphism law of a map F on the carrier T, declared: \(f(a \odot b) = f(a) \circledast f(b)\), Op on T and Op2 on the codomain, a homomorphism of magmas (Bourbaki, Algebra I, §I.1.1); for a unary operation, \(f(u(a)) = u'(f(a))\). A certificate, false where none is declared: the law is an equation on every pair, so it is declared and witnessed by computation at the declaration, as is_monic_arrow_v. A class template, so that a family of maps declares it once across modules; keyed like is_involutive<F, T>, a bare callable naming its carrier.

Template Parameters
Fthe map.
Tits carrier.
Opthe operation on T.
Op2the operation on the codomain.

The documentation for this struct was generated from the following file: