Hacker News new | ask | show | jobs
by rsaarelm 690 days ago
You could call it an incorrect answer if there was a correct answer to division by zero, but it's undefined instead with no correct answer. Sounds pedantic, but in math pedantic stuff matters, and apparently you can expand things to define division by zero as zero and not break math, https://www.hillelwayne.com/post/divide-by-zero/
1 comments

> apparently you can expand things to define division by zero as zero and not break math,

You really can't though.

> If x/0 is a value, then the theorem should extend to c=0, too.” This is wrong. The problem is not that 1/0 was undefined. The problem was that our proof uses the multiplicative inverse, and there is no multiplicative inverse of 0. Under our modified definition of division, we still don’t have 0⁻, which means our proof still does not work for dividing by zero. We still need the condition. So it is not a theorem that a * (b / 0) = b * (a / 0).

This is like saying there's nothing wrong with defining 2 + 2 = 5, and addition will still be associative because (a + b) + c still = a + (b + c) unless b = 2. Like, sure, you can redefine division to not have the normal properties that it does, and then argue that your redefinition is sound because the theorems only apply to things that have the normal properties of added numbers. But that's not what + means!

If these people really believed the arguments they're making, they would actually define x/0 = 5, or 19, or something on those lines.

Are you objecting to the formal system breaking down or to the deviation from expected meaning? You could just say something like "to simplify error handling, our programming language uses a 'zivision' operator that behaves exactly like regular division except zivision by zero is defined as zero". Then everyone just goes on to do math as usual, unless there's something inconsistent in the new formalism that makes mathematical reasoning break down.
> Are you objecting to the formal system breaking down or to the deviation from expected meaning?

I'm saying that's a false distinction, because as soon as you have that deviation from expected meaning, you have valid theorems that silently stop being valid and your formal system quickly breaks down. And while you can redefine your way out of each individual instance of this, everything you redefine just means more and more theorems that don't have their normal meaning which in turn means more things that you have to redefine.

> You could just say something like "to simplify error handling, our programming language uses a 'zivision' operator that behaves exactly like regular division except zivision by zero is defined as zero".

This would be a much better approach, because then existing theorems that use or refer to division are obviously not necessarily true of zivision and if you want to use those theorems to talk about zivision then you have to check (and prove) that they're actually valid first.