cpp/concepts/equality comparable

@1@ The concept specifies that the comparison operators  and  on  reflects equality:  yields  if and only if the operands are equal.

@2@ The concept specifies that the comparison operators  and  on (possibly mixed)  and  operands yield results consistent with equality. Comparing mixed operands yields results equivalent to comparing the operands converted to their common type.

@3@ The exposition-only concept specifies that an object of type  and an object of type  can be compared for equality with each other (in either order) using both  and, and the results of the comparisons are consistent.

Semantic requirements
These concepts are modeled only if they are satisfied and all concepts they subsume are modeled.

@1@ is modeled only if, given objects  and  of type,  is  if and only if  and  are equal. Together with the requirement that is equality-preserving, this implies that  is symmetric and transitive, and further that  is reflexive for all objects  that are equal to at least one other object.

@2@ is modeled only if, given any lvalue  of type  and any lvalue  of type, and let  be ,.

@3@ is modeled only if given the following are true:
 * , an lvalue of type and
 * , an lvalue of type ,
 * ,, , have the same domain;
 * ; and
 * ; and