Why does the zero product property work?