Documentation

Linglib.Core.Time.Reichenbach

Reichenbach's Temporal Framework #

@cite{kiparsky-2002} @cite{klein-1994} @cite{reichenbach-1947}

@cite{reichenbach-1947} / @cite{klein-1994} tense–aspect parameters, extended with @cite{kiparsky-2002}'s perspective time P.

Three (four) distinguished times:

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

Domain bridge #

ReichenbachFrame is the four-slot point-time record used throughout linglib's tense modules. The toDomain builder lifts it to a generic Core.Time.Domain (central = S, sub-TOs = [P, R, E], all as point intervals via TO.point). The *_iff_relatedByName bridge theorems re-express each Boolean predicate (isPast, isPerfect, …) as a Domain.relatedByName query against named atom-sets from the Allen algebra. This grounds the Reichenbach predicates in the Allen projection function (Interval.allenRel) without changing the existing four-field record — downstream call sites continue to use f.referenceTime, f.isPast, etc., while domain-level tooling can work with f.toDomain and relatedByName.

Reichenbach's temporal parameters for tense/aspect analysis, extended with @cite{kiparsky-2002}'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 : Time

    Speech time (S): when the utterance occurs

  • perspectiveTime : Time

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

  • referenceTime : Time

    Reference time (R): the time under discussion

  • eventTime : Time

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

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

    PAST: R < P (reference time precedes perspective time). @cite{kiparsky-2002}: tense locates R relative to P, not S.

    Equations
    Instances For

      PRESENT: R = P (reference time equals perspective time).

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

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

        Equations
        Instances For

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

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

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

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

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

              Equations
              Instances For

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

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

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

                  Perfect: E < R (event precedes reference)

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

                    Prospective: R < E (reference precedes event)

                    Equations
                    Instances For
                      def Core.Time.Reichenbach.ReichenbachFrame.toDomain {Time : Type u_1} [LinearOrder Time] (f : ReichenbachFrame Time) :

                      The Reichenbach frame as a generic temporal Domain over the universal Orientation role vocabulary: central = utterance (S), sub-TOs = [perspective (P), topic (R), situation (E)], every TO a point interval (degenerate via TO.point). This is the canonical bridge from the four-field record to the framework-agnostic Domain substrate.

                      Proved equal to Domain.ofReichenbachPoints (toDomain_eq); the four find? simp lemmas inherited from Domain then resolve all role lookups by rfl.

                      Equations
                      Instances For

                        isPast is exactly topic precedes perspective in the Allen algebra against the domain — the Reichenbach predicate grounded by construction in the Allen projection function on point intervals.

                        isFuture is exactly perspective precedes topic in the Allen algebra against the domain.

                        isPresent is exactly topic equal perspective in the Allen algebra against the domain.

                        isPerfect is exactly situation precedes topic in the Allen algebra against the domain.

                        isProspective is exactly topic precedes situation in the Allen algebra against the domain.

                        isPerfective is exactly situation equal topic in the Allen algebra against the domain. (For the point-time approximation; the proper interval-based perfective/imperfective distinction lives in Theories/Semantics/Lexical/Verb/ViewpointAspect.lean.)

                        Reichenbach as a Core.Time.TenseSystem (anchor = P, situation = R) and Core.Time.AspectSystem (event = E, reference = R) instance. The instances commit Reichenbach to the Orientation role vocabulary so generic Domain-level tooling (e.g. relatedByName-driven analyses) can dispatch over any tense or aspect framework. The concrete isPast/isPerfect/etc. predicates remain on ReichenbachFrame; the Allen bridges above (*_iff_relatedByName) show how they project into the algebra.

                        @[implicit_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.
                        @[implicit_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.