Where is that stated? The documentation states that it is perfectly valid for objects to define ``__eq__`` and not ``__hash__`` (http://docs.python.org/3.4/reference/datamodel.html#object.__hash__).