Documentation

Studies.VanDerLeer2026

van der Leer 2026: Speech Act Logic #

Van der Leer's Speech Act Logic is a propositional dynamic logic of speech acts over the commitment states of Commitment.Frame, in which belief B_a and commitment C_{a,b} are modal operators. An assertion is the update c⌈π⌉_{a,b} that creates a commitment, Krifka's performative update, which Sincerity and Competence pass on to beliefs, so that common belief and commitment stay apart, as Bary demands. The projected discourse is a commitment space in the sense of Cohen and Krifka, a root state together with its cooperative continuations, which the speech acts transform: an assertion narrows the root and keeps the continuations in which the addressee confirms, a question keeps the root and the continuations in which the addressee answers, a denegation removes the continuations the denegated act reaches. Cooperativity, admissibility and possibility of a speech act are the three levels of the thesis's hierarchy of discourse expectations: a cooperative act is admissible and every act is possible, but not conversely.

Main statements #

Implementation notes #

Propositions are world-sets, so the thesis's side condition that a proposition be C_{a,b}-free holds vacuously, the antecedent of a conditional act holds at the root iff it is Set.univ, and the ⊨_SAL claims — for every space C, member c and world — are stated at the root, C_c (Definition 13) being again a space with root c. Theorem 32, possibility, is the totality of update.

TODO #

References #

Beliefs and commitments #

theorem VanDerLeer2026.committed_committed {W : Type u_1} {A : Type u_2} (c : Commitment.Frame W A) (a b : A) (π : Set W) (w : W) (h : c.Committed a b π w) :
c.Committed a b {v : W | c.Committed a b π v} w

Commitment is positively introspective, C_{a,b} π → C_{a,b} C_{a,b} π.

theorem VanDerLeer2026.committed_not_committed {W : Type u_1} {A : Type u_2} (c : Commitment.Frame W A) (a b : A) (π : Set W) (w : W) (h : ¬c.Committed a b π w) :
c.Committed a b {v : W | ¬c.Committed a b π v} w

Commitment is negatively introspective, ¬ C_{a,b} π → C_{a,b} ¬ C_{a,b} π.

theorem VanDerLeer2026.not_believes_empty {W : Type u_1} {A : Type u_2} (c : Commitment.Frame W A) (a : A) (w : W) :
¬c.Believes a ∅ w

Belief is consistent, in that no agent believes ⊥.

def VanDerLeer2026.MutuallyBelieved {W : Type u_1} {A : Type u_2} (c : Commitment.Frame W A) (π : Set W) (w : W) :

π is mutually believed at w when it holds at every world some agent's belief reaches (§2.2).

