If I have two objects o1 and o2, and we know that
id(o1) == id(o2)
o1 == o2
The paper is right. Consider the following.
class WeirdEquals: def __eq__(self, other): return False w = WeirdEquals() print("id(w) == id(w)", id(w) == id(w)) print("w == w", w == w)
Output is this:
id(w) == id(w) True w == w False