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

Rel is a stateless relation on a discrete bounded chain T on which a law of Arity variables can be decided: a step (successor, by argument-dependent lookup, as for HasNNOStep), a least and a greatest value (the identities of Sup and Inf), the top reached from the bottom within chain_walk_budget, and nᴬʳⁱᵗʸ within law_evaluation_budget, all as constant expressions (what cannot be evaluated at compile time is simply not decided here, rather than an error). More...

Concept definition

template<typename T, typename Rel, std::size_t Arity>
std::default_initializable<Rel> && std::is_empty_v<Rel> && requires {
} && requires(const Rel& r, const T& x) {
{ r(x, x) } -> std::convertible_to<bool>;
{ successor(x) } -> std::convertible_to<T>;
{ x == x } -> std::convertible_to<bool>;
} && requires {
typename std::integral_constant<
std::size_t, chain_length(unit<T>(Sup{}), unit<T>(Inf{}))>;
Rel is a stateless relation on a discrete bounded chain T on which a law of Arity variables can be de...
Definition mereology.cppm:559
constexpr T unit(Op)
The unit of Op at the carrier T, read as unit<T>(Op{}).
Definition species.cppm:287
constexpr Ternary successor(Ternary a) noexcept
K₃'s step: the cover False → Unknown → True, saturating at the top (and its dual at the bottom),...
Definition logic.cppm:462
constexpr std::size_t chain_length(const T &lo, const T &hi)
The number of values from lo to hi by the carrier's successor; 0 when hi is not reached within chain_...
Definition mereology.cppm:527
constexpr bool fits_budget(std::size_t n, std::size_t arity)
Whether a law of arity variables on a chain of n values fits law_evaluation_budget.
Definition mereology.cppm:533
Rel
The comparison an atom makes.
Definition terms.cppm:201
Meet ∧: the greatest lower bound on a chain (min), returned by value. Value-returning sibling of Sup.
Definition mereology.cppm:494
Value-returning chain lattice ops — the honest T × T → T meet / join.
Definition mereology.cppm:484

Detailed Description

Rel is a stateless relation on a discrete bounded chain T on which a law of Arity variables can be decided: a step (successor, by argument-dependent lookup, as for HasNNOStep), a least and a greatest value (the identities of Sup and Inf), the top reached from the bottom within chain_walk_budget, and nᴬʳⁱᵗʸ within law_evaluation_budget, all as constant expressions (what cannot be evaluated at compile time is simply not decided here, rather than an error).

Note
The step must be the chain's cover, so the walk visits every value: that is what makes the chain discrete, the carrier's obligation, not checked here. Order: a carrier's step and bounds must be declared before anything asks about one of its relations (as for every trait registration: an answer, once instantiated, is fixed).