|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Pure syntactic shape: T supports the partial-order operators <, <=, >, >= with results in the truth-value carrier L::Ω of a chosen logical species.
More...
Pure syntactic shape: T supports the partial-order operators <, <=, >, >= with results in the truth-value carrier L::Ω of a chosen logical species.
Use this concept where a callsite needs the four relational operators to compile and yield a value in the truth-value carrier of a chosen IsOckhamAlgebra, but does not want to bind to a particular axiomatic order (preorder, partial, total). No claim about reflexivity, antisymmetry, transitivity, or comparability is made here; for those, use IsPreOrdered / IsPartiallyOrdered / IsTotallyOrdered (the last in :order:total).
The L parameter defaults to Boole (so L::Ω is bool); supply a different IsOckhamAlgebra to constrain the return type to a non-Boolean truth-value carrier (e.g. Kleene). Mirrors the L-parametric pattern already used by IsPreOrdered / IsPartiallyOrdered.
Sibling of dedekind::algebra::HasRingOperators (in algebra:ring), dedekind::algebra::HasFieldOperators (in algebra:field), and HasLatticeOperators (in order:lattice) in the shape-concept family. The split between shape and axiom mirrors the literal-vs-strict tier introduced under PR #394.