Dialogue gameboards #
This file defines the dialogue gameboard of Ginzburg's theory of dialogue, KoS, and the records it holds. A dialogue gameboard is one participant's view of the public state of a conversation: who holds the turn and whom they address, the facts accepted so far, the moves made, the utterances not yet grounded, and the questions under discussion. An utterance is recorded as a locutionary proposition, which keeps its phonological form, category, contextual parameters and sub-utterances beside its content, so that a clarification request can target any part of its form, as Ginzburg and Cooper argue. A question under discussion carries the sub-utterances that established it, which a fragment resolving the question must match.
The types a gameboard is built from form a domain: the grammatical domain of forms, categories, parameter labels and sub-utterance denotations, extended by participants, facts, questions and utterance contents. A question may mention sub-utterances, as the question of what a speaker meant by one does, so the grammatical domain comes first.
Main definitions #
Discourse.GrammaticalDomain,Discourse.Gameboard.Domain: the types gameboards are built from.Discourse.IllocutionaryAct: an illocutionary relation applied to its content.Discourse.SubUtterance,Discourse.LocutionaryProposition: sub-utterances and utterances.Discourse.InformationStructure: a question with its focus-establishing constituents.Discourse.Gameboard: the dialogue gameboard.
Implementation notes #
- A domain bundles decidable equality of its types, as
CategoryTheory.Bundledbundles a structure with its carrier, so that the records derive decidable equality and gameboards can be computed with. - A locutionary proposition records the utterance's values as fields, Ginzburg's single type notation, rather than as an Austinian proposition pairing the utterance with its type.
- A contextual parameter is its label; the restriction on its value is not represented, and sub-utterances do not record their own parameters.
- The gameboard omits the utterance time and the addressing condition, and
non-resolve-condis the predicateDiscourse.Gameboard.NonResolveCondofGameboard/Basic.lean.
References #
The grammatical domain of a gameboard ([Gin12] Appendix C) supplies the phonological forms, syntactic categories and contextual-parameter labels of signs, and the denotations of sub-utterances, each with decidable equality.
- Form : Type u
Phonological forms.
- Category : Type u
Syntactic categories.
- Label : Type u
Labels of contextual parameters.
- Denotation : Type u
Denotations of sub-utterances.
- decEqForm : DecidableEq self.Form
- decEqCategory : DecidableEq self.Category
- decEqLabel : DecidableEq self.Label
- decEqDenotation : DecidableEq self.Denotation
Instances For
The domain of a gameboard extends a grammatical domain with the participants, facts, questions and utterance contents of [Gin12] Appendix A, each with decidable equality.
- Denotation : Type u
- decEqCategory : DecidableEq self.Category
- decEqLabel : DecidableEq self.Label
- decEqDenotation : DecidableEq self.Denotation
- Participant : Type u
Participants.
- Fact : Type u
Facts.
- Question : Type u
Questions.
- Content : Type u
Contents of utterances.
- decEqParticipant : DecidableEq self.Participant
- decEqFact : DecidableEq self.Fact
- decEqQuestion : DecidableEq self.Question
- decEqContent : DecidableEq self.Content
Instances For
An illocutionary act is the illocutionary relation of an illocutionary proposition applied to its content ([Gin12] (8c) p. 361), without the speaker and addressee that the proposition also records. The inventory is that of the rules of Ch. 4 less parting and counter-parting.
- assert
{Fact : Type u_1}
{Question : Type u_2}
: Fact → IllocutionaryAct Fact Question
Asserting a fact.
- ask
{Fact : Type u_1}
{Question : Type u_2}
: Question → IllocutionaryAct Fact Question
Asking a question.
- accept
{Fact : Type u_1}
{Question : Type u_2}
: Fact → IllocutionaryAct Fact Question
Accepting an assertion.
- check
{Fact : Type u_1}
{Question : Type u_2}
: Fact → IllocutionaryAct Fact Question
Asking for confirmation of an assertion.
- confirm
{Fact : Type u_1}
{Question : Type u_2}
: Fact → IllocutionaryAct Fact Question
Confirming in response to a check.
- greet
{Fact : Type u_1}
{Question : Type u_2}
: IllocutionaryAct Fact Question
Greeting.
- counterGreet
{Fact : Type u_1}
{Question : Type u_2}
: IllocutionaryAct Fact Question
Counter-greeting.
Instances For
Equations
- Discourse.instReprIllocutionaryAct = { reprPrec := Discourse.instReprIllocutionaryAct.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.assert a) (Discourse.IllocutionaryAct.assert b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.assert a) (Discourse.IllocutionaryAct.ask a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.assert a) (Discourse.IllocutionaryAct.accept a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.assert a) (Discourse.IllocutionaryAct.check a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.assert a) (Discourse.IllocutionaryAct.confirm a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.assert a) Discourse.IllocutionaryAct.greet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.assert a) Discourse.IllocutionaryAct.counterGreet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.ask a) (Discourse.IllocutionaryAct.assert a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.ask a) (Discourse.IllocutionaryAct.ask b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.ask a) (Discourse.IllocutionaryAct.accept a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.ask a) (Discourse.IllocutionaryAct.check a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.ask a) (Discourse.IllocutionaryAct.confirm a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.ask a) Discourse.IllocutionaryAct.greet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.ask a) Discourse.IllocutionaryAct.counterGreet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.accept a) (Discourse.IllocutionaryAct.assert a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.accept a) (Discourse.IllocutionaryAct.ask a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.accept a) (Discourse.IllocutionaryAct.accept b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.accept a) (Discourse.IllocutionaryAct.check a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.accept a) (Discourse.IllocutionaryAct.confirm a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.accept a) Discourse.IllocutionaryAct.greet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.accept a) Discourse.IllocutionaryAct.counterGreet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.check a) (Discourse.IllocutionaryAct.assert a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.check a) (Discourse.IllocutionaryAct.ask a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.check a) (Discourse.IllocutionaryAct.accept a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.check a) (Discourse.IllocutionaryAct.check b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.check a) (Discourse.IllocutionaryAct.confirm a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.check a) Discourse.IllocutionaryAct.greet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.check a) Discourse.IllocutionaryAct.counterGreet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.confirm a) (Discourse.IllocutionaryAct.assert a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.confirm a) (Discourse.IllocutionaryAct.ask a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.confirm a) (Discourse.IllocutionaryAct.accept a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.confirm a) (Discourse.IllocutionaryAct.check a_1) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.confirm a) (Discourse.IllocutionaryAct.confirm b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.confirm a) Discourse.IllocutionaryAct.greet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq (Discourse.IllocutionaryAct.confirm a) Discourse.IllocutionaryAct.counterGreet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.greet (Discourse.IllocutionaryAct.assert a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.greet (Discourse.IllocutionaryAct.ask a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.greet (Discourse.IllocutionaryAct.accept a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.greet (Discourse.IllocutionaryAct.check a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.greet (Discourse.IllocutionaryAct.confirm a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.greet Discourse.IllocutionaryAct.greet = isTrue ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.greet Discourse.IllocutionaryAct.counterGreet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.counterGreet (Discourse.IllocutionaryAct.assert a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.counterGreet (Discourse.IllocutionaryAct.ask a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.counterGreet (Discourse.IllocutionaryAct.accept a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.counterGreet (Discourse.IllocutionaryAct.check a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.counterGreet (Discourse.IllocutionaryAct.confirm a) = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.counterGreet Discourse.IllocutionaryAct.greet = isFalse ⋯
- Discourse.instDecidableEqIllocutionaryAct.decEq Discourse.IllocutionaryAct.counterGreet Discourse.IllocutionaryAct.counterGreet = isTrue ⋯
Instances For
A sub-utterance carries a phonological form, a category and a denotation, which make any constituent of an utterance clarifiable, the fractal heterogeneity of [GC04].
- form : G.Form
The phonological form.
- category : G.Category
The syntactic category.
- denotation : G.Denotation
The denotation, which for a sub-utterance contributing a contextual parameter is its label.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
A locutionary proposition records an utterance with its phonological form, category,
content, contextual parameters and constituents ([Gin12] pp. 172–174), so that a
clarification request can target the form of the utterance and any of its constituents, not
only its content. The fields are the single-type notation of (42) p. 174; the Austinian
proposition [sit = u, sit-type = Tᵤ] of (41) p. 173 and Appendix A (8d) p. 362 is not
represented.
- form : G.Form
The phonological form.
- category : G.Category
The syntactic category.
- content : Content
The content.
- parameters : Finset G.Label
The labels of the contextual parameters, which grounding must witness; like SLASH they are pooled from the words of the utterance ([GC04] (29)). The restrictions on their values, the RESTR of (28), are not represented.
- constituents : Finset (SubUtterance G)
The sub-utterances, the utterance itself among them as in (42) p. 174, listed rather than computed from the daughters by the CONSTITS Amalgamation Constraint of [GC04] (30).
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
An information structure pairs a question under discussion with its focus-establishing
constituents, the sub-utterances a fragment resolving the question must match in category
([Gin12] p. 239 and (9) p. 362). The focus-establishing constituent of a wh-question is
its wh-phrase, and that of a clarification request the sub-utterance it clarifies; it replaces
the sal-utt of [GS00]. (9) types these constituents as locutionary propositions;
they are sub-utterances here because the rules that set them pick a constituent of an utterance
(p. 241, and Appendix B (26e) p. 374).
- question : Question
The question.
- focusEstablishing : Finset (SubUtterance G)
The focus-establishing constituents.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The dialogue gameboard of a participant is their public share of the conversational state
([Gin12] (43) p. 175); each participant has their own. Its moves and pending utterances
are locutionary propositions whose contents are the domain's, and its questions under discussion
are information structures (p. 239). With IllocutionaryAct contents it is the gameboard of
Ch. 4 ((100) p. 111), whose moves are illocutionary propositions. QUD is a partial order in
(43), here a list.
- speaker : D.Participant
The speaker.
- addressee : D.Participant
The addressee.
- facts : Finset D.Fact
The commonly accepted facts.
- moves : List (LocutionaryProposition D.toGrammaticalDomain D.Content)
The moves made, the latest last.
- pending : List (LocutionaryProposition D.toGrammaticalDomain D.Content)
The utterances not yet grounded, MaxPending first.
- qud : List (InformationStructure D.toGrammaticalDomain D.Question)
The questions under discussion, MaxQUD first.
Instances For
Equations
- One or more equations did not get rendered due to their size.