Temporal reasoning in ai