Documentation

Linglib.Semantics.Tense.Perspective

Perspectival Tense Theory #

[TZ26] [Sha03] [Zha25] [AN04b] [Dea20]

Reusable infrastructure for perspectival tense interpretation: tense presuppositions anchored to a perspective parameter π, the OP_π shift operator, and the InterpParams architecture enforcing independence of context and perspective.

Core Formal System #

The interpretation function ⟦·⟧^{c,π,g} takes three parameters:

Two shift operators with the same shape ("overwrite parameter with evaluation index") but operating on independent parameters:

Tense Presuppositions #

Tenses are presupposition triggers anchored to π:

Tense Presuppositions #

PRES presupposes g(n) ○ π: the temporal reference overlaps the perspective. Point approximation: R = P.

Equations
Instances For

    PAST presupposes g(n) < π: the temporal reference precedes the perspective.

    Equations
    Instances For
      theorem Tense.Perspective.presPresup_iff_isPresent {Time : Type u_1} [LinearOrder Time] (f : _root_.Time.ReichenbachFrame Time) :

      The PRES presupposition is definitionally equal to isPresent.

      theorem Tense.Perspective.pastPresup_iff_isPast {Time : Type u_1} [LinearOrder Time] (f : _root_.Time.ReichenbachFrame Time) :

      The PAST presupposition is definitionally equal to isPast.

      OP_π: Perspective-Shifting Operator #

      OP_π shifts the perspective time to a new value. ⟦OP_π φ⟧^{c,π,g} = λi_κ. ⟦φ⟧^{c,i_t,g}(i)

      Equations
      Instances For
        theorem Tense.Perspective.opPi_eq_embeddedFrame {Time : Type u_1} (matrixFrame : _root_.Time.ReichenbachFrame Time) (embeddedR embeddedE : Time) :
        opPi { speechTime := matrixFrame.speechTime, perspectiveTime := matrixFrame.speechTime, referenceTime := embeddedR, eventTime := embeddedE } matrixFrame.eventTime = embeddedFrame matrixFrame embeddedR embeddedE

        OP_π corresponds to embeddedFrame when shifting to the matrix event time.

        ⌈then⌉ Presupposition #

        def Tense.Perspective.thenPresup {Time : Type u_1} (thenRef perspective : Time) :

        ⌈then⌉ presupposes ¬(g(n) ○ π): its temporal reference is disjoint from the perspective. Point approximation: thenRef ≠ π.

        This is ⌈then⌉'s OWN presupposition, separate from the presuppositions of any co-clausal tense. The incompatibility with PRES arises because composition (via "during then") forces the PRES reference to be contained in the then reference, bridging the two presuppositions.

        Equations
        Instances For

          Core Clash Theorems #

          theorem Tense.Perspective.then_present_clash {Time : Type u_1} (presRef thenRef perspective : Time) (hPres : presRef = perspective) (hDuring : presRef = thenRef) (hThen : thenPresup thenRef perspective) :
          False

          The ⌈then⌉-present clash. Three ingredients produce the contradiction:

          1. PRES presupposes presRef = π (overlap with perspective)
          2. The temporal assertion requires presRef = thenRef ("during then")
          3. ⌈then⌉ presupposes thenRef ≠ π (disjoint from perspective)

          Together: π = presRef = thenRef, but thenRef ≠ π.

          theorem Tense.Perspective.then_perspective_clash {Time : Type u_1} (f : _root_.Time.ReichenbachFrame Time) (localEval : Time) (hOP : f.perspectiveTime = localEval) (hThen : f.perspectiveTime localEval) :
          False

          General OP_π + ⌈then⌉ clash at the frame level: OP_π sets P = localEval; anything requiring P ≠ localEval contradicts.

          Deleted vs. Shifted Tense #

          Status of an embedded tense morpheme.

          Instances For
            @[implicit_reducible]
            Equations
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Tense.Perspective.shiftedTensePresup {Time : Type u_1} [LT Time] (f : _root_.Time.ReichenbachFrame Time) (isPres : Bool) :

              A shifted tense retains its presupposition (PRES or PAST relative to π).

              Equations
              Instances For
                theorem Tense.Perspective.then_deleted_tense_compatible {Time : Type u_1} (thenRef perspective : Time) (hDisjoint : thenRef perspective) :
                thenPresup thenRef perspective

                ⌈then⌉ + deleted tense → compatible. Deleted tense has no presupposition anchoring it to π, so there is no overlap requirement. ⌈then⌉ can freely pick a reference disjoint from π.

                theorem Tense.Perspective.then_shifted_present_clash {Time : Type u_1} (presRef thenRef shiftedPi : Time) (hPres : presRef = shiftedPi) (hDuring : presRef = thenRef) (hThen : thenPresup thenRef shiftedPi) :
                False

                ⌈then⌉ + shifted tense → clash (when shifted tense is PRES). The shifted PRES anchors to π via OP_π, so presRef overlaps with the shifted π. If "during then" forces presRef = thenRef, then's disjointness presupposition ¬(thenRef ○ π) fails.

                Bridge to PartialProp #

                Wrap PRES presupposition as a PartialProp, showing how tense presuppositions compose with the existing presupposition projection system.

                Equations
                Instances For
                  theorem Tense.Perspective.presAsPartialProp_defined_iff {Time : Type u_1} [DecidableEq Time] (f : _root_.Time.ReichenbachFrame Time) :
                  (presAsPartialProp f).presup () = (true = true) f.referenceTime = f.perspectiveTime

                  The PartialProp encoding is defined iff the PRES presupposition holds.

                  Interpretation Parameters: c and π #

                  structure Tense.Perspective.InterpParams (W : Type u_1) (E : Type u_2) (P : Type u_3) (T : Type u_4) :
                  Type (max (max (max u_1 u_2) u_3) u_4)

                  The interpretation parameter tuple ⟨c, π⟩ from ⟦·⟧^{c,π,g}.

                  Context c (for indexical interpretation, [AN04b]) and perspective π (for tense interpretation) are independent parameters. This structure makes their independence explicit and architectural: shiftPerspective preserves context, and shiftContext preserves perspective.

                  The variable assignment g is orthogonal and handled separately (in Montague/Variables.lean).

                  • context : Semantics.Context.KContext W E P T

                    Context parameter c = ⟨c_s, c_a, c_t, c_w⟩ — for indexicals (I, now, here)

                  • perspective : T

                    Temporal perspective π — for tense (PRES, PAST, ⌈then⌉). Defaults to c_t in root clauses; shifted by OP_π under attitude verbs.

                  Instances For
                    def Tense.Perspective.InterpParams.shiftPerspective {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (ip : InterpParams W E P T) (newPi : T) :
                    InterpParams W E P T

                    OP_π on the interpretation parameter tuple: shift π, preserve c. ⟦OP_π φ⟧^{c,π,g} = λi_κ. ⟦φ⟧^{c,i_t,g}(i)

                    Equations
                    Instances For
                      def Tense.Perspective.InterpParams.shiftContext {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (ip : InterpParams W E P T) (newC : Semantics.Context.KContext W E P T) :
                      InterpParams W E P T

                      OP_c on the interpretation parameter tuple: shift c, preserve π. ⟦OP_c φ⟧^{c,π,g} = λi_κ. ⟦φ⟧^{i,π,g}(i)

                      Equations
                      Instances For
                        @[simp]
                        theorem Tense.Perspective.InterpParams.shiftPerspective_preserves_context {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (ip : InterpParams W E P T) (newPi : T) :

                        OP_π preserves the context parameter (including c_t). This is the formal content of §7.1: tense shift does not entail indexical shift. Modern Greek allows OP_π (shifted present) but blocks the temporal indexical τώρα 'now' from shifting.

                        @[simp]
                        theorem Tense.Perspective.InterpParams.shiftContext_preserves_perspective {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (ip : InterpParams W E P T) (newC : Semantics.Context.KContext W E P T) :

                        OP_c preserves the temporal perspective. Indexical shift does not entail tense shift.

                        def Tense.Perspective.InterpParams.rootDefault {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (c : Semantics.Context.KContext W E P T) :
                        InterpParams W E P T

                        In root clauses, π defaults to c_t (the temporal component of the context). This is the Truth Convention: ⟦φ⟧ is true relative to c and assignment g iff ⟦φ⟧^{c,c_t,g}(c) = 1.

                        Equations
                        Instances For

                          Root default satisfies the co-valuation π = c_t.

                          theorem Tense.Perspective.InterpParams.perspective_context_diverge {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (ip : InterpParams W E P T) (newPi : T) (hDistinct : newPi ip.context.time) :

                          After OP_π, c_t is unchanged — π and c_t can diverge.

                          theorem Tense.Perspective.InterpParams.shiftPerspective_matches_opPi {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (ip : InterpParams W E P T) (f : Time.ReichenbachFrame T) (newPi : T) (_hSync : f.perspectiveTime = ip.perspective) :

                          OP_π on InterpParams corresponds to opPi on ReichenbachFrame.