Temporal Reasoning without Transitive Tables