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

Structural shape: C is a closure operator on a poset P — an arrow C : P → P that is idempotent (C(C(x)) = C(x)), monotone (x ≤ y ⇒ C(x) ≤ C(y)), and extensive (x ≤ C(x)) for all x. More...

Concept definition

template<typename C>
concept dedekind::category::IsClosureOperator = IsArrow<C> && std::same_as<Dom<C>, Cod<C>>
A type that knows its own Domain (A) and Codomain (B), objects it maps between: called at the domain'...
Definition morphism.cppm:168
Structural shape: C is a closure operator on a poset P — an arrow C : P → P that is idempotent (C(C(x...
Definition adjunction.cppm:513
typename std::remove_cvref_t< F >::Codomain Cod
Shorthand to look up the Codomain of an Arrow type F.
Definition morphism.cppm:239

Detailed Description

Structural shape: C is a closure operator on a poset P — an arrow C : P → P that is idempotent (C(C(x)) = C(x)), monotone (x ≤ y ⇒ C(x) ≤ C(y)), and extensive (x ≤ C(x)) for all x.

Every Galois connection induces a closure operator via g ∘ f (the round-trip on the source side). Example in arithmetic: for the ceiling/inclusion adjunction ⌈·⌉ ⊣ ι, the source-side round-trip ι ∘ ⌈·⌉ : ℝ → ℝ is the round-up-to-nearest-integer closure (extensive, monotone, and idempotent on (ℝ, ≤)). Dually, for the floor/inclusion adjunction ι ⊣ ⌊·⌋, the source-side round-trip ⌊·⌋ ∘ ι : ℤ → ℤ is a closure operator as well — indeed, the identity on ℤ. Note: embed_uint_sint_ ∘ abs is not a closure operator because it isn't monotone on (ℤ, ≤) (sign-folding inverts order on the negative fragment); the (embed_uint_sint_, abs) pair is a split mono / split epi rather than a Galois connection.

C++ concepts cannot quantify universally over P, so the three properties (idempotent / monotone / extensive) are the engineer's honesty obligation; the structural shape names the signature only (an IsArrow whose Domain equals its Codomain).