An InfoState is a set of possibilities.
Different theories instantiate P differently:
- PLA: Assignment × WitnessSeq
- DRT: Assignment
- Intensional: World × Assignment
Equations
Instances For
A Context Change Potential (CCP) is a function from states to states.
This is the semantic type for dynamic meanings.
Equations
Instances For
Identity CCP: leaves state unchanged
Equations
Instances For
Absurd CCP: yields empty state
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
CCPs form a monoid under sequential composition
Equations
- One or more equations did not get rendered due to their size.
Test-based negation: passes (returns input) iff φ yields ∅.
This is the standard dynamic negation of @cite{heim-1982}, @cite{veltman-1996}: ¬φ(s) = s if φ(s) = ∅, else ∅. Does not validate DNE.
Instances For
Dynamic disjunction via De Morgan: φ ∨ ψ = ¬(¬φ ; ¬ψ).
@cite{heim-1983}: the local context for the second disjunct is the global context updated with ¬φ. This yields the standard Karttunen projection pattern for inclusive disjunction.
Instances For
Dynamic entailment: φ entails ψ iff ψ adds no information after φ.
Equations
- φ.entails ψ = ∀ (s : Semantics.Dynamic.Core.InfoStateOf P), Set.Nonempty (φ s) → ψ (φ s) = φ s
Instances For
An update is eliminative if it never adds possibilities.
This is the fundamental property of dynamic semantics: information only grows (possibilities only decrease).
Equations
- Semantics.Dynamic.Core.IsEliminative u = ∀ (s : Semantics.Dynamic.Core.InfoStateOf P), u s ⊆ s
Instances For
Identity is eliminative
Sequential composition preserves eliminativity
An update is expansive if it never removes possibilities.
Expansive operations include discourse referent introduction (DRT/DPL), modal horizon expansion (@cite{kirkpatrick-2024}), and accommodation. These are the dual of eliminative operations: where eliminative updates can only shrink the state, expansive updates can only grow it.
Equations
- Semantics.Dynamic.Core.IsExpansive u = ∀ (s : Semantics.Dynamic.Core.InfoStateOf P), s ⊆ u s
Instances For
Identity is expansive
Sequential composition preserves expansiveness
A CCP that is both eliminative and expansive is the identity on every input.
A test is a CCP that either passes (returns input) or fails (returns ∅).
Tests don't change information - they check compatibility. Examples: might, must, presupposition triggers.
Equations
- Semantics.Dynamic.Core.IsTest u = ∀ (s : Semantics.Dynamic.Core.InfoStateOf P), u s = s ∨ u s = ∅
Instances For
Tests are eliminative
Support relation: s supports ψ if all possibilities in s satisfy ψ.
This is the fundamental entailment relation of dynamic semantics.
Equations
- Semantics.Dynamic.Core.supportOf sat s ψ = ∀ (p : P), p ∈ s → sat p ψ
Instances For
Content of a formula: all possibilities satisfying it.
Instances For
Galois connection: s ⊆ content ψ ↔ s supports ψ
This is the fundamental duality of dynamic semantics.
Support is downward closed: smaller states support more.
The standard update construction: filter by satisfaction.
This is how PLA, DRT, DPL all define updates.
Instances For
Standard updates are eliminative
Standard update membership
Update equals intersection with content
Support-Update equivalence
Dynamic entailment: φ dynamically entails ψ if updating with φ always yields a state that supports ψ.
Equations
- Semantics.Dynamic.Core.dynamicEntailsOf sat ψ₁ ψ₂ = ∀ (s : Semantics.Dynamic.Core.InfoStateOf P), Semantics.Dynamic.Core.supportOf sat (Semantics.Dynamic.Core.updateFromSat sat ψ₁ s) ψ₂
Instances For
Dynamic entailment is reflexive
Dynamic entailment is transitive
Update is monotone: larger input states yield larger output states.
A possibility: world paired with variable assignment.
This is the concrete state type for world-sensitive dynamic semantics
(DPL, DRT, CDRT, PLA). The assignment field uses Assignment E
from the CCP infrastructure.
- world : W
- assignment : Assignment E
Instances For
Two possibilities agree on all variables in a set.
Equations
- p.agreeOn q vars = ∀ (x : ℕ), x ∈ vars → p.assignment x = q.assignment x
Instances For
Extend an assignment at a single variable, using Assignment.update.
Instances For
Information state: set of possibilities.
This is InfoStateOf (Possibility W E) — a specialization of the
generic InfoStateOf to world-assignment possibilities.
Equations
Instances For
The trivial state: all possibilities.
Instances For
The absurd state: no possibilities.
Equations
Instances For
State is consistent (non-empty).
Equations
- s.consistent = Set.Nonempty s
Instances For
Variable x is defined in state s iff all possibilities agree on x's value.
Equations
- s.definedAt x = ∀ (p q : Semantics.Dynamic.Core.Possibility W E), p ∈ s → q ∈ s → p.assignment x = q.assignment x
Instances For
In a consistent state, novel means assignments actually disagree.
Filter state by an assignment predicate.
Equations
- s.filterAssign pred = {p : Semantics.Dynamic.Core.Possibility W E | p ∈ s ∧ pred p.assignment = true}
Instances For
Empty context with all possibilities.
Equations
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
State: set of world-assignment pairs.
Isomorphic to InfoState W E but uses a flat product instead of the
Possibility structure. Prefer InfoState for new code.
Equations
- Semantics.Dynamic.Core.State W E = Set (W × Core.Assignment E)
Instances For
State-level CCP: context change potential over world-assignment states.
Definitionally equal to CCP (W × Assignment E), so all CCP infrastructure
(monoid, neg, might, tests, entailment, Galois connection) applies.
Equations
Instances For
A CCP is distributive when it processes each element of the input independently: φ(s) = ⋃_{i∈s} φ({i}).
Equations
Instances For
updateFromSat is always distributive: it filters per-element.
CCP.might is not distributive: the whole-context test can pass while
individual-element tests fail.
Witness: P = Bool, φ keeps only true.
might φ {true, false} = {true, false} (whole-context test passes),
but per-singleton: might φ {false} = ∅ (test fails on false-only context).
So false is in the whole-context result but not the distributive union.
The relational type DRS S = S → S → Prop from DynProp is the
primary dynamic semantic type. Every DRS gives rise to a distributive
CCP via the relational image (lift), and every distributive CCP
arises this way (lower). The round-trip is the identity in both
directions (for distributive CCPs).
Non-distributive CCP operations (neg, might, must) test the
whole input state and have no direct DRS counterpart — they are
genuine additions of the set-transformer perspective.
Lift a relational DRS meaning to a CCP (set transformer).
This is the relational image: given input state σ, collect all
outputs reachable from any element of σ. The resulting CCP is
always distributive (lift_isDistributive).
Instances For
Lifted CCPs are always distributive.
Round-trip: lower (lift R) = R. The relational type loses no
information when lifted and lowered.
Round-trip: lift (lower φ) = φ for distributive CCPs.
Distributive CCPs are exactly the relational images.
lift (test C) is eliminative: it only removes elements.
updateFromSat is the lifting of test applied to a satisfaction
relation. This connects the CCP-native updateFromSat to the
primary relational algebra.