"For example, we teach students in high school that if the product of two polynomials is zero, then to solve we set each one separately equal to zero. Yet this does not hold with nonzero numbers. For example, working in polynomials with real coefficients, we know that f(x) * g(x)=0 implies either f(x) = 0 or g(x) = 0. Yet it is not the case that if f(x) * g(x) = 4, then either f(x) = 2 or g(x) = 2."<p>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, if it is nonzero then the variable/function can be anything but 0.