Declerck's Tense Theory #
@cite{declerck-1991} @cite{declerck-2006} @cite{reichenbach-1947}
Declerck's descriptive theory of English tense differs from @cite{reichenbach-1947} in three structural ways:
TO-chain architecture: Tenses express chains of binary temporal relations between adjacent Times of Orientation (TOs), not configurations of points on a single time line. A tense schema relates TS to TO_sit, TO_sit to TO₂, TO₂ to TO₁, etc. — but does NOT assert relations between non-adjacent elements. This makes the conditional tense vague (not three-ways ambiguous) about the relation between TO_sit and t₀.
TO/TE decomposition: Reichenbach's overloaded "R" is split into TO (Time of Orientation: the time a situation is related from) and TE (Time Established: what adverbials/context contribute). These are independent: a TO may lack a TE (narrative in medias res); a TE may not serve as a TO ("yesterday" in "John was here yesterday" frames TO_sit but doesn't orient anything).
Two time-spheres: The past/present time-sphere distinction is a first-class conceptual partition, not derivable from temporal relations. Both "I visited Paris" (preterit) and "I have visited Paris" (perfect) can refer to the same objective event; they differ in time-sphere membership (past vs. present).
The Eight Tense Schemata #
Each English tense realizes a chain of relations from TS inward to TO₁:
| Tense | Schema | Sphere |
|---|---|---|
| Preterit | TS simul TO_sit, TO_sit before TO₁ | past |
| Present | TS simul TO_sit, TO_sit includes t₀ | present |
| Present Perfect | TS simul TO_sit, TO_sit before/upto TO₁ | present |
| Past Perfect | TS simul TO_sit, TO_sit before TO₂, TO₂ before TO₁ | past |
| Future | TS simul TO_sit, TO_sit after TO₁ | present |
| Future Perfect | TS simul TO_sit, TO_sit before TO₂, TO₂ after TO₁ | present |
| Conditional | TS simul TO_sit, TO_sit after TO₂, TO₂ before TO₁ | past |
| Conditional Perfect | TS simul TO_sit, TO_sit before TO₃, TO₃ after TO₂, TO₂ before TO₁ | past |
Design #
We represent each schema as a DeclercianSchema — a chain of named TO
links with an explicit time-sphere tag. The toFrame projection collapses
a resolved schema into a ReichenbachFrame, with bridge theorems proving
the correspondence.
The chain structure deliberately does NOT place all TOs on a single time line. Non-adjacent TOs have no asserted relation, which is how Declerck captures temporal vagueness (the future-perfect / conditional cases where TO_sit's relation to t₀ is genuinely underspecified).
The E = R invariant #
Declerck's universal principle is TS = TO_sit (every tense represents
its situation time as coinciding with some orientation time, never as
standing in a non-trivial Allen relation to it). Since we map both R
and E to TO_sit in the Reichenbach projection, every Declercian frame
has E = R. This means isPerfect (E < R) can never hold for a
Declercian projection — the "perfect" lives in the chain structure
(TO_sit before TO₂), not in the Reichenbach E/R relation.
The two time-spheres of English (@cite{declerck-1991}, @cite{declerck-2006}).
The tense system partitions linguistic time into two spheres:
- past: wholly before t₀, containing the preterit, past perfect, conditional, and conditional perfect
- present: includes t₀, containing the present, present perfect, future, and future perfect
This is a conceptual partition, not a temporal relation: both "I visited Paris" and "I have visited Paris" can refer to the same objective event, but differ in time-sphere membership.
- past : TimeSphere
- present : TimeSphere
Instances For
Equations
- Semantics.Tense.TOChain.instDecidableEqTimeSphere x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
A single link in a TO chain: a Core.Time.Orientation-labelled
Time of Orientation related to the next TO inward by a temporal
relation.
Example: in the past perfect schema TS simul TO_sit before TO₂ before TO₁,
the link for TO₂ is ⟨.sub 0, .before, t₂⟩ — meaning TO₂ (= .sub 0,
one step out from the binding TO₁ = .perspective) stands in the
before relation to the next TO outward. The .situation role
labels TO_sit.
- name : Core.Time.Orientation
The orientation-time role of this link (
.situationfor TO_sit;.sub nfor an intermediate TO). - relation : Core.Time.Relation
How this TO relates to the next TO inward toward TO₁.
before= this TO precedes the next;after= this TO follows it;overlapping= simultaneous. - time : Time
The resolved time value.
Instances For
Declerck's tense schema: a chain of TOs from TO₁ outward to TO_sit, with a time-sphere classification.
The chain runs from TO₁ (innermost, adjacent to t₀) outward through
intermediate TOs to TO_sit. The situation time TS is always simultaneous
with TO_sit (Declerck's universal principle: every tense represents TS
as coinciding with some TO), so there is no separate ts field — both
E and R in the Reichenbach projection are derived from TO_sit.
The chain captures only adjacent relations. Non-adjacent TOs (e.g., TO_sit and TO₁ in the conditional tense) have no asserted relation — this is Declerck's account of temporal vagueness.
- t0 : Time
Temporal zero-point (usually = speech time)
- to1 : Time
Basic TO (TO₁): the starting point for temporal relations. Usually = t₀, but can be a future or past time in embedded contexts.
- chain : List (TOLink Time)
Chain of TOs from TO₁ outward. Each link's
relationconnects it to the previous link (or to TO₁ for the first link). The last element is TO_sit, which TS is simultaneous with. - timeSphere : TimeSphere
Which time-sphere the tense belongs to
Instances For
The situation-TO (= TS): the TO with which the situation time coincides. This is the last element of the chain, or TO₁ if the chain is empty.
Instances For
Number of TOs in the schema (including TO₁).
Instances For
Project a Declercian schema to a Reichenbach frame.
The mapping:
- S = t₀
- P = TO₁ (basic TO = perspective time)
- R = TO_sit (situation-TO)
- E = TO_sit (= TS, by Declerck's universal principle TS = TO_sit)
Since R = E = TO_sit, every Declercian frame has isPerfective (E = R)
and can never satisfy isPerfect (E < R). The "perfect" in Declerck's
system is a chain property (TO_sit before TO₂), not an E/R relation.
This is a lossy projection: the chain structure (intermediate TOs, temporal vagueness) is collapsed.
Equations
Instances For
Every Declercian frame has E = R (Declerck's TS = TO_sit principle).
Each schema is parameterized by concrete times so that bridge theorems can verify the structural relations.
Preterit: TS simul TO_sit, TO_sit before TO₁. Past time-sphere. Two TOs in the chain.
Example: "John was ill yesterday."
- TO₁ = t₀ (absolute use)
- TO_sit before TO₁ (past time-sphere)
- TS = TO_sit
Equations
- One or more equations did not get rendered due to their size.
Instances For
Present tense: TS simul TO_sit, TO_sit includes t₀. Present time-sphere. Two TOs in the chain.
Declerck's key insight: the present tense does NOT assert TO_sit = t₀
but rather TO_sit includes t₀. For point times this degenerates to
equality (captured by .overlapping), but for intervals "John is in
London today" has TO_sit = today, which properly includes t₀. The
interval-level inclusion is handled by Interval.subinterval.
Example: "John is in London."
- TO_sit includes t₀ (= overlapping for point times)
- TS = TO_sit
Equations
- One or more equations did not get rendered due to their size.
Instances For
Present perfect: TS simul TO_sit, TO_sit before TO₁. Present time-sphere (the crucial difference from the preterit).
Declerck's distinctive claim: the present perfect and preterit differ in time-sphere membership, not in definiteness or current relevance. Both can refer to the same event; the perfect places it in the pre-present sector of the present time-sphere.
Example: "I have visited Paris."
- TO₁ = t₀
- TO_sit before TO₁ (pre-present sector)
- TS = TO_sit
- Present time-sphere (vs. past for the preterit)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Past perfect: TS simul TO_sit, TO_sit before TO₂, TO₂ before TO₁. Past time-sphere. Three TOs in the chain.
The past perfect is either "the past of the preterit" or "the past of the present perfect." In both cases TO₂ lies in the past time-sphere relative to TO₁, and TO_sit is anterior to TO₂.
Example: "John had left before we arrived."
- TO₁ = t₀
- TO₂ before TO₁ (past time-sphere)
- TO_sit before TO₂ (anterior to the past reference)
- TS = TO_sit
Equations
- One or more equations did not get rendered due to their size.
Instances For
Future tense: TS simul TO_sit, TO_sit after TO₁. Present time-sphere. Two TOs in the chain.
The future locates TO_sit either wholly after t₀ or from t₀ onwards.
For point times, after suffices.
Example: "I will do it next week."
- TO₁ = t₀
- TO_sit after TO₁ (post-present sector)
- TS = TO_sit
Equations
- One or more equations did not get rendered due to their size.
Instances For
Future perfect: TS simul TO_sit, TO_sit before TO₂, TO₂ after TO₁. Present time-sphere. Three TOs in the chain.
The future perfect is vague about the relation between TO_sit and TO₁: John may have already left, may be leaving now, or may leave later. The chain captures this by NOT asserting a TO_sit–TO₁ relation.
Example: "John will have left when we arrive."
- TO₁ = t₀
- TO₂ after TO₁ (future reference point)
- TO_sit before TO₂ (anterior to the future reference)
- TS = TO_sit
Equations
- One or more equations did not get rendered due to their size.
Instances For
Conditional tense: TS simul TO_sit, TO_sit after TO₂, TO₂ before TO₁. Past time-sphere (for TO₂). Three TOs in the chain.
The conditional is the mirror image of the future perfect: "future in the past." Like the future perfect, it is vague about TO_sit's relation to TO₁ — the situation may or may not have occurred by speech time.
Example: "The house would weather many more storms."
- TO₁ = t₀
- TO₂ before TO₁ (past time-sphere)
- TO_sit after TO₂ (posterior within the past domain)
- TS = TO_sit
Equations
- One or more equations did not get rendered due to their size.
Instances For
Conditional perfect: TS simul TO_sit, TO_sit before TO₃, TO₃ after TO₂, TO₂ before TO₁. Past time-sphere. Four TOs in the chain.
The most intricate English tense: "past in the future in the past."
Example: "He would have left by then."
- TO₁ = t₀
- TO₂ before TO₁ (past time-sphere)
- TO₃ after TO₂ (future within the past domain)
- TO_sit before TO₃ (anterior to the future-in-past reference)
- TS = TO_sit
Equations
- One or more equations did not get rendered due to their size.
Instances For
Simple tenses have depth 2 (TO₁ + TO_sit).
Compound tenses have depth 3 (TO₁ + TO₂ + TO_sit).
The conditional perfect has depth 4 (TO₁ + TO₂ + TO₃ + TO_sit).
Present time-sphere tenses: present, present perfect, future, future perfect.
Past time-sphere tenses: preterit, past perfect, conditional, conditional perfect.
Each bridge theorem shows that a Declercian schema, when resolved to
concrete times satisfying the chain constraints, projects to a
ReichenbachFrame satisfying the expected Reichenbach tense predicate.
This connects Declerck's chain architecture to the existing Reichenbach
infrastructure used by all other tense theories in linglib.
Present projects to a frame satisfying PRESENT (R = P) for point times.
Present perfect projects to a frame satisfying PAST (R < P) —
because TO_sit (= R) < TO₁ (= P). The present-sphere membership is
tracked by timeSphere, not by the Reichenbach R/P relation.
This is Declerck's key structural claim: the perfect/preterit distinction is time-sphere, not R/P configuration. Both project to R < P.
Preterit and present perfect produce identical Reichenbach frames for the same times — they differ ONLY in time-sphere. This is Declerck's central thesis about the perfect/preterit distinction: the contrast is sphere membership, not R/P configuration.
... but they differ in time-sphere.
Past perfect projects to PAST (R < P). The chain gives TO_sit < TO₂ < TO₁, so R (= TO_sit) < P (= TO₁).
Future projects to FUTURE (R > P).
Conditional: TO₂ < TO₁ projects to PAST for the intermediate reference. The full frame has R (= TO_sit) related to P (= TO₁), but the relation is underspecified — TO_sit may be before, at, or after TO₁.
We can only prove that TO₂ < TO₁ (the chain constraint), which Reichenbach would misrepresent as three separate tense schemata.
Declerck's chain model captures temporal vagueness naturally: when a schema's chain doesn't include a direct link between two TOs, their relation is genuinely unspecified.
The future perfect and conditional tense are both vague about
the relation between TO_sit and TO₁. @cite{reichenbach-1947}
incorrectly treats this as three-way ambiguity (S–R–E, R–S–E,
R–E–S as distinct schemata for the conditional).
The future perfect is vague about TO_sit's relation to t₀: the chain relates TO_sit to TO₂ and TO₂ to TO₁, but NOT TO_sit to TO₁. All three scenarios are consistent.
The conditional tense is vague about TO_sit's relation to t₀: the chain relates TO_sit to TO₂ and TO₂ to TO₁, but NOT TO_sit to TO₁. All three scenarios are consistent.
@cite{reichenbach-1947}'s three separate schemata for the conditional (S–R–E, R–S–E, R–E–S) are NOT distinct tenses — they are instances of a single vague schema.
Concrete examples matching the Phenomena/Tense/Data.lean frames, showing the Declercian schemata produce the same data.
"John was ill yesterday" — preterit, absolute use.
Equations
Instances For
"It is raining" — present, point time.
Equations
Instances For
"I have visited Paris" — present perfect.
Instances For
"I visited Paris" — preterit (same event, different sphere).
Equations
Instances For
"John had left before we arrived" — past perfect.
Equations
Instances For
"I will do it next week" — future.
Equations
Instances For
"John will have left when we arrive" — future perfect.
Instances For
"The house would weather many more storms" — conditional.
Equations
Instances For
"He would have left by then" — conditional perfect.
Equations
Instances For
Concrete preterit satisfies PAST.
Concrete present satisfies PRESENT.
Present perfect and preterit project to identical Reichenbach frames.
But they have different time-spheres.
Concrete future satisfies FUTURE.
Concrete future perfect: TO_sit (3) < TO₂ (5), and TO₂ (5) > t₀ (0).
Concrete conditional: TO₂ (-5) < t₀ (0), TO_sit (-3) > TO₂ (-5).
Conditional perfect: 4-deep chain is valid.
Declerck TO-Chain ↔ Context Tower #
Each link in a TO-chain corresponds to a temporal shift in a context tower.
The chain runs from TO₁ outward to TO_sit; each link introduces a new temporal
perspective point, which is exactly what pushing a temporalShift does.
- TO₁ corresponds to the tower origin (the basic temporal reference point)
- Each subsequent TO in the chain maps to a tower push with
temporalShift DeclercianSchema.depth=chain.length + 1corresponds to tower depth + 1 (the tower counts shifts, while Declerck counts TOs including TO₁)
The mapping is tower.depth = schema.chain.length, and
schema.depth = tower.depth + 1 (because Declerck counts TO₁ as depth 1).
Convert a Declercian TO-chain to a list of temporal shifts.
Each TOLink becomes a temporalShift with .temporal label.
The relation in the link is not encoded in the shift itself —
it is a constraint on the times, not a transformation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Convert a Declercian schema to a context tower.
The origin context has time := to1 (the basic TO).
Each chain link becomes a temporal shift.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The tower depth equals the chain length.
Declerck's depth = tower depth + 1. The "+1" is because Declerck counts TO₁ as part of the depth (depth = number of TOs), while the tower counts only shifts (depth = number of pushes).
For simple tenses (chain length 1), the tower has depth 1.
For compound tenses (chain length 2), the tower has depth 2.
For the conditional perfect (chain length 3), the tower has depth 3.
Re-express DeclercianSchema via the framework-agnostic
Core.Time.Domain substrate (central TO + list of sub-TOs, with
Allen relations computed on demand from the underlying linear
order). The toDomain builder lifts the chain structure into a
Domain Time Orientation whose central TO is the utterance
time (T₀) and whose sub-TOs are the perspective TO (TO₁) followed
by every chain link as a point interval.
This is **additive**: the `DeclercianSchema` structure and all the
named-tense constructors stay unchanged. Domain-level tooling can
now work uniformly with
`s.toDomain.relatedByName precedesSet .situation .perspective`,
while existing Reichenbach-projecting code continues to use
`s.toFrame`.
The schema as a Core.Time.Domain over the universal
Orientation role vocabulary: central = .utterance (T₀, the
temporal zero-point), sub-TOs = .perspective (TO₁) followed by
every chain link as a point interval.
The Allen relations between any pair of TOs are computed from
the underlying LinearOrder Time via Interval.allenRel; nothing
is stored. The chain's relation field encodes the intended
Declercian temporal relation but is not consulted here — its job is
to constrain admissible time assignments at the call site, not to
reproduce information already implicit in the linear order.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The schema's domain labels: utterance first, then perspective, then every chain link's role. Useful for stating role-set invariants.
The Zone enum encodes Declerck's six principal temporal sectors
— two time-spheres (past, present) crossed with three positions
(anterior pre-, central, posterior post-). Each English tense
locates its situation time in one of these zones. The
DeclercianSchema.zoneOf classifier projects a schema to its zone
based on (timeSphere, last chain-link relation) — the relation of
TO_sit to its outer anchor, plus the sphere membership of that
anchor.
For **simple tenses** (chain length 1, anchor = `TO₁` = `t₀`):
- `(past, before)` → `past` (preterit)
- `(present, before)` → `prePresent` (present perfect)
- `(present, overlapping)` → `present` (present)
- `(present, after)` → `postPresent` (future)
For **compound tenses** (chain length ≥ 2, anchor = `TO₂` etc.):
- `(past, before)` → `prePast` (past perfect, conditional perfect)
- `(past, after)` → `postPast` (conditional)
- `(present, before)` → `prePresent` (future perfect's TO_sit, anterior)
- `(present, after)` → `postPresent`
The classifier is **not** the inverse of the chain — vague tenses
(future perfect, conditional) under-determine `TO_sit`'s zone, and
the classifier returns the zone of the immediate anchor. The
`zone_of_*` `rfl`-theorems below verify each named tense classifies
to its expected zone.
Equations
- Semantics.Tense.TOChain.instDecidableEqZone x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Classify a schema's TO_sit by zone, based on (timeSphere, last chain link's relation). See the section docstring for the mapping.
Defaults to the sphere's center for empty chains and odd cases.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Preterit and present perfect classify to different zones (past
vs prePresent) despite projecting to identical Reichenbach frames
(preterit_presentPerfect_same_frame). This is exactly Declerck's
central claim about the perfect/preterit distinction: the difference
lives in the time-sphere/zone, not in the underlying R/P
configuration. The Zone classifier surfaces what toFrame flattens.
Declerck's DeclercianSchema as a Core.Time.TenseSystem
(anchor = .perspective for TO₁, situation = .situation for
TO_sit) and Core.Time.AspectSystem instance. The aspect instance
collapses event and reference roles both to .situation —
Declerck's universal TS = TO_sit principle means E = R always
holds, so any predicate of the form "event equals reference" is
trivially satisfied for every Declercian schema, and "event
precedes reference" can never hold. The "perfect" lives in the
chain structure (TO_sit before .sub 0), not in the E/R relation
— exactly Declerck's claim.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.