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

The IsOckhamAlgebra Concept (The Algebraic Signature of Truth). More...

Concept definition

template<typename L>
concept dedekind::category::IsOckhamAlgebra = requires(typename L::Ω a, typename L::Ω b) {
typename L::Ω;
{ L::AND(a, b) } -> std::same_as<typename L::Ω>;
{ L::OR(a, b) } -> std::same_as<typename L::Ω>;
{ L::RFL(a) } -> std::same_as<typename L::Ω>;
{ L::True } -> std::convertible_to<typename L::Ω>;
{ L::False } -> std::convertible_to<typename L::Ω>;
}
The IsOckhamAlgebra Concept (The Algebraic Signature of Truth).
Definition logic.cppm:114

Detailed Description

The IsOckhamAlgebra Concept (The Algebraic Signature of Truth).

A type fulfills IsOckhamAlgebra if it defines a consistent internal logic over a specific 'type' of truth value. In categorical terms, this defines the structure of the Subobject Classifier (Ω).

Note
IsOckhamAlgebra is a conservative SHAPE gate: it certifies the (AND, OR, RFL, True, False) signature only. The Ockham laws proper (the reflection reversing the bounds, distributivity, and the all-values dual-endomorphism / De Morgan law) are NOT gated in the concept. An in-concept attempt to require even the boundary pole-reflection law (¬⊤=⊥, ¬⊥=⊤) snagged on C++ overload resolution (value category plus RFL-overload selection), so it was reverted (see #918): the codebase's posture holds, a shape gate here with the laws witnessed downstream by the static_assert tower and gated properly in #907 (which needs the static-method-ops to :species-trait bridge, #923).
Template Parameters
LThe Logic Species (e.g., Boole, Kleene).

@req L::Ω The underlying data representation (e.g., bool, enum). @req L::AND(a, b) The infimum (conjunction) morphism. @req L::OR(a, b) The supremum (disjunction) morphism. @req L::RFL(a) The reflection: the order-reversing involution (a complement only on the two-chain 𝔹).

Note
This concept uses std::same_as to enforce strict species integrity; logic operations must not result in type-decay or "species-leak."