KOS: Dialogue Gameboards #
This file formalizes the KOS framework for dialogue as presented in two distinct sources:
@cite{ginzburg-2012} Ch. 4 (§§4.1–4.7): The Dialogue Gameboard (DGB) and Total Information State (TIS), conversational rules, genres, and M-Coherence. This is the primary source.
@cite{ginzburg-cooper-2004}: Clarification Ellipsis machinery — C-PARAMS, coercion operations (parameter focussing, parameter identification, existential generalization), utterance skeletons, and the sign+assignment model of grounding. This is a supplementary source for the CE analysis.
@cite{ginzburg-2012} DGB (ex. 100, p. 111; final version ex. 113, p. 215) #
The DGB is a conversational participant's own version of the public context:
- spkr, addr: current speaker and addressee
- Facts: shared commitments (Set of propositions)
- Moves: history of illocutionary moves (list of LocProp)
- Pending: ungrounded locutionary propositions (added in Ch. 6)
- QUD: partially ordered set of questions under discussion
- non-resolve-cond: well-formedness constraint — no QUD question is
resolved by FACTS (see
DGB.nonResolveCondinRules.lean)
Known simplifications #
Our DGB corresponds to the Ch. 4 intermediate version (ex. 100), not the final Ch. 6 version (ex. 113). Specific differences:
- MOVES: stores
IllocMove(Ch. 4) notLocProp(Ch. 6 final) - QUD: stores bare
QContentnotInfoStruc(question + FECs, ex. 39) - Pending: uses
PendingLocnotLocProp(Ch. 6 final) - utt-time / c-utt: temporal fields from ex. 100 are not modeled
@cite{ginzburg-2012} TIS (ex. 93, p. 107) #
The Total Information State wraps the DGB and adds a private component:
- DGB: the public dialogue gameboard
- Private: genre, beliefs, agenda — non-public processing state
@cite{ginzburg-cooper-2004}: Clarification Ellipsis (§§3–6) #
C-PARAMS, coercion operations, utterance skeletons, and the MAX-QUD/SAL-UTT processing state for Clarification Ellipsis. These are preserved in a clearly separated section below.
An illocutionary move in dialogue.
@cite{ginzburg-2012} Ch. 4: moves are illocutionary propositions — speech events classified by their illocutionary force. In the final version (p. 215), MOVES stores locutionary propositions (situated speech events). We abstract over the content: assertions carry propositional content, queries carry question content.
The Fact and QContent parameters match the DGB's content types.
- assert
{Fact QContent : Type}
: Fact → IllocMove Fact QContent
An assertion: speaker commits to propositional content.
- ask
{Fact QContent : Type}
: QContent → IllocMove Fact QContent
A query: speaker raises a question.
- accept
{Fact QContent : Type}
: Fact → IllocMove Fact QContent
Accept: addressee grounds an assertion.
- check
{Fact QContent : Type}
: Fact → IllocMove Fact QContent
Check: addressee requests confirmation of an assertion.
- confirm
{Fact QContent : Type}
: Fact → IllocMove Fact QContent
Confirm: speaker confirms in response to check.
- greet
{Fact QContent : Type}
: IllocMove Fact QContent
Greeting.
- counterGreet
{Fact QContent : Type}
: IllocMove Fact QContent
Counter-greeting.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a) Theories.Pragmatics.Dialogue.KOS.IllocMove.greet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a) Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a) Theories.Pragmatics.Dialogue.KOS.IllocMove.greet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a) Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a) Theories.Pragmatics.Dialogue.KOS.IllocMove.greet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a) Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a) Theories.Pragmatics.Dialogue.KOS.IllocMove.greet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a) Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a_1) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a) Theories.Pragmatics.Dialogue.KOS.IllocMove.greet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a) Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.greet (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.greet (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.greet (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.greet (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.greet (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.greet Theories.Pragmatics.Dialogue.KOS.IllocMove.greet = isTrue ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.greet Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a) = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet Theories.Pragmatics.Dialogue.KOS.IllocMove.greet = isFalse ⋯
- Theories.Pragmatics.Dialogue.KOS.instDecidableEqIllocMove.decEq Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet = isTrue ⋯
Instances For
Equations
- Theories.Pragmatics.Dialogue.KOS.instBEqIllocMove.beq (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert b) = (a == b)
- Theories.Pragmatics.Dialogue.KOS.instBEqIllocMove.beq (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask b) = (a == b)
- Theories.Pragmatics.Dialogue.KOS.instBEqIllocMove.beq (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept b) = (a == b)
- Theories.Pragmatics.Dialogue.KOS.instBEqIllocMove.beq (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.check b) = (a == b)
- Theories.Pragmatics.Dialogue.KOS.instBEqIllocMove.beq (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a) (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm b) = (a == b)
- Theories.Pragmatics.Dialogue.KOS.instBEqIllocMove.beq Theories.Pragmatics.Dialogue.KOS.IllocMove.greet Theories.Pragmatics.Dialogue.KOS.IllocMove.greet = true
- Theories.Pragmatics.Dialogue.KOS.instBEqIllocMove.beq Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet = true
- Theories.Pragmatics.Dialogue.KOS.instBEqIllocMove.beq x✝¹ x✝ = false
Instances For
Extract the propositional content from a move, if any.
Equations
- (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert p).factContent = some p
- (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept p).factContent = some p
- (Theories.Pragmatics.Dialogue.KOS.IllocMove.check p).factContent = some p
- (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm p).factContent = some p
- x✝.factContent = none
Instances For
Extract the question content from a move, if any.
Equations
Instances For
Map an illocutionary move to @cite{searle-1979}'s five-class taxonomy.
Assert/accept/confirm are assertives (mind-to-world fit). Ask is a directive (world-to-mind: the speaker tries to get the addressee to provide information). Check is a directive (requesting confirmation). Greet/counterGreet are expressives (null fit).
Equations
- (Theories.Pragmatics.Dialogue.KOS.IllocMove.assert a).toSearleClass = Core.Discourse.SearleClass.assertive
- (Theories.Pragmatics.Dialogue.KOS.IllocMove.accept a).toSearleClass = Core.Discourse.SearleClass.assertive
- (Theories.Pragmatics.Dialogue.KOS.IllocMove.confirm a).toSearleClass = Core.Discourse.SearleClass.assertive
- (Theories.Pragmatics.Dialogue.KOS.IllocMove.ask a).toSearleClass = Core.Discourse.SearleClass.directive
- (Theories.Pragmatics.Dialogue.KOS.IllocMove.check a).toSearleClass = Core.Discourse.SearleClass.directive
- Theories.Pragmatics.Dialogue.KOS.IllocMove.greet.toSearleClass = Core.Discourse.SearleClass.expressive
- Theories.Pragmatics.Dialogue.KOS.IllocMove.counterGreet.toSearleClass = Core.Discourse.SearleClass.expressive
Instances For
Direction of fit for an illocutionary move, derived via Searle class.
Equations
Instances For
Assertions have mind-to-world fit: the speaker is responsible if p is false.
Queries have world-to-mind fit: the speaker wants the addressee to act.
Greetings have null fit: they express social acknowledgement.
A pending locutionary proposition: an ungrounded utterance.
@cite{ginzburg-2012} Ch. 6, ex. 113 (p. 215): in the final DGB version,
Pending stores full LocProps (defined in §15 below). This PendingLoc
is a simplified representation used in the DGB struct. For the full
LocProp-based grounding protocol, see integrateLocProp in Rules.lean.
Known simplification: the final DGB (ex. 113) uses List(LocProp) for
both MOVES and Pending. Our DGB uses IllocMove for MOVES and PendingLoc
for Pending — this corresponds to the Ch. 4 intermediate version.
- utt : String
The utterance event identifier
- uttType : String
The classifying type (as string description)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
The Dialogue Gameboard.
@cite{ginzburg-2012} ex. 100 (p. 111) and final version ex. 113 (p. 215).
Each conversational participant maintains their own DGB — distinct but coupled gameboards, NOT a single shared context. The DGB tracks the public component of a participant's conversational state.
The type parameters make content types explicit:
Participant: type of participant identifiers (e.g.,String,Fin 2)Fact: type of accumulated facts (e.g.,BProp Wfor typed CG access)QContent: type of QUD entries (e.g., partition-basedQUD W)
- spkr : Option Participant
Current speaker (@cite{ginzburg-2012} ex. 100)
- addr : Option Participant
Current addressee (@cite{ginzburg-2012} ex. 100)
- facts : List Fact
Shared commitments. @cite{ginzburg-2012}: "Facts : Set(Prop)"
History of illocutionary moves. @cite{ginzburg-2012}: "Moves : list(IllocProp)". The last element is the LatestMove.
Known simplification: the final DGB (ex. 113, p. 215) stores LocProps in MOVES, not illocutionary propositions. We use
IllocMovehere, matching the Ch. 4 version.- pending : List PendingLoc
Ungrounded locutionary propositions. @cite{ginzburg-2012} Ch. 6 (p. 215): added to the DGB in the final version.
- qud : List QContent
Partially ordered set of questions under discussion. @cite{ginzburg-2012}: "QUD : poset(Question)". We use a list (most recent = front) following QUD-maximality.
Known simplification: the final version (ex. 39, p. 239) makes QUD entries
InfoStruc(question + FECs) rather than bare questions. We use bareQContenthere; theInfoStructype is defined in §16 below.
Instances For
The latest move is the last element of the moves list.
Equations
- dgb.latestMove = dgb.moves.getLast?
Instances For
An empty DGB.
Equations
Instances For
A conversational genre type.
@cite{ginzburg-2012} §4.6 (pp. 101–110): genres are TTR record types that classify conversations by their characteristic conversational structures. Example genres from the book: CasualChat (ex. 88a), PetrolMarket (ex. 88b), BakeryChat (ex. 88c).
We model genre types as records with optional constraints on the QUD
content and move patterns. The qudConstraint field captures the genre-
specific restrictions on what questions may be discussed.
- name : String
Genre name for identification
Constraint on which questions may be in QUD.
nonemeans unrestricted (like CasualChat).
Instances For
The generic DGBType — the supertype of all genre types.
@cite{ginzburg-2012} ex. 86 (p. 103): DGBTypefin GenreType.
Equations
- Theories.Pragmatics.Dialogue.KOS.GenreType.generic = { name := "generic" }
Instances For
A turn under construction: an incomplete utterance being built incrementally.
@cite{ginzburg-2012} Ch. 6–7: the TuC tracks the unfolding utterance as it is produced word-by-word. Participants can intervene mid-turn (completions, collaborative finishes, self-repairs). The TuC is part of the private state because each participant may have a different parse of the emerging turn.
The pending field on the DGB tracks ungrounded complete utterances;
TuC tracks incomplete ones. When the turn is complete, its content
moves from TuC to Pending (if unresolved) or Facts (if grounded).
- phonSoFar : String
Phonological material produced so far
Syntactic category of the emerging constituent
Partial content accumulated
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Theories.Pragmatics.Dialogue.KOS.instBEqTurnUnderConstr.beq x✝¹ x✝ = false
Instances For
The private component of an information state.
@cite{ginzburg-2012} ex. 93 (p. 107): PRType has genre, beliefs, and agenda. Agenda is a list of illocutionary propositions that the participant plans to realize. Beliefs are private (non-public) propositional attitudes.
The conversational genre the participant takes the interaction to be.
The participant's agenda: planned illocutionary moves.
- turnUnderConstr : Option TurnUnderConstr
The turn currently under construction (if any). @cite{ginzburg-2012} Ch. 7: enables self-repair and collaborative completion.
Instances For
Total Information State (TIS).
@cite{ginzburg-2012} ex. 93 (p. 107): the TIS consists of the public DGB and a private component (genre, beliefs, agenda).
This replaces the earlier IS type which conflated @cite{ginzburg-cooper-2004}
processing state (MAX-QUD, SAL-UTT) with the 2012 architecture. The 2004
clarification processing state is available separately via CEState.
- dgb : DGB Participant Fact QContent
The public dialogue gameboard
- private_ : PrivateState Fact QContent
Private state: genre, agenda
Instances For
An empty TIS.
Equations
Instances For
Clarification Ellipsis Machinery #
The following definitions are from @cite{ginzburg-cooper-2004}, which develops a theory of Clarification Ellipsis (CE) using contextual parameters (C-PARAMS), utterance skeletons, and coercion operations. These concepts predate the TTR reformulation in @cite{ginzburg-2012} Ch. 5–6.
In the 2012 book, the corresponding machinery uses dgb-params (record
types) rather than C-PARAMS (index-restriction pairs), and Clarification
Context Update Rules (CCURs) rather than the three coercion operations.
We preserve the 2004 formulation as it is more directly computational.
A contextual parameter with INDEX and RESTR(ICTION).
Each C-PARAM has an index variable (e.g., "b" for the referent of "Bo") and a restriction characterizing what values are acceptable (e.g., "named(Bo)(b)"). @cite{ginzburg-cooper-2004} ex. 28.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
A set of contextual parameters, analogous to HPSG.SlashValue.
Both are non-local features (sets of outstanding dependencies):
- SLASH tracks syntactic gaps (filler-gap dependencies)
- C-PARAMS tracks contextual dependencies (referent resolution)
Both propagate via the same amalgamation mechanism (ex. 29 ≈ Nonlocal Feature Principle) and get discharged at specific sites.
Instances For
A contextual assignment maps parameter indices to values.
Grounding requires a total assignment (all C-PARAMS resolved). Clarification arises when the assignment is partial. @cite{ginzburg-cooper-2004} §6, ex. 81–82.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- Theories.Pragmatics.Dialogue.KOS.instBEqCtxtAssignment.beq { bindings := a } { bindings := b } = (a == b)
- Theories.Pragmatics.Dialogue.KOS.instBEqCtxtAssignment.beq x✝¹ x✝ = false
Instances For
Does the assignment resolve all parameters in a set?
Equations
- f.resolvesAll ps = List.all ps f.resolves
Instances For
Which parameters remain unresolved?
Equations
- f.unresolved ps = List.filter (fun (x : Theories.Pragmatics.Dialogue.KOS.CParam) => !f.resolves x) ps
Instances For
A sub-utterance: the minimal addressable unit for clarification.
Every sub-utterance encodes PHON, CAT, and CONT — this fractal heterogeneity is what makes clarification of any constituent possible. @cite{ginzburg-cooper-2004} §2.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
An utterance skeleton: a sign with C-PARAMS and CONSTITS.
The CONSTITS feature (ex. 30) provides access to all sub-utterances. C-PARAMS (ex. 28–29) are the contextual dependencies introduced by the sign, amalgamated from daughters via the Non-local Amalgamation Constraint. @cite{ginzburg-cooper-2004} §3.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Theories.Pragmatics.Dialogue.KOS.instBEqUttSkeleton.beq x✝¹ x✝ = false
Instances For
Find the constituent whose CONT matches a parameter index.
Equations
- u.constitForParam paramIdx = List.find? (fun (x : Theories.Pragmatics.Dialogue.KOS.SubUtterance) => x.cont == paramIdx) u.constits
Instances For
A sign paired with a contextual assignment.
@cite{ginzburg-cooper-2004} ex. 81, p.353. The assignment f records which C-PARAMS have been resolved. Grounding checks whether f is total.
- sign : UttSkeleton
- assignment : CtxtAssignment
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Clarification Ellipsis processing state.
@cite{ginzburg-cooper-2004}: MAX-QUD and SAL-UTT are processing state for the CE analysis. These are NOT part of the @cite{ginzburg-2012} DGB or TIS (in 2012, MaxQUD is computed from the QUD poset's maximal element, not stored separately).
This state can be used alongside the 2012 TIS when CE processing is needed.
- maxQud : Option QContent
The currently maximal question — for CE coercion operations
- salUtt : Option SubUtterance
The salient sub-utterance — target of clarification
- pendingUtts : List SignAssignment
Pending utterances awaiting C-PARAMS resolution
Instances For
The three coercion operations on signs with unresolved C-PARAMS. @cite{ginzburg-cooper-2004} §5.
- paramFocussing : CoercionOp
Clausal CE reading: polar question about content (ex. 53)
- paramIdentification : CoercionOp
Constituent CE reading: wh-question about speaker meaning (ex. 59)
- existentialGeneralization : CoercionOp
Ground without clarification: ∃-quantify a parameter (ex. 77)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Theories.Pragmatics.Dialogue.KOS.instBEqCoercionOp.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Output of a coercion operation: partial specification for the clarification context.
- op : CoercionOp
- salUtt : SubUtterance
SAL-UTT: the sub-utterance to be echoed
- maxQud : String
MAX-QUD: the question raised (string representation)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Parameter focussing (@cite{ginzburg-cooper-2004} ex. 53): derive clausal CE reading.
Takes the antecedent sign and a problematic parameter index. Finds the constituent that introduced the parameter. Produces MAX-QUD = polar question about the antecedent content.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Parameter identification (@cite{ginzburg-cooper-2004} ex. 59): derive constituent CE reading.
Produces MAX-QUD = wh-question about speaker meaning.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Contextual existential generalization (@cite{ginzburg-cooper-2004} ex. 77): ground without clarifying.
Removes a parameter from C-PARAMS by existentially quantifying it.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Information State for the @cite{ginzburg-cooper-2004} model.
Bundles a DGB with CE processing state (pending utterances). Uses String
for both Fact and QContent, matching the string-based representations in
the 2004 paper. The Participant type parameter is set to String.
This is NOT the @cite{ginzburg-2012} TIS — it predates the genre/agenda private state. It exists to support the CE running example.
- pending : List SignAssignment
Utterances awaiting full C-PARAMS resolution
- ce : CEState QContent
Instances For
An empty IS.
Equations
Instances For
Integrate an utterance into the IS.
If the assignment fully resolves all C-PARAMS, the utterance is grounded: its content goes to FACTS. Otherwise, it goes to PENDING. @cite{ginzburg-cooper-2004} §6, ex. 82.
Equations
- One or more equations did not get rendered due to their size.
Instances For
String-specialized integration (content IS the fact).
Equations
- is_.integrateUtteranceStr skel assign = is_.integrateUtterance skel assign id
Instances For
Apply a coercion output to the IS: set MAX-QUD and SAL-UTT.
Equations
- One or more equations did not get rendered due to their size.
Instances For
String-specialized coercion application.
Equations
- is_.applyCoercionStr co = is_.applyCoercion co id
Instances For
An empty DGB has no latest move.
Both coercion operations target the same SAL-UTT.
The two coercion operations produce different operation types.
A fully resolved assignment leaves no unresolved parameters.
Existential generalization never increases the parameter count.
DGB with BProp W facts projects to a context set.
@cite{ginzburg-2012} Ch. 4: the DGB's FACTS field IS the common ground.
Equations
- One or more equations did not get rendered due to their size.
TIS with BProp W facts inherits the DGB's context set.
Equations
- One or more equations did not get rendered due to their size.
TIS context set is extracted from the DGB.
Map over a DGB's fact type, preserving structure.
Equations
Instances For
Map over a DGB's question type, preserving structure.
Equations
Instances For
A locutionary proposition: a speech event with both form and content.
@cite{ginzburg-2012} Ch. 6, Appendix A (ex. 8d): LocProp replaces IllocProp in MOVES and Pending. A LocProp records the phonological form, syntactic category, and contextual parameters of the utterance — not just its illocutionary content. This is crucial for CRification: clarification requests target the form of the utterance, not just its content.
Parameterized over the content type Cont for grammar-neutrality.
When Cont = String, this subsumes both PendingLoc and UttSkeleton.
- phon : String
Phonological form of the utterance
- cat : String
Syntactic category
- cont : Cont
Semantic content
- cparams : CParamSet
Contextual parameters: unresolved dependencies. Empty = fully grounded; non-empty = CRification may be needed.
- constits : List SubUtterance
Sub-constituents accessible for clarification. @cite{ginzburg-2012} Ch. 6: any sub-utterance can be targeted by a CR.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Convert a PendingLoc to a string-content LocProp.
Instances For
Convert a LocProp String to a PendingLoc.
Instances For
Convert an UttSkeleton to a string-content LocProp.
Subsumes the @cite{ginzburg-cooper-2004} skeleton representation.
Equations
Instances For
Round-trip: UttSkeleton → LocProp → UttSkeleton is identity.
An information structure: a question paired with its focus-establishing constituents (FECs).
@cite{ginzburg-2012} Ch. 7, Appendix B (ex. 2): QUD entries are not bare questions but InfoStructs. The FEC records which sub-utterance(s) established the question — this is what enables NSU resolution.
Example: "Who left?" pushes an InfoStruc with:
- q = "who left?"
- fec = [the LocProp for "who"] A subsequent fragment "Bo" resolves the question by filling the FEC slot.
- q : QContent
The question under discussion
Focus-establishing constituents from the utterance that introduced q
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Create an InfoStruc from a bare question (no FECs).
Equations
Instances For
Create an InfoStruc from a question and a wh-word sub-utterance.