This document discusses how equality and ordering are handled differently in programming languages like Java, C#, and C++. While an ordering that considers two objects equivalent if neither is greater than the other can imply equality, this is not always the case. Examples like alphabetical ordering of names show that equivalent objects in ordering are not necessarily equal. Languages accommodate this by allowing equality and ordering comparisons to be inconsistent. Floating point NaN values also complicate ordering.