Hacker News new | ask | show | jobs
by wz1000 3122 days ago
> Does this really require knowing abstract algebra? Seems obvious to anyone doing any sort of multiplication that if the output is 0 then one of variables/functions has to be 0

No, this is only true when you are doing multiplication in an integral domain.

https://en.wikipedia.org/wiki/Integral_domain

There are many rings where this is not true, like Z/nZ where n is not prime.

    2*2 = 0 (mod 4)
    2 /= 0  (mod 4)
1 comments

mod should be part of the signature of the ring, so you are not looking at pure multiplication. Then the domain would be still integral. Why wouldn't it?
An integral domain is any commutative ring with no zero divisors (a,b are zero divisors if ab = 0 but a != 0, b != 0). In this case 2*2 = 0, so 2 is a zero divisor, so Z/4z = Z_4 is not an integral domain.