Groenendijk & Stokhof (1991): Dynamic Predicate Logic #
@cite{groenendijk-stokhof-1991}
Dynamic Predicate Logic. Linguistics and Philosophy 14(1): 39-100.
Key Claims Verified #
Cross-sentential anaphora (§2.1): Existential quantifiers bind variables across conjunction (
scope_extension).Donkey sentences (§2.4): Existential quantifiers in the antecedent of an implication have universal force (
donkey_equivalence).Blocking (§2.5): Universal quantifiers, negation, implication, and disjunction are externally static — they do not export bindings.
DNE failure (§3.4): Double negation elimination fails for anaphora (
dpl_dne_fails_anaphora), because negation resets the output assignment.Interdefinability (§3.4):
→,∨,∀are definable from¬,∧,∃, but not vice versa — the DPL asymmetry.
"A man walks in the park. He whistles."
DPL translation: ∃x[man(x) ∧ walk_in_park(x)] ∧ whistle(x)
The scope extension theorem shows this equals ∃x[man(x) ∧ walk_in_park(x) ∧ whistle(x)]: the existential quantifier's binding power extends across conjunction.
This accounts for CrossSententialAnaphora.indefinitePersists.
DPL correctly predicts indefinite persistence: scope extension ensures ∃x in the first sentence binds x in the second.
"If a farmer owns a donkey, he beats it."
DPL translation: ∃x[farmer(x) ∧ ∃y[donkey(y) ∧ own(x,y)]] → beat(x,y)
By donkey_equivalence, this is equivalent to:
∀x[farmer(x) ∧ ∃y[donkey(y) ∧ own(x,y)] → beat(x,y)]
And applying it again for y: ∀x∀y[farmer(x) ∧ donkey(y) ∧ own(x,y) → beat(x,y)]
This gives the universal "strong" reading predicted by
DonkeyAnaphora.geachDonkey and DonkeyAnaphora.conditionalDonkey.
The donkey equivalence gives universal force to indefinites
in conditional antecedents, matching conditionalDonkey.strongReading.
"Every man walked in. *He sat down."
The universal quantifier is a test: ⟦∀xφ⟧(g,h) forces g = h. This means no new bindings are created — the pronoun "he" has no accessible antecedent.
This accounts for CrossSententialAnaphora.universalBlocks.
Universal quantification is externally static: it cannot introduce discourse referents. Any formula following ∀xφ sees the same assignment as before.
Negation is externally static: it blocks anaphora.
Accounts for CrossSententialAnaphora.standardNegationBlocks.
Implication is externally static: bindings in the antecedent
or consequent don't escape. Accounts for
CrossSententialAnaphora.conditionalAntecedent.
"It is not the case that nobody walked in. *He sat down."
Double negation ¬¬∃xφ is a test (g = h), so it cannot export the witness introduced by ∃x. This contrasts with ∃xφ itself, which does export. Hence ¬¬∃xφ ≠ ∃xφ.
This predicts CrossSententialAnaphora.doubleNegation should be
infelicitous under standard DPL. (The file marks it as felicitous,
following @cite{elliott-sudo-2025}'s bilateral analysis — this is a
known empirical challenge for DPL that motivated BUS/ICDRT.)
DPL predicts double negation blocks anaphora, contra the empirical
judgment in doubleNegation. This is the well-known DPL limitation
that @cite{elliott-sudo-2025} and bilateral update semantics address.
In standard PL, any pair from {¬, ∧, ∨, →} plus quantifiers suffices to define the others. In DPL, only {¬, ∧, ∃} works as a basis — {¬, →, ∀} and {¬, ∨, ∀} cannot define conjunction or existential quantification, because ∧ and ∃ are the only connectives that are externally dynamic.
¬, ∧, ∃ suffice: implication is definable.
¬, ∧, ∃ suffice: disjunction is definable.
¬, ∧, ∃ suffice: universal is definable.
The reverse fails: conjunction is NOT definable from →, ∨, ∀, ¬ alone, because conjunction is the only binary connective that is externally dynamic.