Documentation

Linglib.Discourse.Role

Discourse roles #

This file defines the two discourse roles, speaker and addressee, the participants a speech-act context distinguishes ([Kap89]) and the agents of a two-party commitment model ([Gun01], [FB10]). A role's counterpart is the other participant (Discourse.Role.other), an involution without fixed points, so a statement about every role is a statement about a role and its counterpart (Discourse.Role.forall_role'), and the roles form a nontrivial type.

Main definitions #

References #

inductive Discourse.Role :

A discourse role is one of the two participants of a speech act, its speaker or its addressee.

Instances For
    @[instance_reducible]
    instance Discourse.instDecidableEqRole :
    DecidableEq Role
    Equations
    @[instance_reducible]
    Equations
    def Discourse.instReprRole.repr :
    Role → ℕ → Std.Format
    Equations
    Instances For
      @[instance_reducible]
      instance Discourse.instInhabitedRole :
      Inhabited Role
      Equations
      @[instance_reducible]
      Equations

      The other participant: the addressee of the speaker and the speaker of the addressee.

      Equations
      Instances For
        @[simp]
        theorem Discourse.Role.other_involutive :
        Function.Involutive other
        theorem Discourse.Role.other_injective :
        Function.Injective other
        @[simp]
        theorem Discourse.Role.other_inj {r s : Role} :
        r.other = s.other ↔ r = s
        theorem Discourse.Role.eq_other_of_ne {r s : Role} :
        r ≠ s → r = s.other
        theorem Discourse.Role.eq_other_iff {r s : Role} :
        r = s.other ↔ r ≠ s
        theorem Discourse.Role.card :
        Fintype.card Role = 2
        theorem Discourse.Role.forall_role' {p : Role → Prop} (r : Role) :
        (∀ (s : Role), p s) ↔ p r ∧ p r.other
        @[simp]
        theorem Discourse.Role.forall_role {p : Role → Prop} :
        (∀ (r : Role), p r) ↔ p speaker ∧ p addressee
        theorem Discourse.Role.exists_role' {p : Role → Prop} (r : Role) :
        (∃ (s : Role), p s) ↔ p r ∨ p r.other
        @[simp]
        theorem Discourse.Role.exists_role {p : Role → Prop} :
        (∃ (r : Role), p r) ↔ p speaker ∨ p addressee