値が等しいということ(Equality)

まず最初に「値が等しいということ(Equality)」という概念について今一度確認してもらいます.C++(に限らず多くのprogramming言語)で普通"=="(及び"!=")で表される関係です.

int a = 1;
int b = 1;
int c = 2;
assert( a == b ); // `a' is equal to `b'
assert( a != c ); // `a' is not equal to `c'

上の例では,aとbはequalである,と言えます.
何のことは無い「値が等しい」という関係を表しているだけです(詳しく議論するとこれはこれで曲者ですが).
なぜこれを確認してもらったかというと,後でこのequalityと似たような概念である"equivalence"という概念が出てくるからです.そして,このequivalenceという概念がSTLにおけるsort(広く言えば順序付け全般)において非常に重要な意味を持つからです.