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<Ω>;
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
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.