|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
Order-theoretic meet / join / lattice structures. More...
#include <algorithm>#include <concepts>#include <cstddef>#include <functional>#include <type_traits>import dedekind.category;
Namespaces | |
| namespace | dedekind::category |
Concepts | |
| concept | dedekind::order::HasLatticeOperators |
Pure syntactic shape: T supports the bitwise / lattice operators &, |, ^, ~ with results convertible to T. | |
| concept | dedekind::order::IsOrderMeetSemilattice |
| Re-export the certified meet-semilattice stage from :posetal. | |
| concept | dedekind::order::IsOrderJoinSemilattice |
| Re-export the certified join-semilattice stage from :posetal. | |
| concept | dedekind::order::IsOrderLattice |
Bundled lattice witness: the strict commutative-ring proof under (std::bit_xor<T>, std::bit_and<T>) AND the bitwise/lattice operator surface on T, by definition. | |
| concept | dedekind::order::IsOrderDistributiveLattice |
| Re-export the certified distributive lattice stage from :posetal. | |
Functions | |
|
template<typename T, typename Step> requires std::is_integral_v<T> | |
| constexpr T | dedekind::order::bit_closure (T seed, Step step) |
Reachability / the universal-algebra "generated by", over the power-set lattice: the reflexive-transitive closure of a bitmask seed under a one-step adjacency step — the least bitmask ⊒ seed (in bit_subset_eq) that is closed under step, i.e. ⨆ₙ stepⁿ(seed) with join the lattice's own bit_or. It is the Boolean instance of the generic closure (category:functor) over this lattice; decidable because the finite bit-carrier stabilises. Reusing it: reachability of a graph whose nodes are bit positions and step is the adjacency. | |
Variables | |
| constexpr auto | dedekind::order::detail_bit_closure::edge_step |
| template<typename T> | |
| constexpr bool | dedekind::category::is_absorptive_v< T, std::bit_or< T >, std::bit_and< T > > |
Algebra-trait specialisations for std::bit_or<T> / std::bit_and<T> on specific integral T (#710). | |
| template<typename T> | |
| constexpr bool | dedekind::category::is_absorptive_v< T, std::bit_and< T >, std::bit_or< T > > |
Order-theoretic meet / join / lattice structures.
@partition :lattice
Species carrying binary meet and/or join operations that respect the underlying order, reaching up to distributive lattices. The actual axiomatic certification (associativity, commutativity, idempotence, absorption, distributivity) lives in dedekind.category:posetal as IsCertifiedOrder{Meet,Join}Semilattice etc.; this partition re-exports those witnesses under the order-theoretic names a mathematician expects to find alongside posets and chains.
Wikipedia: Semilattice, Lattice (order), Distributive lattice.
|
inlineconstexpr |