Recently I've noticed that reflexivity was removed from the semantic requirements' note of std::equality_comparable:
This got me wondering whether reflexivity is a semantic requirement of std::equality_comparable or not?
As far as I understand, the intention behind the std::equality_comparable concept is to represent types,
which provide operator == implementing mathematical equality, which is, by definition,
reflexive, symmetric and transitive, so I would say that transitivity should be one of the semantic requirements.
However, when I look at the wording of [concept.equalitycomparable]/2, I'm not so sure: