Documentation

Linglib.Core.Discourse.Roles

Discourse Roles #

The two fundamental discourse participants — speaker and addressee — and the function that resolves them through a ContextTower to concrete entities.

This file exists separately from Core/Discourse/IllocutionaryForce.lean to break a would-be cycle between Core/Mood/IllocutionaryMood.lean (which needs DiscourseRole for moodAuthority) and the act-side material in IllocutionaryForce.lean (which extends IllocutionaryMood with Searle classes and direction of fit).

The two fundamental discourse participants. .addressee matches KContext.addressee (not .listener as in Semantics.Dynamic).

Instances For
    @[implicit_reducible]
    Equations
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Core.Discourse.resolveRole {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (tower : Context.ContextTower (Context.KContext W E P T)) :

      Resolve a discourse role to a concrete entity via a ContextTower, reading from the origin (speech-act context). .speaker → tower.origin.agent, .addressee → tower.origin.addressee.

      Equations
      Instances For
        theorem Core.Discourse.resolveRole_shift_invariant {W : Type u_1} {E : Type u_2} {P : Type u_3} {T : Type u_4} (tower : Context.ContextTower (Context.KContext W E P T)) (σ : Context.ContextShift (Context.KContext W E P T)) (r : DiscourseRole) :
        resolveRole (tower.push σ) r = resolveRole tower r

        Discourse role resolution is invariant under tower push: discourse roles reflect speech-act participants (from origin), not embedded ones.