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

Formal verification: Rel(a, b) ⇔ Rel(b, a). More...

Concept definition

template<typename T, typename Rel, typename Ω bool>
requires(const std::remove_cvref_t<Rel>& rel, const T& a, const T& b) {
{ rel(a, b) } -> std::convertible_to<Ω>;
{ rel(b, a) } -> std::convertible_to<Ω>;
} && requires { requires is_symmetric_v<T, std::remove_cvref_t<Rel>>; }
Formal verification: Rel(a, b) ⇔ Rel(b, a).
Definition equivalence.cppm:129
Ω may carry a relation's answer in the laws below: it has a top ⊤, the value a law asserts (reflexivi...
Definition mereology.cppm:63
constexpr bool is_symmetric_v
The "v" helper following the :species convention.
Definition equivalence.cppm:118

Detailed Description

Formal verification: Rel(a, b) ⇔ Rel(b, a).

Mirrors IsReflexive / IsTransitive in :mereology: structural shape (rel is callable on the symmetric pair, answering in Ω) plus the engineer-supplied trait declaration.