Documentation

Linglib.Discourse.Commitment.Basic

Discourse Commitments #

[Ham70] [Kri15a] [Bra94] [Gun01]

Commitment slates, source × force tagging, and the speaker-indexed S⊢φ constructor. The per-agent commitment store originates with [Ham70]'s formal dialectic.

Commitment Slates #

An agent's public discourse commitments ([Kri15a], [Bra94]): a list of propositions the agent has publicly committed to.

  • commitments : List (WProp)

    The propositions the agent is publicly committed to.

Instances For

    The empty commitment slate.

    Equations
    Instances For

      Add a commitment to the slate.

      Equations
      Instances For

        Worlds compatible with every committed proposition.

        Equations
        Instances For

          The slate entails p iff every compatible world satisfies p.

          Equations
          Instances For
            theorem Discourse.Commitment.CommitmentSlate.add_entails {W : Type u_1} (s : CommitmentSlate W) (p : WProp) (w : W) :
            (s.add p).toContextSet wp w

            Source-Marked Commitments #

            The source of a discourse commitment: self-generated commitments can be challenged by the addressee; other-generated commitments can be challenged by the speaker.

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

                The modal force of a commitment: doxastic (act-as-if-believe) or preferential (act-as-if-effectively-prefer, [CL12], [Lau13]).

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

                    A commitment tagged with epistemic source and modal force. source × force is [Deo25]'s 2×2 cross.

                    Instances For
                      structure Discourse.Commitment.TaggedSlate (W : Type u_1) :
                      Type u_1

                      A source-tagged commitment slate.

                      Instances For

                        The empty tagged slate.

                        Equations
                        Instances For

                          Add a tagged commitment.

                          Equations
                          • s.add p src force = { commitments := { content := p, source := src, commitmentForce := force } :: s.commitments }
                          Instances For

                            Self-generated commitments (any force).

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              Other-generated commitments (any force).

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For

                                Doxastic commitments (any source).

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  Preferential commitments (any source). The input to a joint-preferences set when intersected across agents ([Deo25]).

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    Convert to a plain (untagged) commitment slate.

                                    Equations
                                    Instances For

                                      Convert to context set (ignoring source tags).

                                      Equations
                                      Instances For

                                        Projection reductions #

                                        Simp-normal forms so a consumer reading an agent's plain commitments (doxasticContents, selfGenerated, …) gets rfl-grade reductions under add, instead of unfolding the filter ∘ map.

                                        Grade typeclasses #

                                        The support predicate of a commitment grade G: which grades count as "actively committing". For Prop: identity. For Bool: · = true. For ℝ_≥0: · > 0.

                                        • support : GProp
                                        Instances

                                          A commitment grade with a complement operation. Used to construct the "no" branch of bipolar questions.

                                          Instances

                                            Speaker-Indexed Commitments #

                                            IndexedWeightedCommitment W G is the polymorphic commitment type. Three axes:

                                            The G = Prop specialisation is IndexedCommitment W.

                                            inductive Discourse.Commitment.IndexedWeightedCommitment (W : Type u_1) (G : Type u_2) :
                                            Type (max u_1 u_2)

                                            A polymorphic indexed commitment.

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

                                              Project to the context-set constraint: a commit excludes worlds where support (weight w) fails; a refuse imposes no exclusion.

                                              Equations
                                              Instances For
                                                @[simp]
                                                theorem Discourse.Commitment.IndexedWeightedCommitment.toCommitment_commit {W : Type u_1} {G : Type u_2} [HasSupport G] (c : DiscourseRole) (f : CommitmentForce) (weight : WG) (w : W) :
                                                (commit c f weight).toCommitment w = HasSupport.support (weight w)
                                                @[simp]
                                                theorem Discourse.Commitment.IndexedWeightedCommitment.toCommitment_refuse {W : Type u_1} {G : Type u_2} [HasSupport G] (c : DiscourseRole) (f : CommitmentForce) (φ : WProp) (w : W) :
                                                (refuse c f φ).toCommitment w = True
                                                @[reducible, inline]

                                                Binary speaker-indexed commitment (Krifka 2015 default).

                                                Equations
                                                Instances For
                                                  @[reducible, inline]
                                                  abbrev Discourse.Commitment.IndexedCommitment.commit {W : Type u_1} (committer : DiscourseRole) (content : WProp) :

                                                  Smart constructor for the doxastic binary commit case.

                                                  Equations
                                                  Instances For
                                                    @[reducible, inline]
                                                    abbrev Discourse.Commitment.IndexedCommitment.refuse {W : Type u_1} (committer : DiscourseRole) (content : WProp) :

                                                    Smart constructor for the doxastic binary refuse case.

                                                    Equations
                                                    Instances For

                                                      Project to the world-level context-set constraint. commit projects to its content; refuse projects to True — because ¬S⊢φ imposes no constraint on the facts of the world. The constraint refuse does impose is second-order (on the committer's commitment state); see holdsIn.

                                                      Equations
                                                      Instances For

                                                        Commitment-level meaning of an entry as a constraint on the committer's resulting commitment state t (Krifka's S⊢_, [Kri15a] §4): commit r φ requires t to entail φ (r⊢φ); refuse r φ requires t NOT to entail φ (¬ r⊢φ). The refuse case is the second-order constraint that the world-level toCommitment (sending refuse to True) deliberately cannot express.

                                                        Equations
                                                        Instances For
                                                          @[simp]
                                                          @[simp]

                                                          HasContextSet Instance #

                                                          @[implicit_reducible]

                                                          A commitment slate projects to a context set.

                                                          Equations