#
template<class F, class. Args>
concept regular_invocable = invocable<F, Args..>;
template<class F, class. Args>
concept predicate =
regular_invocable<F, Args..> && boolean-testable<invoke_result_t<F, Args..>;
template<class R, class T, class U>
concept equivalence_relation = relation<R, T, U>;
template<class R, class T, class U>
concept strict_weak_order = relation<R, T, U>;