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

G is the Grothendieck group of the commutative monoid M — the free abelian group on M, equivalently the left adjoint of the forgetful functor Ab → CMon applied at M. More...

Concept definition

template<typename G, typename M>
G is the Grothendieck group of the commutative monoid M — the free abelian group on M,...
Definition initial_ring.cppm:189
A Commutative Group.
Definition total.cppm:638
A Monoid where the operation is commutative.
Definition total.cppm:605
constexpr bool is_grothendieck_group_v
Opt-in trait: G is the Grothendieck group of the commutative monoid M.
Definition initial_ring.cppm:159

Detailed Description

G is the Grothendieck group of the commutative monoid M — the free abelian group on M, equivalently the left adjoint of the forgetful functor Ab → CMon applied at M.

Composes:

  • The structural abelian-group claim ( IsAbelianGroup<G, std::plus<G>>): G must actually be an abelian group.
  • The structural commutative-monoid claim ( IsCommutativeMonoid<M, std::plus<M>>): M must actually be a commutative monoid.
  • The opt-in trait is_grothendieck_group_v<G, M>: the engineer's claim that this specific pair forms a Grothendieck- completion adjunction at the monoid M.

Universal-property content (existence + uniqueness of the extension φ̂) is the engineer's honesty obligation. Operational realisation: the closure-forcing operator M - M → G implements the Grothendieck construction at the operator level; the project's Cardinality - Cardinality → SignedCardinality is the canonical instance.

Template Parameters
GThe carrier type claimed to be the Grothendieck group.
MThe commutative monoid being completed.