Questions under discussion: stack and strategy #
The inquiry coordinate of the conversational scoreboard: the stack of
accepted-but-unanswered questions (head is the immediate QUD;
subquestions push, answers pop), the rose-tree strategy of inquiry
decomposing a question into subquestions whose joint resolution answers
the parent, and relevance of a move to the inquiry (moveRelevant,
moveRelevantToStrategy).
Fidelity notes #
moveRelevant is existential answerhood relevance: the partial-answer
clause of [Rob12]'s Relevance (15), weaker than her strategy
clause for interrogative moves. It is the proxy
[IKW25] use for their relevance assumption (iii),
consumed by the discourse only definedness condition in their (16).
That the subquestions argument really lists subquestions of the QUD is
the caller's obligation.
A QUD stack: ordered list of accepted, unanswered questions (Roberts 2012 Def 10g).
- questions : List (Question W)
Instances For
Empty QUD stack (discourse initial state).
Equations
- Discourse.QUDStack.empty = { questions := [] }
Instances For
The immediate QUD: the most recently accepted, unanswered question.
Equations
- s.immediateQUD = s.questions.head?
Instances For
The question at the root of this (sub)strategy.
Equations
- (Discourse.Strategy.leaf q).question = q
- (Discourse.Strategy.branch q a).question = q
Instances For
Immediate substrategies (empty for leaves).
Equations
- (Discourse.Strategy.leaf q).substrategies = []
- (Discourse.Strategy.branch q a).substrategies = a
Instances For
All questions in the strategy (root + all descendants).
Equations
- (Discourse.Strategy.leaf q).allQuestions = [q]
- (Discourse.Strategy.branch q a).allQuestions = q :: List.flatMap Discourse.Strategy.allQuestions a
Instances For
Leaf questions only (terminal nodes of the strategy).
Equations
- (Discourse.Strategy.leaf q).leaves = [q]
- (Discourse.Strategy.branch q a).leaves = List.flatMap Discourse.Strategy.leaves a
Instances For
A strategy is complete at a single level: the meet of children's questions entails the parent. Recurse on substrategies for full-tree verification.
Equations
- (Discourse.Strategy.leaf q).isComplete = True
- (Discourse.Strategy.branch q a).isComplete = (List.foldl (fun (x1 x2 : Question W) => x1 ⊓ x2) ⊤ (List.map (fun (x : Discourse.Strategy W) => x.question) a)).Entails q
Instances For
A move is relevant if one of its alternatives partially answers the QUD or one of the subquestions.
Equations
- Discourse.moveRelevant den qud subquestions = ∃ a ∈ den.alt, Question.PartiallyAnswers a qud ∨ ∃ q ∈ subquestions, Question.PartiallyAnswers a q
Instances For
A discourse move is relevant to a strategy if some alternative of
den partially answers some question in the strategy.
Equations
- Discourse.moveRelevantToStrategy den strat = ∃ a ∈ den.alt, ∃ q ∈ strat.allQuestions, Question.PartiallyAnswers a q
Instances For
A move is relevant if one of its alternatives partially answers the QUD directly, with no subquestions.
Strategy relevance is moveRelevant against the root question and
the descendant questions.
Polar reduction of moveRelevant to partial answerhood of p and
pᶜ.