what is hypothetical reasoning?