Discourse Goals and Plans #
@cite{bratman-1987} @cite{portner-2004} @cite{roberts-2023}
The interlocutors' publicly evident goals, plans, and priorities — the G component of @cite{roberts-2023}'s scoreboard K = ⟨I, M, ≺, CG, QUD, G⟩.
@cite{bratman-1987}: intentions are commitments to action, organized hierarchically into plans. Goals subserve other goals, and an agent's priorities induce a partial order over them.
@cite{portner-2004}'s ToDo list is a special case: an unstructured set of
properties the addressee is committed to realizing. The present formalization
follows @cite{roberts-2023} in giving G richer internal structure — conditional
goals with priority ordering — while remaining compatible with Portner's
interface (a GoalSet projects to a flat property list).
Key Design Choices #
- Goals are conditional: realized only when applicable circumstances obtain (@cite{roberts-2023} §2.1.1). We represent the condition as a proposition (the modal base propositions that must hold).
- Goals carry priority: a natural number where lower = higher priority. @cite{roberts-2023}: "i's priorities are reflected in additional structure over G_i."
- Goal sets are per-agent: G = {G_i | i ∈ I}, one set per interlocutor.
A single goal: a proposition the agent is committed to realizing, conditional on certain circumstances obtaining.
@cite{roberts-2023} §2.1.1: "for all g ∈ G_i, g is a conditional goal, its presence in G_i representing i's intention to achieve the goal should certain conditions obtain in the actual world at some future time t' > t."
- content : W → Prop
The content: what the agent aims to bring about
- condition : W → Prop
The condition: circumstances under which this goal is active.
λ _ => Truefor unconditional goals. - priority : ℕ
Priority level: 0 = highest priority. @cite{roberts-2023}: goals are hierarchically organized to reflect plans and priorities.
Instances For
Equations
- Core.Discourse.instInhabitedGoal = { default := Core.Discourse.instInhabitedGoal.default }
Equations
- Core.Discourse.instInhabitedGoal.default = { content := default, condition := default, priority := default }
Instances For
An agent's goal set: the publicly evident goals, plans, and priorities.
@cite{roberts-2023} §2.1.1: "G_i is the set of i's evident goals, including those which i is publicly committed at t to trying to realize." Goals are organized to reflect plans and priorities.
- goals : List (Goal W)
The goals, ordered by priority (lower index = mentioned earlier, not necessarily higher priority — use
Goal.priorityfor ranking).
Instances For
Equations
Equations
- Core.Discourse.instInhabitedGoalSet.default = { goals := default }
Instances For
The empty goal set.
Equations
Instances For
Remove goals whose content matches a predicate (e.g., realized or abandoned).
Equations
- gs.remove shouldRemove = { goals := List.filter (fun (g : Core.Discourse.Goal W) => !shouldRemove g) gs.goals }
Instances For
Goals active in circumstance w (condition satisfied).
Equations
- gs.activeGoals w = List.filter (fun (g : Core.Discourse.Goal W) => decide (g.condition w)) gs.goals
Instances For
Active goal contents at w, sorted by priority (ascending = most important first).
Equations
- gs.activeContents w = List.map Core.Discourse.Goal.content ((gs.activeGoals w).mergeSort fun (g₁ g₂ : Core.Discourse.Goal W) => decide (g₁.priority ≤ g₂.priority))
Instances For
Project to a flat list of contents (@cite{portner-2004} ToDo list interface).
Equations
- gs.toPropertyList = List.map Core.Discourse.Goal.content gs.goals