Groenendijk & Stokhof (1991): Dynamic Predicate Logic #
Dynamic Predicate Logic. Linguistics and Philosophy 14(1): 39–100.
The DPL substrate (DPL.Rel, Definition 2) lives in
Semantics/Dynamic/DPL.lean; this file proves the paper's claims about
it.
Main results #
scope_extension,donkey_equivalence: the two central equivalences — existentials bind across conjunction (∃xφ ∧ ψ ≃ ∃x[φ ∧ ψ]), and get universal force in conditional antecedents (∃xφ → ψ ≃ ∀x[φ → ψ]), both unconditional (they are the normal-binding-form equivalences of Fact 17, §3.6).- Blocking (§2.5):
neg,impl,disj,forall_are tests — no binding escapes. - §3.4's logical facts:
conj_assoc,conj_not_comm,close_eq_neg_neg(♦φ ≃ ¬¬φ), the restricted double-negation lawneg_neg_eq_self_iff_isTest(¬¬φ ≃ φiffφis a test), its anaphoric consequencedne_fails_anaphora, and the interdefinability of→,∨,∀from¬,∧,∃. closure_exists_eq_cylindrifyand friends: the satisfaction-set computations from Fact 19's proof (§3.6), in cylindric-algebra vocabulary.- The indexed reading: DPL's generators as context-extension arrows
(
testTransition,Transition.randomAssign), with clause 4 as transition composition and clause 7 factoring through the random-assignment arrow.
Scope extension (§2.1, §2.3) #
"A man walks in the park. He whistles."
DPL translation: ∃x[man(x) ∧ walk(x)] ∧ whistle(x). Scope extension
makes this equal to ∃x[man(x) ∧ walk(x) ∧ whistle(x)]: the
existential binds across conjunction, unconditionally — a later conjunct
with free x is simply captured. This accounts for
Heim1982.Examples.indefinite_persists.
Scope extension: ∃xφ ∧ ψ ≃ ∃x[φ ∧ ψ] — one of the four
normal-binding-form equivalences in Fact 17's proof (§3.6), and the
formal content of cross-sentential anaphora (§2.1).
Donkey sentences (§2.4) #
"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 (twice), this equals
∀x∀y[farmer(x) ∧ donkey(y) ∧ own(x,y) → beat(x,y)] — the universal
"strong" reading recorded for Geach1962.Examples.donkey_classic and
Heim1982.Examples.conditional_donkey.
The donkey equivalence: ∃xφ → ψ ≃ ∀x[φ → ψ]. An existential in the
antecedent of an implication has universal force — donkey sentences are
compositional without stipulating wide-scope ∀.
¬∃xφ ≃ ∀x¬φ: negation commutes with the quantifier switch, since
negation turns anything into a test.
Blocking: the externally static constants (§2.5) #
"Every man walked in. *He sat down." / "John didn't see a bird. *It was singing."
Negation, implication, disjunction, and the universal are tests: they
force output = input, so no binding escapes them. This accounts for
Heim1982.Examples.universal_blocks, standard_negation_blocks, and
conditional_antecedent.
The universal quantifier is a test: it introduces no referents.
Logical facts (§3.4) #
Closure fixes exactly the tests: ♦φ ≃ φ iff φ is a test (§3.4).
DNE fails for anaphora: ¬¬∃xφ ≠ ∃xφ, since the existential is not
a test. The anaphoric consequence — doubly negated indefinites should
not license anaphora — underpredicts
(ElliottSudo2025.Examples.double_negation is acceptable); the
divergence theorem lives with the comparing paper, in
Studies/ElliottSudo2025.lean.
Interdefinability (§3.4) #
→, ∨, ∀ are definable from ¬, ∧, ∃ — but not conversely:
the latter contains the only externally dynamic constants
(conj_not_comm separates ∧ from any test).
∀xφ ≃ ¬∃x¬φ.
Equivalence notions and conditions (§3.2, §3.4) #
s-equivalence (Definition 7) at a fixed model: same satisfaction
set. The paper quantifies over models; DPL.Rel fixes one.
Equations
- GroenendijkStokhof1991.sEquiv φ ψ = (φ.satisfactionSet = ψ.satisfactionSet)
Instances For
p-equivalence (Definition 10): same production set.
Equations
- GroenendijkStokhof1991.pEquiv φ ψ = (φ.productionSet = ψ.productionSet)
Instances For
Facts 1–2: equivalence implies s-equivalence and p-equivalence.
Definition 12's semantic core, clause 2: a conjunction of tests is a
test. With the static constants (neg_isTest, ..., Fact 5) this closes
the conditions under the semantics.
Fact 4: for tests, s-equivalence coincides with equivalence — a test
is determined by its truth conditions (IsTest.eq_test_closure, the
semantic form of Fact 6).
Entailment (§3.5) #
The paper's two entailment notions, stated over the spine's carrier
(Update S) at full generality. Facts 13–16 — the restricted
reflexivity and transitivity laws — carry syntactic AQV/FV side
conditions and await the syntax stratum.
An Update is valid iff satisfiable (closure) at every input.
Equations
- GroenendijkStokhof1991.valid D = ∀ (i : S), D.closure i
Instances For
Dynamic entailment (Definition 20): every output of D₁ can be
extended by D₂.
Equations
- GroenendijkStokhof1991.entails D₁ D₂ = ∀ (i j : S), D₁ i j → D₂.closure j
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
s-entailment (Definition 18): truth is preserved from premiss to
conclusion. Unlike ⊨, it sees no binding between them.
Equations
- GroenendijkStokhof1991.sEntails D₁ D₂ = ∀ (i : S), D₁.closure i → D₂.closure i
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Meaning inclusion implies s-entailment (Fact 10); the converse fails.
The deduction theorem (Fact 11) in spine vocabulary: entailment is validity of the implication test.
Fact 12, in closure form: s-entailment is entailment from the closed premiss.
The deduction theorem (Fact 11): φ ⊨ ψ iff ⊨ φ → ψ — DPL
implication is the test of dynamic implication, so this is the generic
deduction theorem read through the Ty2 embedding.
The flagship dynamic entailment (§3.5): ∃xPx ⊨ Px — the premiss's
output binds the conclusion's free variable ("A man came in. So, he wore
a hat."). Not an s-entailment.
Conversely Px ⊨ ∃xPx — so the pair entail each other, yet are not
equivalent (the atom is a test, the existential is not): mutual dynamic
entailment is weaker than equivalence (§3.5).
Dynamic entailment is not reflexive (§3.5): Px ∧ ∃xQx does not
entail itself — its outputs forget that the input satisfied Px. The
restricted law (Fact 15) needs AQV(φ) ∩ FV(φ) = ∅.
Satisfaction sets and PL (§3.6) #
Fact 19 (§3.6) relates DPL to PL through satisfaction sets: for
formulas in normal binding form, \φ\ is the PL meaning. Its proof
computes \∃xψ\ = {g | ∃k: k[x]g ∧ k ∈ \ψ\} — cylindrification of the
satisfaction set. Under closure (= satisfactionSet, Definition 6)
these computations are algebraic identities in the cylindric set algebra
([HMT71]).
DPL existential = cylindrification: \∃xφ\ = cₓ\φ\ — the
existential case of Fact 19's computation.
DPL identity test = diagonal element: \x = y\ = Dxy.
DPL negation complements the satisfaction set: \¬φ\ = ∁\φ\.
The indexed reading: DPL generators as context extension #
DPL meanings are relations on total assignments (Definition 2); the
indexed substrate (Transition.lean) types them by the contexts they
read and write, via the total–typed bridge Transition.ofTotal. Tests
(clauses 1–3, 5, 6, 8 are all of this shape) become testTransitions
X ⟶ X — the predecessor's DependsOn guard dissolved with the
typing — and the random reset of clause 7 is Transition.randomAssign : X ⟶ insert x X. Sequencing is clause 4 (toTransition_comp), and the
existential factors through the category unconditionally
(randomAssign_comp_toTransition) — a DPL formula's indexed meaning is
a composite of the generating arrows of DynamicSemantics.Ctx.
A DPL relation as a transition at contexts, worlds inert, via the substrate's total–typed bridge.
Equations
- GroenendijkStokhof1991.toTransition h φ = DynamicSemantics.Transition.ofTotal h fun (x : W) => φ
Instances For
A DPL test as a transition: a condition on the context, checked without changing the environment. Clauses 1–3, 5, 6, and 8 of Definition 2 are all of this form.
Equations
- GroenendijkStokhof1991.testTransition X C = { rel := fun (x : W) (e e' : ↑X → E) => e = e' ∧ C e, grow := ⋯ }
Instances For
Applying a test filters the fiber — the indexed form of Definition 2's test clauses.
Clause 4 is transition composition: with the second conjunct reading within its context, typed sequencing is DPL conjunction.
Clause 7 factors through the category, unconditionally: composing the
random-assignment arrow with a typed scope is the existential. The
scope's transition reads only insert x X, which is what lets the
reset's underspecification off x collapse to Definition 2's ∃d.