Equations
Instances For
    theorem VanDerLeer2026.mutuallyBelieved_iff {W : Type u_1} {A : Type u_2} (c : Commitment.Frame W A) (π : Set W) (w : W) :
    MutuallyBelieved c π w ↔ ∀ (a : A), c.Believes a π w
    def VanDerLeer2026.MutuallyCommitted {W : Type u_1} {A : Type u_2} (c : Commitment.Frame W A) (π : Set W) (w : W) :

    π is mutually committed to at w when it holds at every world some commitment relation reaches (§2.2).

    Equations
    Instances For
      theorem VanDerLeer2026.mutuallyCommitted_iff {W : Type u_1} {A : Type u_2} (c : Commitment.Frame W A) (π : Set W) (w : W) :
      MutuallyCommitted c π w ↔ ∀ (a b : A), c.Committed a b π w
      def VanDerLeer2026.sincereRestrict {W : Type u_1} {A : Type u_2} (c : Commitment.Frame W A) (a b : A) (π : Set W) (h : ∀ (w : W), ∃ (v : W), (w, v) ∈ c.belief a ∧ (w, v) ∈ c.commitment a b ∧ v ∈ π) :

      The sincere update c⌈π⌉^sin_{a,b} is c⌈π⌉_{a,b} with a's belief narrowed to the new O_{a,b}-edges (Definition 6). It is partial, and h keeps the narrowed belief serial (footnote 18).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem VanDerLeer2026.sincere_sincereRestrict {W : Type u_1} {A : Type u_2} {c : Commitment.Frame W A} {a b : A} {π : Set W} (hs : c.Sincere) (h : ∀ (w : W), ∃ (v : W), (w, v) ∈ c.belief a ∧ (w, v) ∈ c.commitment a b ∧ v ∈ π) :

        The sincere update preserves Sincerity — the reason Definition 6 exists.

        theorem VanDerLeer2026.believes_sincereRestrict {W : Type u_1} {A : Type u_2} {c : Commitment.Frame W A} {a b : A} {π : Set W} (w : W) (h : ∀ (w : W), ∃ (v : W), (w, v) ∈ c.belief a ∧ (w, v) ∈ c.commitment a b ∧ v ∈ π) :
        (sincereRestrict c a b π h).Believes a π w

        After the sincere update the speaker believes what was asserted.

        Definition 4 alone need not preserve Sincerity.

        theorem VanDerLeer2026.committed_believes_of_sincere {W : Type u_1} {A : Type u_2} {c : Commitment.Frame W A} {a b : A} {π : Set W} {w : W} (hs : c.Sincere) (h : c.Committed a b π w) :
        c.Committed a b {v : W | c.Believes a π v} w

        Under Sincerity, C_{a,b} π → C_{a,b} B_a π (Theorem 27(1)).

        Both agents believe only true, at either world, and are committed to nothing. The state is sincere, and at false it satisfies C_{a,b} B_a {true} but not C_{a,b} {true}.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem VanDerLeer2026.exists_committed_believes_not_committed :
          ∃ (c : Commitment.Frame Bool Bool) (a : Bool) (b : Bool) (π : Set Bool) (w : Bool), c.Sincere ∧ c.Committed a b {v : Bool | c.Believes a π v} w ∧ ¬c.Committed a b π w

          C_{a,b} B_a π → C_{a,b} π is not valid over sincere states (Theorem 27(2)).

          Commitment spaces #

          structure VanDerLeer2026.CooperativeContinuation {W : Type u_1} {A : Type u_2} (c c' : Commitment.Frame W A) :

          c ⊏ c' says that c' is a cooperative continuation of c (Definition 7), in which beliefs and commitments narrow, every commitment relation of c' is non-empty, and some commitment relation narrows strictly.

          Instances For
            def VanDerLeer2026.«term_⊏_» :
            Lean.TrailingParserDescr

            c ⊏ c' says that c' is a cooperative continuation of c (Definition 7), in which beliefs and commitments narrow, every commitment relation of c' is non-empty, and some commitment relation narrows strictly.

            Equations
            • VanDerLeer2026.«term_⊏_» = Lean.ParserDescr.trailingNode `VanDerLeer2026.«term_⊏_» 50 51 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊏ ") (Lean.ParserDescr.cat `term 51))
            Instances For
              def VanDerLeer2026.«term_⊑_» :
              Lean.TrailingParserDescr

              c ⊑ c' says that c = c' or c ⊏ c'.

              Equations
              • VanDerLeer2026.«term_⊑_» = Lean.ParserDescr.trailingNode `VanDerLeer2026.«term_⊑_» 50 51 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⊑ ") (Lean.ParserDescr.cat `term 51))
              Instances For
                theorem VanDerLeer2026.CooperativeContinuation.ne {W : Type u_1} {A : Type u_2} {c c' : Commitment.Frame W A} (h : CooperativeContinuation c c') :
                c ≠ c'
                theorem VanDerLeer2026.CooperativeContinuation.of_le {W : Type u_1} {A : Type u_2} {c c' d : Commitment.Frame W A} (h : CooperativeContinuation c c') (hb : ∀ (a : A), c.belief a ⊆ d.belief a) (hc : ∀ (a b : A), c.commitment a b ⊆ d.commitment a b) :

                Whatever c is below, any state above c in belief and commitment is below too.

                theorem VanDerLeer2026.commitment_le_of_le {W : Type u_1} {A : Type u_2} {c c' : Commitment.Frame W A} (h : Relation.ReflGen CooperativeContinuation c c') (a b : A) :
                c'.commitment a b ⊆ c.commitment a b
                theorem VanDerLeer2026.eq_of_le_of_le {W : Type u_1} {A : Type u_2} {c c' : Commitment.Frame W A} (h : Relation.ReflGen CooperativeContinuation c c') (h' : Relation.ReflGen CooperativeContinuation c' c) :
                c = c'
                @[instance_reducible]
                def VanDerLeer2026.instPartialOrderFrame_studies {W : Type u_1} {A : Type u_2} :
                PartialOrder (Commitment.Frame W A)

                The cooperative-continuation order on states, with ⊑ as ≤ and ⊏ as <. A commitment space (Definition 8) is then a Commitment.Space (Frame W A).

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem VanDerLeer2026.le_restrictCommitment_of_mem {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) {x : Commitment.Frame W A} {d e : A} {σ : Set W} (hmem : x.restrictCommitment d e σ ∈ C) (hroot : x.restrictCommitment d e σ = C.root → x.restrictCommitment d e σ = x) :
                  Relation.ReflGen CooperativeContinuation x (x.restrictCommitment d e σ)

                  A restriction x⌈σ⌉_{d,e} that belongs to C lies above x — unless it is the root and differs from x, since the root need not have non-empty commitment relations.

                  def VanDerLeer2026.assert {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) :

                  In C[assert_{a,b}(π)] the root commits a to π towards b, and the continuations are the members of C above the state in which b has confirmed (Definition 10).

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    def VanDerLeer2026.question {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) :

                    In C[question_{a,b}(π)] the root is kept, and the continuations are the members of C in which b has answered π or ¬π (Definition 19).

                    Equations
                    Instances For
                      def VanDerLeer2026.Violation {W : Type u_1} {A : Type u_2} (c : Commitment.Frame W A) (a b : A) :

                      V_{a,b} holds when a's commitment relation towards b is empty, so that a is committed to a contradiction (Definition 16).

                      Equations
                      Instances For
                        inductive VanDerLeer2026.SpeechAct (W : Type u_3) (A : Type u_4) :
                        Type (max u_3 u_4)

                        The language of actions has assertion, polar question, the empty act ⊖, denegation ∼α, composition α;β, and the conditional π ↪ α/β (Definition 20).

                        Instances For
                          noncomputable def VanDerLeer2026.update {W : Type u_1} {A : Type u_2} :

                          C[α] (Definitions 10, 19, 21–24). The denegation C[∼α] removes the states of C[α] and keeps the root; the conditional tests its antecedent at the root, where a world-set holds iff it is Set.univ.

                          Equations
                          Instances For
                            @[simp]
                            theorem VanDerLeer2026.update_assert {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) :
                            update (SpeechAct.assert a b π) C = assert C a b π
                            @[simp]
                            theorem VanDerLeer2026.update_question {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) :
                            update (SpeechAct.question a b π) C = question C a b π
                            @[simp]
                            theorem VanDerLeer2026.update_denegate {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (α : SpeechAct W A) :
                            update α.denegate C = C.denegate ↑(update α C)
                            @[simp]
                            theorem VanDerLeer2026.update_seq {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (α β : SpeechAct W A) :
                            update (α.seq β) C = update β (update α C)
                            @[simp]
                            theorem VanDerLeer2026.root_assert {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) :
                            (assert C a b π).root = C.root.restrictCommitment a b π
                            @[simp]
                            theorem VanDerLeer2026.root_question {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) :
                            (question C a b π).root = C.root
                            theorem VanDerLeer2026.root_update_commitment_le {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (α : SpeechAct W A) :
                            (update α C).root.commitment a b ⊆ C.root.commitment a b

                            No speech act enlarges a commitment relation of the root (Lemma 28).

                            theorem VanDerLeer2026.committed_update {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) (w : W) (α : SpeechAct W A) (h : C.root.Committed a b π w) :
                            (update α C).root.Committed a b π w

                            A commitment at the root survives every speech act (Theorem 30).

                            theorem VanDerLeer2026.committed_assert {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) (w : W) :
                            (update (SpeechAct.assert a b π) C).root.Committed a b π w

                            After assert_{a,b}(π), a is committed towards b to π (Theorem 25).

                            theorem VanDerLeer2026.believes_committed_assert {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) (w : W) (x : A) :
                            (update (SpeechAct.assert a b π) C).root.Believes x {v : W | (update (SpeechAct.assert a b π) C).root.Committed a b π v} w

                            After assert_{a,b}(π), everyone believes that the commitment was made.

                            theorem VanDerLeer2026.committed_committed_assert {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) (w : W) (x y : A) :
                            (update (SpeechAct.assert a b π) C).root.Committed x y {v : W | (update (SpeechAct.assert a b π) C).root.Committed a b π v} w

                            After assert_{a,b}(π), everyone is committed to the commitment having been made.

                            theorem VanDerLeer2026.assert_assert_of_subset {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π τ : Set W) (h : π ⊆ τ) :

                            Asserting π entails asserting any consequence τ (Theorem 29).

                            Possibility, admissibility, cooperativity #

                            def VanDerLeer2026.Admissible {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (α : SpeechAct W A) :

                            α is admissible in C when performing it violates no commitment (Definition 17). Every speech act is possible (Theorem 32), since update is total.

                            Equations
                            Instances For
                              def VanDerLeer2026.Cooperative {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (α : SpeechAct W A) :

                              α is cooperative in C when it is not redundant and its result lies below a cooperative continuation of the root (Definition 15).

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                theorem VanDerLeer2026.violation_assert_empty {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) :

                                Inadmissibility of contradictions (Theorem 33).

                                theorem VanDerLeer2026.admissible_of_cooperative {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (α : SpeechAct W A) (h : Cooperative C α) :

                                Cooperative speech acts are admissible (Theorem 34(1)).

                                Admissible speech acts need not be cooperative, since nothing is cooperative in a space without continuations (Theorem 34(3)).

                                theorem VanDerLeer2026.not_cooperative_assert_compl {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) :

                                After assert_{a,b}(π), b denying π is not cooperative (Theorem 31(2)).

                                theorem VanDerLeer2026.cooperative_assert_of_not_committed {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) [Nonempty W] (hab : a ≠ b) (hmem : (C.root.restrictCommitment a b π).restrictCommitment b a π ∈ C) (h : ∀ (w : W), ¬C.root.Committed b a π w) :

                                After assert_{a,b}(π), b confirming π is cooperative, provided the confirmed state is projected in C and b was not yet committed to π (Theorem 31(1)). The thesis omits a ≠ b; for a = b the confirmation is redundant.

                                theorem VanDerLeer2026.question_assert {W : Type u_1} {A : Type u_2} (C : Commitment.Space (Commitment.Frame W A)) (a b : A) (π : Set W) :

                                b asserting π entails a having asked whether π (Theorem 35).