Common Ground #
@cite{stalnaker-1974} @cite{stalnaker-2002}
Framework-agnostic context management following @cite{stalnaker-1974}:
context sets (Set W), common ground as proposition lists (CG W),
and the HasContextSet interface unifying both with the various
discourse-state representations across Theories/.
Multi-agent epistemic operators (knowledge, belief, common knowledge)
are in Theories/Semantics/Modality/EpistemicLogic.lean.
A context set is the set of worlds compatible with the common ground.
Just Set W. The namespace ContextSet.* provides discourse-meaningful
aliases (entails, update, compatible) backed by mathlib Set ops.
Equations
- Core.CommonGround.ContextSet W = Set W
Instances For
The trivial context: all worlds possible. Alias for Set.univ.
Equations
- Core.CommonGround.ContextSet.trivial = Set.univ
Instances For
Entailment: every world in the context satisfies the proposition.
Thin alias for (· ⊆ ·) so that the ⊧ notation reads naturally.
Equations
- (c ⊧ p) = (c ⊆ p)
Instances For
Entailment: every world in the context satisfies the proposition.
Thin alias for (· ⊆ ·) so that the ⊧ notation reads naturally.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The context set has at least one world. Alias for Set.Nonempty.
Equations
- c.nonEmpty = Set.Nonempty c
Instances For
Compatibility: some world in the context satisfies the proposition.
Equations
- c.compatible p = Set.Nonempty (c ∩ p)
Instances For
Update: keep only worlds where the proposition holds. Alias for (· ∩ ·).
Equations
- c.update p = c ∩ p
Instances For
Update: keep only worlds where the proposition holds. Alias for (· ∩ ·).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Updated context entails the update proposition.
Updated context is contained in the original.
Updating with what's already entailed doesn't change the context.
Updating trivial context with p gives p.
Entailment is monotonic: a smaller context entails everything a larger one does.
Update is monotonic in the context.
Common ground as a list of mutually believed propositions.
- propositions : List (Set W)
The propositions in the common ground
Instances For
The context set determined by a common ground: intersection of its propositions.
Equations
- cg.contextSet = List.foldr (fun (x1 x2 : Core.CommonGround.ContextSet W) => x1 ∩ x2) Set.univ cg.propositions
Instances For
Add a proposition to the common ground.
Equations
- cg.add p = { propositions := p :: cg.propositions }
Instances For
Empty common ground (no shared beliefs).
Equations
- Core.CommonGround.CG.empty = { propositions := [] }
Instances For
Equations
- Core.CommonGround.CG.instInhabited = { default := Core.CommonGround.CG.empty }
Empty CG gives the trivial (universal) context set.
Adding a proposition intersects it into the context set.
Adding a proposition restricts the context set.
HasContextSet: Uniform Access to Context Sets #
@cite{ginzburg-2012} @cite{stalnaker-2002} @cite{krifka-2015}
Common ground appears in many guises across discourse theories:
CG W (@cite{stalnaker-2002}), CommitmentSlate W (@cite{krifka-2015}),
CommitmentSpace W (commitment trees), DistributionalCG W (probabilistic),
DGB (dialogue gameboard FACTS), and InfoState (TTR gameboard).
All of these induce a context set — the set of worlds compatible with
accumulated information.
HasContextSet provides uniform extraction, enabling framework-agnostic
discourse operations and bridge theorems connecting the representations.
A discourse state from which a context set can be extracted.
Every discourse state representation (Stalnaker CG, Krifka commitment spaces, Ginzburg DGB, distributional CG, TTR gameboard) projects to a context set: the worlds compatible with the state's accumulated information.
- toContextSet : S → ContextSet W
Instances
A discourse state entails a proposition if its context set does.
Equations
Instances For
Updating a discourse state's context set with a proposition.
Equations
Instances For
Equations
- Core.CommonGround.instHasContextSetContextSet = { toContextSet := id }
Equations
- Core.CommonGround.instHasContextSetCG = { toContextSet := Core.CommonGround.CG.contextSet }
The CG instance agrees with CG.contextSet.
Adding to CG restricts the HasContextSet extraction.