Tense: ContextTower #
@cite{abusch-1997} @cite{schlenker-2003} @cite{von-stechow-2009}
End-to-end derivation chain connecting the ContextTower infrastructure
to concrete tense phenomena. The core insight: embedded tense is modeled
as a temporalShift on the tower, and the embedded clause's perspective
time is read from the shifted (innermost) context.
Derivation Chain #
Core.Context.Tower (ContextTower, push, innermost, origin)
↓
Core.Context.Shifts (temporalShift: changes time, preserves agent/world)
↓
This file: tower operations produce the Reichenbach frames in Data.lean
↓
Phenomena.TenseAspect.Data (matrixSaid, embeddedSickSimultaneous, etc.)
Key Results #
- Root clause = root tower:
contextAt 0 = origin, so P = S (speech time) - SOT embedding = temporal shift:
temporalShift(matrixEventTime)produces the embedded perspective time P' = E_matrix - Double access = origin reading: present-under-past reads time from
.origin(speech time), not.local(matrix event time) - Tower depth = embedding depth: one attitude verb = depth 1; nested attitudes = depth 2+
A minimal tense context: world, agent, position, and time (as ℤ).
Instances For
A root clause is a tower with no shifts: depth 0.
Equations
Instances For
In a root tower, the innermost context IS the origin. Therefore P = S (perspective time = speech time), which is the defining property of root clauses in the Reichenbach framework.
Root tower has depth 0.
"John said..." pushes a temporal shift: the matrix event time (-2) becomes the embedded clause's perspective time.
This models @cite{von-stechow-2009}: the attitude verb transmits its event time to the embedded clause.
Equations
Instances For
After the temporal shift, the embedded perspective time is the matrix event time (-2), not the speech time (0). This is the SOT mechanism: embedded tense is evaluated relative to the matrix event time.
SOT tower has depth 1 (one embedding).
The embedded perspective time (-2) equals the matrix event time in
matrixSaid. This is the end-to-end bridge: tower operation →
Reichenbach frame.
The simultaneous reading: embedded R' = embedded P = matrix E = -2.
This matches embeddedSickSimultaneous.perspectiveTime.
"John said Mary IS sick" (present-under-past): the present tense in the embedded clause reads from the ORIGIN (speech time), not from the shifted context. This is the double-access reading: the embedded present anchors to speech time despite being under a past matrix verb.
Tower model: the embedded present uses DepthSpec.origin for its
temporal coordinate, reading time = 0 from the origin.
Equations
Instances For
Present-under-past reads speech time (0), not matrix event time (-2).
The embedded present's time (0) matches the speech time in
embeddedSickPresent. End-to-end: tower origin access → Reichenbach
frame perspective time.
The shifted reading ("Mary WAS sick before John said so") reads from the LOCAL (innermost) context. The embedded past tense evaluates its reference time relative to the shifted perspective time.
Equations
Instances For
Shifted reading reads matrix event time (-2) from the innermost context.
The shifted reading's perspective time matches the embedded frame.
Kaplan's thesis formalized: an origin-accessing expression yields the same value regardless of how many shifts are pushed. The speech time is invariant under SOT embedding.
"John said that Mary believed that Bill was sick" — double embedding. Two temporal shifts: first to John's saying time (-2), then to Mary's believing time (-4).
Equations
Instances For
Double embedding has depth 2.
The innermost context in a doubly-embedded clause reads the most deeply shifted time (-4).
Even under double embedding, the origin (speech time) is preserved.
Double access still works at depth 2: present-under-past-under-past reads from the origin.