Documentation

Linglib.Core.Context.Shifts

Standard Context Shifts #

Shift constructors for KContext that correspond to specific linguistic operations: attitude embedding, temporal shift, full perspective shift, and the identity (no-op) shift. Each preserves or changes specific coordinates, with theorems documenting the preservation pattern.

These are the building blocks for tower-based composition. An attitude verb pushes attitudeShift, a sequence-of-tense embedding pushes temporalShift, FID pushes perspectiveShift, and Kaplan-compliant English attitude verbs push identityShift.

def Core.Context.attitudeShift {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (holder : E) (attWorld : W) :

Attitude shift: changes agent (to the attitude holder) and world (to an attitude-accessible world). Addressee, time, and position are preserved.

@cite{schlenker-2003}: "John said that I am happy" — under the monster analysis, the attitude verb shifts agent to John. Under Kaplan's thesis, English uses identityShift instead.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Core.Context.temporalShift {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (newTime : T) :

    Temporal shift: changes time only. Used for sequence of tense, where embedded tense is evaluated relative to the matrix event time.

    @cite{von-stechow-2009}: the attitude verb transmits its event time to the embedded clause's perspective time.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Core.Context.perspectiveShift {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (newAgent : E) (newTime : T) (newWorld : W) :

      Perspective shift: changes agent, time, and world simultaneously. This is the shift for Free Indirect Discourse (FID), where the narrative adopts the character's perspective across all coordinates.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Core.Context.identityShift {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} :

        Identity shift: no change to the context. Kaplan's thesis for English says attitude verbs push identity shifts — embedding happens without shifting the context of utterance.

        Equations
        Instances For
          @[simp]
          theorem Core.Context.attitudeShift_preserves_addressee {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (holder : E) (attWorld : W) (c : KContext W E P T) :
          ((attitudeShift holder attWorld).apply c).addressee = c.addressee
          @[simp]
          theorem Core.Context.attitudeShift_preserves_time {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (holder : E) (attWorld : W) (c : KContext W E P T) :
          ((attitudeShift holder attWorld).apply c).time = c.time
          @[simp]
          theorem Core.Context.attitudeShift_preserves_position {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (holder : E) (attWorld : W) (c : KContext W E P T) :
          ((attitudeShift holder attWorld).apply c).position = c.position
          @[simp]
          theorem Core.Context.attitudeShift_changes_agent {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (holder : E) (attWorld : W) (c : KContext W E P T) :
          ((attitudeShift holder attWorld).apply c).agent = holder
          @[simp]
          theorem Core.Context.attitudeShift_changes_world {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (holder : E) (attWorld : W) (c : KContext W E P T) :
          ((attitudeShift holder attWorld).apply c).world = attWorld
          @[simp]
          theorem Core.Context.temporalShift_preserves_agent {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (newTime : T) (c : KContext W E P T) :
          ((temporalShift newTime).apply c).agent = c.agent
          @[simp]
          theorem Core.Context.temporalShift_preserves_world {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (newTime : T) (c : KContext W E P T) :
          ((temporalShift newTime).apply c).world = c.world
          @[simp]
          theorem Core.Context.temporalShift_preserves_addressee {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (newTime : T) (c : KContext W E P T) :
          @[simp]
          theorem Core.Context.temporalShift_preserves_position {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (newTime : T) (c : KContext W E P T) :
          @[simp]
          theorem Core.Context.temporalShift_changes_time {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (newTime : T) (c : KContext W E P T) :
          ((temporalShift newTime).apply c).time = newTime
          @[simp]
          theorem Core.Context.identityShift_apply {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (c : KContext W E P T) :
          theorem Core.Context.push_identityShift_innermost {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (t : ContextTower (KContext W E P T)) :

          Pushing an identity shift doesn't change the innermost context.

          @[simp]
          theorem Core.Context.perspectiveShift_changes_agent {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (a : E) (t : T) (w : W) (c : KContext W E P T) :
          @[simp]
          theorem Core.Context.perspectiveShift_changes_time {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (a : E) (t : T) (w : W) (c : KContext W E P T) :
          @[simp]
          theorem Core.Context.perspectiveShift_changes_world {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (a : E) (t : T) (w : W) (c : KContext W E P T) :
          @[simp]
          theorem Core.Context.perspectiveShift_preserves_addressee {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (a : E) (t : T) (w : W) (c : KContext W E P T) :
          @[simp]
          theorem Core.Context.perspectiveShift_preserves_position {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (a : E) (t : T) (w : W) (c : KContext W E P T) :