Dynamic semantics is a framework in logic and natural language semantics that treats the meaning of a sentence as its potential to update a context.
Dynamic semantics was originally developed by Irene Heim and Hans Kamp in 1981 to model anaphora, but has since been applied widely to phenomena including presupposition, plurals, questions, discourse relations, and modality.
[2] The first systems of dynamic semantics were the closely related File Change Semantics and discourse representation theory, developed simultaneously and independently by Irene Heim and Hans Kamp.
These systems were intended to capture donkey anaphora, which resists an elegant compositional treatment in classic approaches to semantics such as Montague grammar.
[2][3] Donkey anaphora is exemplified by the infamous donkey sentences, first noticed by the medieval logician Walter Burley and brought to modern attention by Peter Geach.
[4][5] To capture the empirically observed truth conditions of such sentences in first order logic, one would need to translate the indefinite noun phrase "a donkey" as a universal quantifier scoping over the variable corresponding to the pronoun "it".
While this translation captures (or approximates) the truth conditions of the natural language sentences, its relationship to the syntactic form of the sentence is puzzling in two ways.
First, indefinites in non-donkey contexts normally express existential rather than universal quantification.
Second, the syntactic position of the donkey pronoun would not normally allow it to be bound by the indefinite.
To explain these peculiarities, Heim and Kamp proposed that natural language indefinites are special in that they introduce a new discourse referent that remains available outside the syntactic scope of the operator that introduced it.
To cash this idea out, they proposed their respective formal systems that capture donkey anaphora because they validate Egli's theorem and its corollary.
However, update semantics includes systems more expressive than what can be defined in the static framework.
[8] This property of update semantics has led to its widespread application to presuppositions, modals, and conditionals.
Crucially, this definition assumes that there is a single fixed proposition that
[8] Intersective update was proposed by Robert Stalnaker in 1978 as a way of formalizing the speech act of assertion.
[9][8] In Stalnaker's original system, a context (or context set) is defined as a set of possible worlds representing the information in the common ground of a conversation.
this represents a scenario where the information agreed upon by all participants in the conversation indicates that the actual world must be either
would be understood as an attempt to rule out the possibility that the actual world is
[8] The notion of intersectivity can be decomposed into the two properties known as eliminativity and distributivity.
Eliminativity says that an update can only ever remove worlds from the context—it can't add them.
[8] Intersectivity amounts to the conjunction of these two properties, as proven by Johan van Benthem.
[8] Many natural language expressions have been argued to have nonintersective meanings.
[11][8] These sentences have been argued to be bona fide logical contradictions, unlike superficially similar examples such as Moore sentences, which can be given a pragmatic explanation.
The Epistemic Contradiction Principle only holds on the class of relational frames such that
Thus, accounting for the infelicity of epistemic contradictions within a classical semantics for modals would bring along the unwelcome prediction that "It might be raining" entails "It is raining".
[12][8] Update Semantics skirts this problem by providing a nonintersective denotation for modals.
can update input contexts differently depending on whether they already contain the information that
If the input context passes the test, it remains unchanged.
If it fails the test, the update trivializes the context by returning the empty set.
This semantics can handle epistemic contradictions because no matter the input context, updating with