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

A category in which every hom-set has at most one morphism. More...

Concept definition

template<typename T, typename Rel std::less_equal<T>, typename L Boole>
concept dedekind::category::IsThinCategory = requires(Rel rel, T a, T b) {
{ rel(a, b) } -> std::same_as<typename L::Ω>;
requires is_reflexive_v<T, Rel>;
requires is_transitive_v<T, Rel>;
}
A category in which every hom-set has at most one morphism.
Definition thin.cppm:93
Rel
The comparison an atom makes.
Definition terms.cppm:201

Detailed Description

A category in which every hom-set has at most one morphism.

Equivalently, a preorder over T with relation Rel returning L::Ω. The axioms enforced:

  • Closure: rel(a, b) yields a truth value in L::Ω.
  • Reflexivity: ∀a. rel(a, a) = L::True (the identity morphism).
  • Transitivity: ∀a,b,c. rel(a, b) ∧ rel(b, c) ⇒ rel(a, c) (composition).

Antisymmetry is not required; IsPosetal in :posetal is the strict refinement that adds it.

Template Parameters
TThe Domain (Objects).
RelThe Relation (the unique-morphism witness).
LThe Logic Species (the Subobject Classifier Ω).