KOS: Conversational Rules on the TIS #
@cite{ginzburg-2012} Ch. 4
The TIS-level conversational rules: ask, assert, accept, qspec, check,
confirm, qcoord, factUpdateQudDowndate, greet. Each rule is a
function TIS → … → TIS matching @cite{ginzburg-2012}'s precondition/
effect shape (the precondition is implicit in the input TIS state;
the effect is the output TIS state).
Plus the M-Coherence apparatus (ex. 70 p. 96) that lifts a list of conversational rules into a relation on (DGB, move) pairs.
Core Rules #
- Greeting / CounterGreeting — conversation initialization (pp. 74–76, ex. 17/20b)
- Ask QUD-incrementation — question pushes onto QUD (p. 95, ex. 66)
- Assert QUD-incrementation — assertion pushes About(p) onto QUD (p. 95, ex. 66)
- QSPEC — subquestion accommodation (p. 95, ex. 66)
- QCoord — successive question coordination (p. 99, ex. 77)
- Accept — addressee grounds an assertion (p. 95, ex. 66)
- Check — addressee requests confirmation (p. 95, ex. 68)
- Confirm — speaker confirms in response to check (p. 95, ex. 68)
- Fact update/QUD-downdate — accept triggers fact addition + QUD removal (p. 95; p. 103, ex. 85)
Genre relevance #
genreRelevant (eq. 90 p. 105) lives in the sibling KOS/Genre.lean.
Grounding #
The LocProp grounding/CRification protocol (Ch. 6 §6.5–6.7) lives in
the sibling KOS/Grounding.lean.
Ask rule: a question utterance pushes onto QUD and records the move.
Ch. 4, "Ask QUD-incrementation" (p. 95, ex. 66).
Equations
- tis.ask q = { dgb := (tis.dgb.pushQud q).recordMove (Dialogue.KOS.IllocMove.ask q), priv := tis.priv }
Instances For
Assert rule (simplified): assertion adds to FACTS and downdates.
This version does not push About(p) onto QUD. For the full
Assert protocol with QUD-incrementation,
use TIS.assertWithQUD.
Equations
- tis.assertRule p = { dgb := (tis.dgb.assertFact p).recordMove (Dialogue.KOS.IllocMove.assert p), priv := tis.priv }
Instances For
Assert QUD-incrementation: the full Assert protocol.
Ch. 4 (p. 95, ex. 66): when A asserts p:
- p is added to FACTS
- About(p) — a polar question "whether p" — is pushed onto QUD
- QUD is downdated (resolved questions removed)
The aboutP parameter converts the asserted fact to its corresponding
question, since this conversion is domain-specific.
Equations
- tis.assertWithQUD p aboutP = { dgb := ((tis.dgb.addFact p).pushQud aboutP).downdateQud.recordMove (Dialogue.KOS.IllocMove.assert p), priv := tis.priv }
Instances For
Accept rule: addressee grounds an assertion — adds fact to own FACTS.
Ch. 4, "Accept" (p. 95, ex. 66 step 4a).
Known simplification: the book's Accept rule (ex. 42) swaps spkr/addr in the effects (the acceptor becomes the new speaker). We don't model this because our worked examples don't track individual participants.
Equations
- tis.accept p = { dgb := (tis.dgb.addFact p).recordMove (Dialogue.KOS.IllocMove.accept p), priv := tis.priv }
Instances For
QSPEC rule: a subquestion refines a QUD entry.
Precondition: q₂ influences some q₁ on QUD (q₂ is a subquestion). Effect: push q₂ onto QUD (it becomes the new MaxQud).
Ch. 4, "QSPEC" (p. 95, ex. 66 step 2).
Equations
- tis.qspec q = { dgb := (tis.dgb.pushQud q).recordMove (Dialogue.KOS.IllocMove.ask q), priv := tis.priv }
Instances For
Check rule: addressee requests confirmation of an assertion.
Ch. 4 (p. 95, ex. 68): a Check move pushes a polar question about the asserted content onto QUD.
Equations
- tis.check p aboutP = { dgb := (tis.dgb.pushQud aboutP).recordMove (Dialogue.KOS.IllocMove.check p), priv := tis.priv }
Instances For
Confirm rule: speaker confirms in response to a check.
Ch. 4 (p. 95, ex. 68 step 2).
Known simplification: the book's Confirm rule (ex. 43) swaps spkr/addr,
as with Accept. See TIS.accept for details.
Equations
- tis.confirm p = { dgb := (tis.dgb.assertFact p).recordMove (Dialogue.KOS.IllocMove.confirm p), priv := tis.priv }
Instances For
QCoord rule: successive question coordination.
Ch. 4, ex. 77 (p. 99): allows a speaker to follow up an initial question with a non-influencing question, where the initial question remains QUD-maximal.
Effect: push q onto QUD without displacing the current maximal question.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fact update/QUD-downdate: combined rule.
Ch. 4, ex. 85 (p. 103): when Accept occurs, FACTS is updated and resolved questions are downdated from QUD.
Equations
- tis.factUpdateQudDowndate p = { dgb := (tis.dgb.addFact p).downdateQud, priv := tis.priv }
Instances For
Greeting: conversation initialization.
Ch. 4 (p. 75, ex. 17): precondition is MOVES = ⟨⟩.
Equations
- tis.greet = { dgb := tis.dgb.recordMove Dialogue.KOS.IllocMove.greet, priv := tis.priv }
Instances For
Assert adds the fact to FACTS.
assertWithQUD adds the fact to FACTS.
Move Coherence #
@cite{ginzburg-2012} ex. 70 (p. 96) defines M(ove)-Coherence: a move m₁ is coherent with respect to a DGB dgb₀ iff there exists a conversational rule c₁ mapping dgb₀ to dgb₁ such that dgb₁.LatestMove = m₁.
Pairwise and sequential M-Coherence extend this to move pairs and sequences.
A conversational rule: a function from DGB to DGB.
Ch. 4 summary (p. 112): "a mapping that indicates how one DGB can be modified by a conversationally related action."
Equations
- Dialogue.KOS.ConvRule P Fact QContent Cont = (Dialogue.KOS.DGB P Fact QContent Cont → Dialogue.KOS.DGB P Fact QContent Cont)
Instances For
A move is M-Coherent with respect to a DGB if some conversational rule produces a DGB whose latest move is that move.
ex. 70a (p. 96).
Equations
- Dialogue.KOS.mCoherent rules dgb₀ m = ∃ rule ∈ rules, (rule dgb₀).latestMove = some m