---
title: "What is temporal reasoning?"
description: "Temporal reasoning answers questions whose truth depends on time: current state, past state, order of events. The question types and what memory needs."
canonical: https://past.dev/glossary/temporal-reasoning
last-updated: 2026-09-02
---
# What is temporal reasoning?

Source: https://past.dev/glossary/temporal-reasoning

Temporal reasoning is the ability to answer questions whose truth depends on time: what is current, what was true on a given date, and in what order events happened. For an agent this spans current-state queries, as-of queries, duration and ordering questions, and change tracking. Answering them requires memory that stores when each fact was true rather than only that it was stated.

## The question types

| Type | Example query | What it needs |
| --- | --- | --- |
| Current state | the budget today | The latest unsuperseded value |
| As of a date | the budget on February 1 | [Validity windows](/glossary/validity-window) and [point-in-time recall](/glossary/point-in-time-recall) |
| Ordering | whether the reorg preceded the resignation | [Event time](/glossary/event-time) on both events |
| Duration | how long the account sat unowned | Window boundaries between facts |
| Change tracking | every value the budget has held | [Supersession](/glossary/fact-supersession) links |

Each type reads a different slice of the same stored facts. A store that records values with validity dates can serve all five. A store of undated statements can serve only similarity lookups.

## Why it matters for AI agents

Assistants receive these shapes daily: the latest figure, what changed since last week, whether a decision preceded an email. A store of undated statements can answer none of them reliably, because every stored sentence competes as equally current.

Memory benchmark suites treat temporal reasoning as a distinct evaluated ability, separate from simple retrieval; the [benchmark methodology](/benchmarks/methodology) describes how such questions are constructed. past.dev recall returns current and previous facts with dated evidence, which supplies the inputs these question types need.

## Temporal reasoning in practice

In August 2026 a support agent must determine whether a customer's plan change preceded the June outage. The memory holds two dated facts: plan upgraded May 28, 2026, from the billing email; outage June 14, 2026, from the incident ticket.

With event times stored, the answer is a comparison: May 28 precedes June 14, so the upgrade came first. Without them, the agent knows both facts and still cannot order them, because arrival order reflects when systems were connected rather than when things happened.

## Related concepts

- **[Event ordering](/glossary/event-ordering)**: the sequencing half of temporal reasoning.
- **[Point-in-time recall](/glossary/point-in-time-recall)**: the as-of query type.
- **[Temporal knowledge graph](/glossary/temporal-knowledge-graph)**: a structure built to answer all five types.
- **[Knowledge update](/glossary/knowledge-update)**: the write-side event that makes change tracking possible.
- **[Bitemporal memory](/glossary/bitemporal-memory)**: adds what was known when to what was true when.

## Frequently asked questions

### What is temporal reasoning in AI?

It is the ability to answer time-dependent questions: what is true now, what was true on a specific date, in what order events happened, and how a value changed. It depends on memory that stores when each fact held rather than only the fact itself.

### Why do LLMs struggle with temporal reasoning?

Models see undated or inconsistently dated context and have no reliable signal for which statement is most recent or how statements order in time. Given facts with explicit validity dates, ordering and as-of questions become simple comparisons.

### How is temporal reasoning evaluated in memory benchmarks?

Benchmark suites include questions whose correct answer depends on dates and order, such as asking for a value as of a past date after it has changed. A system answers these correctly only if it tracked the change with its timing.

## Related

- [Event ordering](https://past.dev/glossary/event-ordering)
- [Point-in-time recall](https://past.dev/glossary/point-in-time-recall)
- [Facts that change over time](https://past.dev/guides/facts-that-change-over-time)
- [Memory API quickstart](https://past.dev/docs/memory-api/quickstart)
- [Benchmark methodology](https://past.dev/benchmarks/methodology)