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

Minimal core part-whole relation yielding Omega. More...

Concept definition

template<typename Part, typename Whole, typename Ω bool>
concept dedekind::category::IsPartOfRelation = requires(const Part& part, const Whole& whole) {
requires(
requires {
{ part <= whole } -> std::same_as<Ω>;
} ||
requires {
{ whole(part) } -> std::same_as<Ω>;
} ||
requires {
{ whole[part] } -> std::same_as<Ω>;
});
}
Minimal core part-whole relation yielding Omega.
Definition mereology.cppm:875

Detailed Description

Minimal core part-whole relation yielding Omega.

Textbook term: primitive binary parthood predicate (often written part <= whole or part ⊑ whole depending on formalism).

This concept accepts three equivalent encodings used across partitions:

  • Order-style: part <= whole
  • Predicate-style: whole(part)
  • Indexer-style: whole[part]

The canonical default in IsPartRelation remains order-style (<=), while topoi/set layers may present parthood through characteristic predicates (operator()) or lookup/index syntax (operator[]).

Richer mereological structure (species routing, ambient checks, lattice refinements) should be layered by downstream partitions.

See also
https://en.wikipedia.org/wiki/Mereology