**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. In static semantics, knowing the meaning of a sentence amounts to knowing when it is true; in dynamic semantics, knowing the meaning of a sentence means knowing "the change it brings about in the information state of anyone who accepts the news conveyed by it."^{[1]} In dynamic semantics, sentences are mapped to functions called *context change potentials*, which take an input context and return an output 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]}

See also: Discourse representation theory and Donkey anaphora |

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]}

**Donkey sentence (relative clause)**: Every farmer who owns a donkey beats it.**Donkey sentence (conditional)**: If a farmer owns a donkey, he beats it.

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".

**FOL translation of donkey sentence**: :

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.^{[6]}

**Egli's theorem**:**Egli's corollary**:

*Update semantics* is a framework within dynamic semantics that was developed by Frank Veltman.^{[1]}^{[7]} In update semantics, each formula is mapped to a function that takes and returns a *discourse context*. Thus, if is a context, then is the context one gets by updating with . Systems of update semantics vary both in how they define a context and in the semantic entries they assign to formulas. The simplest update systems are *intersective* ones, which simply lift static systems into the dynamic framework. However, update semantics includes systems more expressive than what can be defined in the static framework. In particular, it allows *information sensitive* semantic entries, in which the information contributed by updating with some formula can depend on the information already present in the context.^{[8]} This property of update semantics has led to its widespread application to presuppositions, modals, and conditionals.

An update with is called *intersective* if it amounts to taking the intersection of the input context with the proposition denoted by . Crucially, this definition assumes that there is a single fixed proposition that always denotes, regardless of the context.^{[8]}

**Intersective update:**Let be the proposition denoted by . Then is*intersective*if and only if for any , we have that

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. For instance, if this represents a scenario where the information agreed upon by all participants in the conversation indicates that the actual world must be either , , or . If , then updating with would return a new context . Thus, an assertion of would be understood as an attempt to rule out the possibility that the actual world is .

From a formal perspective, intersective update can be taken as a recipe for lifting one's preferred static semantics to dynamic semantics. For instance, if we take classical propositional semantics as our starting point, this recipe delivers the following intersective update semantics.^{[8]}

**Intersective update semantics based on classical propositional logic:**

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. Distributivity says that updating with is equivalent to updating each singleton subset of with and then pooling the results.^{[8]}

**Eliminativity:**is*eliminative*iff for all contexts**Distributivity:**is*distributive*iff

Intersectivity amounts to the conjunction of these two properties, as proven by Johan van Benthem.^{[8]}^{[10]}

The framework of update semantics is more general than static semantics because it is not limited to intersective meanings. Nonintersective meanings are theoretically useful because they contribute different information depending on what information is already present in the context. For instance, if is intersective, then it will update any input context with the exact same information, namely the information encoded by the proposition . On the other hand, if is nonintersective, it could contribute when it updates some contexts, but some completely different information when it updates other contexts.^{[8]}

Many natural language expressions have been argued to have nonintersective meanings. The nonintersectivity of epistemic modals can be seen in the infelicity of *epistemic contradictions*.^{[11]}^{[8]}

**Epistemic contradiction**: #It's raining and it might not be raining.

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.^{[12]}^{[8]}

**Epistemic contradiction principle**:

These sentences cannot be analysed as logical contradictions within purely intersective frameworks such as the relational semantics for modal logic. The Epistemic Contradiction Principle only holds on the class of relational frames such that . However, such frames also validate an entailment from to . 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. When given such a denotation, the formula can update input contexts differently depending on whether they already contain the information that provides. The most widely adopted semantic entry for modals in update semantics is the *test semantics* proposed by Frank Veltman.^{[1]}

**The test semantics for modals:**

On this semantics, tests whether the input context could be updated with without getting trivialized, i.e. without returning the empty set. 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 will always output a context that fails the test imposed by .^{[8]}^{[13]}