> For example, the integers mod n is a ring, so (-a) * (-b) = a * b holds, but it doesn't make sense to call a number mod n positive or negative, since -a mod n effectively means n - a mod n.
If negative numbers were defined by reference to a comparison to zero, then the expression (-a) * (-b) would be meaningless nonsense in Z mod 5 -- as you point out yourself, Z mod 5 is not ordered in that way. But it isn't nonsense, and you're not saying it is -- instead, you assume it's obviously valid when you observe that the equality (-a)(-b) = ab holds.