Documentation

Linglib.Semantics.Tense.Basic

Tense Theory Infrastructure: Shared Types #

[Abu97] [Hei94a] [Ogi89] [Par73]

Shared embedding infrastructure for the tense theories: embedded Reichenbach frames, the shifted/simultaneous reading split, the upper limit constraint, and the projections connecting TensePronoun to the SOT frame constructors.

Main declarations #

AttitudeTemporalSemantics #

structure Tense.AttitudeTemporalSemantics (Time : Type u_1) :
Type u_1

How an attitude verb shifts the evaluation time for its complement.

All six theories agree that attitude verbs modify the temporal evaluation context of their complement. They differ in the formal mechanism (eval time shift, feature checking, deletion, binding). This structure captures the shared interface.

  • shiftEvalTime : _root_.Time.ReichenbachFrame TimeTime

    Given a matrix Reichenbach frame, compute the eval time for the embedded clause. Typically = matrix event time.

  • embeddedConstraint : TimeTimeProp

    The temporal constraint imposed on the embedded clause: embeddedRefTime must stand in this relation to the shifted eval time.

Instances For

    The two available readings for embedded past under past.

    When past tense appears in the complement of a past-tense attitude verb, the embedded past can be interpreted as:

    • shifted: the embedded event occurred BEFORE the matrix event (R' < P' = E_matrix)
    • simultaneous: the embedded event occurred AT the matrix event time (R' = P' = E_matrix), via SOT deletion ([Ogi89], §11.2 (83))
    Instances For
      @[implicit_reducible]
      Equations
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Standard eval time shift: embedded eval time = matrix event time. This is the default across all six theories.

        Equations
        Instances For

          Embedded Frames #

          def Tense.embeddedFrame {Time : Type u_1} (matrixFrame : _root_.Time.ReichenbachFrame Time) (embeddedR embeddedE : Time) :

          Construct the Reichenbach frame for an embedded clause under an attitude verb.

          The key operation: embedded perspective time P' = matrix event time E. The embedded clause's tense locates its R' relative to P' = E_matrix, not relative to S (speech time).

          embeddedR and embeddedE are the embedded clause's reference and event times, determined by its tense and aspect.

          Equations
          Instances For

            Embedded Tense Readings #

            Available readings depend on the SOT parameter of the language.

            SOT languages (English): both shifted and simultaneous readings. Non-SOT languages (Japanese): only shifted (absolute tense).

            Equations
            Instances For

              Reading-Specific Frames #

              def Tense.simultaneousFrame {Time : Type u_1} (matrixFrame : _root_.Time.ReichenbachFrame Time) (embeddedE : Time) :

              The simultaneous reading: embedded R = matrix E.

              "John said Mary was sick" (she was sick AT THE TIME of saying). The embedded reference time equals the matrix event time, so embedded tense = PRESENT relative to embedded P. embeddedFrame with R' = E_matrix.

              Equations
              Instances For
                def Tense.shiftedFrame {Time : Type u_1} (matrixFrame : _root_.Time.ReichenbachFrame Time) (embeddedR embeddedE : Time) :

                The shifted reading: embedded R < matrix E.

                "John said Mary had been sick" (she was sick BEFORE the saying). The embedded reference time precedes the matrix event time, so embedded tense = PAST relative to embedded P. Definitionally embeddedFrame; the inequality R' < E_matrix is a hypothesis at use sites, not enforced by the constructor.

                Equations
                Instances For

                  Perspective Shift Derivations #

                  theorem Tense.past_under_past_shifted_is_past {Time : Type u_1} [LinearOrder Time] (S P R E R' : Time) (h_root : P = S) (h_matrix_past : R < P) (h_perfective : E R) (h_shifted : R' < E) :
                  R' < S

                  In a past-under-past configuration with the shifted reading, the embedded reference time is past relative to speech time.

                  Derivation: R' < E_matrix ≤ R_matrix < P_matrix = S Therefore R' < S, which is PAST relative to speech time.

                  theorem Tense.past_under_past_simultaneous_is_past {Time : Type u_1} [LinearOrder Time] (S P R E R' : Time) (h_root : P = S) (h_matrix_past : R < P) (h_perfective : E R) (h_simultaneous : R' = E) :
                  R' < S

                  In a past-under-past configuration with the simultaneous reading, the embedded reference time is still past relative to speech time.

                  Derivation: R' = E_matrix ≤ R_matrix < P_matrix = S Therefore R' < S.

                  theorem Tense.simultaneousFrame_isPresent {Time : Type u_1} (matrixFrame : _root_.Time.ReichenbachFrame Time) (embeddedE : Time) :
                  (simultaneousFrame matrixFrame embeddedE).isPresent

                  The simultaneous frame satisfies PRESENT (R = P) relative to embedded P.

                  Available Readings Theorems #

                  In SOT languages, the shifted reading is available.

                  In non-SOT languages, only the shifted reading is available.

                  Non-SOT languages do not have the simultaneous reading.

                  Upper Limit Constraint ([Abu97]) #

                  The Upper Limit Constraint is stated by [Abu97] §7 (p. 25): "the now of an epistemic alternative is an upper limit for the denotation of tenses". The motivation is branching futures: at the now of an intensional context, future branches diverge across epistemic alternatives, so forward reference past the now is unsupported. The presuppositional construal — ULC as a constraint on definedness of semantic values, projecting via Karttunen-Heim — is due to [Hei94a]; [Abu97] fn 20 endorses this construal.

                  ULC: embedded R' ≤ matrix E (= embedded P).

                  Note on faithfulness: the value-level reduction embeddedR ≤ matrixE strips the modal-alternative quantification Abusch's formulation carries (the "now of an epistemic alternative" quantifies over doxastic alternatives). A modal-layer formulation (over HistoricalAlternatives W Time, à la [Kle16]'s actualHistoryBase) would be more faithful to the original; deferred future work.

                  @[reducible, inline]
                  abbrev Tense.upperLimitConstraint {Time : Type u_1} [LE Time] (embeddedR matrixE : Time) :

                  The Upper Limit Constraint.

                  Stated by [Abu97] §7 ("the now of an epistemic alternative is an upper limit for the denotation of tenses"); presuppositional construal due to [Hei94a], endorsed by Abusch 1997 fn 20. The current value-level reduction is embeddedR ≤ matrixE against bare [LE Time].

                  Equations
                  Instances For
                    theorem Tense.ulc_blocks_forward_shift {Time : Type u_1} [LinearOrder Time] (embeddedR matrixE : Time) (h_ulc : upperLimitConstraint embeddedR matrixE) (h_forward : embeddedR > matrixE) :
                    False

                    The ULC blocks the forward-shifted reading. If embedded R' must satisfy R' ≤ E_matrix (ULC) AND R' > E_matrix (forward shift), contradiction.

                    theorem Tense.shifted_satisfies_ulc {Time : Type u_1} [Preorder Time] (embeddedR matrixE : Time) (h : embeddedR < matrixE) :
                    upperLimitConstraint embeddedR matrixE

                    Shifted reading satisfies ULC: R' < E_matrix → R' ≤ E_matrix.

                    theorem Tense.simultaneous_satisfies_ulc {Time : Type u_1} [Preorder Time] (embeddedR matrixE : Time) (h : embeddedR = matrixE) :
                    upperLimitConstraint embeddedR matrixE

                    Simultaneous reading satisfies ULC: R' = E_matrix → R' ≤ E_matrix.

                    TensePronoun Projections onto SOT Frames #

                    The TensePronoun type in Tense unifies the five views of tense. The following theorems show that simultaneousFrame and shiftedFrame are projections of specific tense pronouns — a bound present pronoun gives the simultaneous reading; a free past pronoun gives the shifted reading.

                    theorem Tense.simultaneousFrame_from_tense_pronoun {Time : Type u_1} (matrixFrame : _root_.Time.ReichenbachFrame Time) (g : TemporalAssignment Time) (n : ) (embeddedE : Time) (tp : TensePronoun) (hIdx : tp.varIndex = n) (_hPres : tp.constraint = present) (hResolve : interpTense n g = matrixFrame.eventTime) :
                    tp.toFrame g matrixFrame.speechTime matrixFrame.eventTime embeddedE = simultaneousFrame matrixFrame embeddedE

                    The simultaneous reading = bound present tense pronoun. A present-constraint tense pronoun whose variable resolves to P (the matrix event time) produces a simultaneousFrame.

                    theorem Tense.shiftedFrame_from_tense_pronoun {Time : Type u_1} (matrixFrame : _root_.Time.ReichenbachFrame Time) (g : TemporalAssignment Time) (n : ) (embeddedR embeddedE : Time) (tp : TensePronoun) (hIdx : tp.varIndex = n) (_hPast : tp.constraint = past) (hResolve : interpTense n g = embeddedR) :
                    tp.toFrame g matrixFrame.speechTime matrixFrame.eventTime embeddedE = shiftedFrame matrixFrame embeddedR embeddedE

                    The shifted reading = free past tense pronoun. A past-constraint tense pronoun whose variable resolves to some R' < P produces a shiftedFrame.

                    theorem Tense.doubleAccess_present_under_past {Time : Type u_1} [LinearOrder Time] (matrixFrame : _root_.Time.ReichenbachFrame Time) (_embeddedE : Time) (p : TimeProp) (h_simul : p matrixFrame.eventTime) (h_speech : p matrixFrame.speechTime) :
                    doubleAccess p matrixFrame.speechTime matrixFrame.eventTime

                    Double-access: present-under-past requires the complement to hold at BOTH speech time AND matrix event time.

                    This bridges the doubleAccess definition from Tense to the SOT analysis: the present-under-past frame's R = P (simultaneous), and the speech time is independently accessible via indexical rigidity.

                    theorem Tense.bound_tense_simultaneous {Time : Type u_1} [LinearOrder Time] (g : TemporalAssignment Time) (n : ) (matrixFrame : _root_.Time.ReichenbachFrame Time) :
                    interpTense n (updateTemporal g n matrixFrame.eventTime) = matrixFrame.eventTime (simultaneousFrame matrixFrame matrixFrame.eventTime).isPresent

                    Ogihara's synthesis: bound tense (zero tense) + attitude binding = simultaneous reading. The zero tense variable receives the matrix event time via lambda abstraction; the Reichenbach frame has R = P.

                    ThenAdverb #

                    A "then"-type temporal adverb. Cross-linguistically, "then" shifts the perspective time P away from the speech time S ([Zha25], [TZ26]).

                    • language : String

                      Language name

                    • form : String

                      Surface form

                    • gloss : String

                      English gloss

                    • shiftsPerspective : Bool

                      "then" shifts P away from S: P ≠ S after "then" applies.

                    Instances For
                      @[implicit_reducible]
                      Equations
                      def Tense.instReprThenAdverb.repr :
                      ThenAdverbStd.Format
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Tense.instDecidableEqThenAdverb.decEq (x✝ x✝¹ : ThenAdverb) :
                        Decidable (x✝ = x✝¹)
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For