Hypothetical Reasoning about Actions: From Situation Calculus to Event Calculus