Documentation

Linglib.Semantics.Tense.Reichenbach

Reichenbach's Temporal Framework #

[Kip02] [Kle94] [Rei47]

[Rei47] / [Kle94] tense–aspect parameters, extended with [Kip02]'s perspective time P.

Three (four) distinguished times:

Tense relates R to P; Aspect relates E to R.

structure Time.ReichenbachFrame (T : Type u_1) :
Type u_1

Reichenbach's temporal parameters for tense/aspect analysis, extended with [Kip02]'s perspective time P.

P = S in root clauses but diverges for flashbacks, free indirect discourse, and embedded tenses. Tense locates R relative to P (not S).

  • speechTime : T

    Speech time (S): when the utterance occurs

  • perspectiveTime : T

    Perspective time (P): origin of temporal deixis. Equals S in root clauses; shifts in flashback, FID, embedded tenses.

  • referenceTime : T

    Reference time (R): the time under discussion

  • eventTime : T

    Event time (E): when the described event occurs (E)

Instances For
    def Time.ReichenbachFrame.isPast {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :

    PAST: R < P (reference time precedes perspective time) — a view of Core.Order.holds Tense.past. [Kip02]: tense locates R relative to P, not S.

    Equations
    Instances For

      PRESENT: R = P (reference time equals perspective time). Present is the one tense that needs no ordering, so it stays the bare equality (frame predicates over unordered time keep typechecking); it is definitionally Core.Order.holds Tense.present.

      Equations
      Instances For
        def Time.ReichenbachFrame.isFuture {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :

        FUTURE: P < R (perspective time precedes reference time).

        Equations
        Instances For
          def Time.ReichenbachFrame.isNonpast {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :

          NONPAST: P ≤ R (present or future) ([Kle16]) — the view of Core.Order.holds Tense.nonpast. Completes the four-way relation on frames.

          Equations
          Instances For

            Simple case: P = S (root clause, no perspective shift).

            Equations
            Instances For
              def Time.ReichenbachFrame.defaultPR {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :

              Kiparsky's unmarked P–R default: P ≤ R.

              Equations
              Instances For
                def Time.ReichenbachFrame.defaultER {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :

                Kiparsky's unmarked E–R default: E ≤ R.

                Equations
                Instances For

                  Perfective: E ⊆ R (event contained in reference). Simplified to E = R for point-based times. TODO: proper interval-based perfective/imperfective distinction lives in Semantics/Aspect/Basic.lean (Perfectivity).

                  Equations
                  Instances For
                    def Time.ReichenbachFrame.isPerfect {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :

                    Perfect: E < R (event precedes reference)

                    Equations
                    Instances For
                      def Time.ReichenbachFrame.isProspective {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :

                      Prospective: R < E (reference precedes event)

                      Equations
                      Instances For

                        Unfolding lemmas and decidability #

                        One _def simp lemma and one Decidable instance per predicate, so consumers can close concrete goals with decide and rewrite with simp only [isPast_def] instead of unfolding definitions by hand.

                        @[simp]
                        theorem Time.ReichenbachFrame.isPast_def {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :
                        @[simp]
                        @[simp]
                        @[simp]
                        theorem Time.ReichenbachFrame.isPerfect_def {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :
                        theorem Time.ReichenbachFrame.isPast_simpleCase {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) (h : f.isSimpleCase) :

                        In the simple case (P = S), isPast reduces to R < S.

                        @[instance_reducible]
                        instance Time.ReichenbachFrame.instDecidableIsPast {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :
                        Decidable f.isPast
                        Equations
                        @[instance_reducible]
                        instance Time.ReichenbachFrame.instDecidableIsFuture {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :
                        Decidable f.isFuture
                        Equations
                        @[instance_reducible]
                        instance Time.ReichenbachFrame.instDecidableIsNonpast {T : Type u_1} [LinearOrder T] (f : ReichenbachFrame T) :
                        Decidable f.isNonpast
                        Equations