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

The universal-algebra (A, F) pattern at the closure tier. More...

Concept definition

template<typename T, typename... Ops>
concept dedekind::algebra::IsAlgebra = std::semiregular<T> && IsClosedAlgebra<T, Ops...>
The universal-algebra (A, F) pattern at the closure tier.
Definition universal.cppm:151
The closure-only tier of an (A, F) algebra: each Op closes on T, without the value-semantics requirem...
Definition universal.cppm:110

Detailed Description

The universal-algebra (A, F) pattern at the closure tier.

An algebra in the sense of Burris–Sankappanavar 1981 §I.1 is a pair (A, F) of a carrier set A together with a family F of finitary operations on A satisfying axioms. This concept captures the closure tier:

  • T is std::semiregular (the Jlt paper's Rule 1: a value, with copies and a default). No == is asked: an algebra's equality is not decidable in general (functions under composition), and where a carrier has one it is one more operation of its signature. The Boolean specialisation that brings == is IsSet's, on the set side (#1116).
  • Each Op in Ops closes on T (binary or unary).

Axioms live in specific refinements (IsMonoid<T, Op>, IsAbelianGroup<T, Op>, IsRing<T, Add, Mult>, IsField<T, Add, Mult>, ...) — each of which IS an instance of IsAlgebra with a specific F and a specific axiom-trait registry.

universal__Compositional_use

Quotient functors, free constructions, and similar functors operate at the algebra level. A quotient morphism R → R[x]/I is an arrow between two IsAlgebra instances; IsHomomorphism refines this with the requirement that the arrow respects each operation in the algebra's family.

Template Parameters
TThe carrier type (std::semiregular).
OpsThe variadic family of operations on T.
See also
Burris & Sankappanavar 1981 §I.1 (the formal definition).
Lang, Algebra (3rd ed.), §III.1 (quotient rings); §II.4 (field of fractions) — specific instances of the construction-on-an-algebra pattern.