Natural numbers are closed under addition and multiplication, but not subtraction. Fixed by...
Integers are closed under subtraction, but not division. Fixed by...
Rational numbers are closed under division, but not root. Fixed by...
Real numbers are closed under roots, but not negative roots. Fixed by...
Complex numbers are closed under negative roots.
But wait, rational numbers are not closed under division, because division-by-zero is not defined.
My question is: Given the above strategy of defining new number systems to cope with non-closure properties, has anything been done or attempted to fix divide-by-zero?
Obviously, we can have a "value" like NaN
, but it's not very algebraically useful, except as a kind of error.
BTW: It seems to me that we can't do better than this, it's in the nature of even a semi-ring like the natural numbers, that multiply-by-zero is an annihilator, which is what causes the problem. (e.g. regular expressions also have this property). But what do I know?
The suggested "duplicate" is about extending the natural numbers to allow division-by-zero. The question here is more general: ensuring closure. This allows other approaches e.g. not having zero at all (see my answer).