|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
The universal-algebra (A, F) pattern at the closure tier. More...
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).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.
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.
| T | The carrier type (std::semiregular). |
| Ops | The variadic family of operations on T. |