|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Decidable membership as a compile-time observable. More...
#include <concepts>#include <cstddef>#include <type_traits>import dedekind.sets:cardinality;import dedekind.category;
Namespaces | |
| namespace | dedekind::sets |
Concepts | |
| concept | dedekind::sets::HasDecidableMembership |
| S's membership map ranges into two-valued (classical) logic. | |
| concept | dedekind::sets::IsDecidableSet |
A Boolean-valued L-set: an IsLSet whose membership is decidable (χ factors through the dominance Σ ↪ Ω; logic_species is Boole). | |
Decidable membership as a compile-time observable.
@partition :computability
Post-2026-05-09 consolidation, this partition exports a single concept along the decidability axis:
:sets:cardinality::IsExtensional but NOT HasDecidableMembership.The orthogonal extensionality axis lives upstream in :sets:cardinality (the canonical home for extensionality / cardinality / enumerability vocabulary post-2026-05-09). Use IsExtensional from there for the size-observable check; IsFinite / IsCountable / IsCardinality are the cardinality-tier concepts. The partition header was trimmed in the same pass: the previous tag-based IsCompileTimeEnumerable concept was retired as redundant — the IsExtensional gate captures the same observable.
The free operator& / operator| machinery monotonically tightens the decidability classification as compile-time reductions succeed. An intensional Set over a transfinite carrier starts at the bottom (Kleene, opaque predicate); a structural reduction to Ø or Singleton<V> lifts it to the top (Boole, decidable membership).
Wikipedia: Computability theory, Decidability (logic), Concepts (C++20)