A formula is valid if it is true, and contradictory if it is false, with respect to every assignment (Definitions 4 and 5).
- Valid φ = ∀ (g : S), g ∈ SetRel.dom φ
Used by entails_iff_valid_impl, valid_eval_iff
Docs / Studies / Studies.GroenendijkStokhof1991
Groenendijk, J. & Stokhof, M. (1991). Linguistics and Philosophy, 14(1), 39–100
This file formalizes the logical facts of Groenendijk and Stokhof's "Dynamic predicate
logic", in which a formula denotes a relation between assignments. The paper's semantics is
the update algebra of Semantics/Dynamic/Update.lean: conjunction is relational composition, the
existential is a random reset followed by its scope, and negation, implication, disjunction,
the universal, and closure are the tests of the conditions neg, impl, disj, dforall,
and SetRel.dom, which is the content of the paper's translation of discourse representation
theory. Only the quantifiers mention assignments, so the propositional laws are proved of
updates over any state type and the quantifier laws over any register structure.
The notions of section 3.2 come first: s-equivalence and p-equivalence, which equivalence
implies but which together do not imply it, and the tests, on which all three coincide.
Section 3.4 then supplies the laws. The connectives are definable from negation, conjunction,
and the existential but not conversely, since a negation is a test and an existential is one
only over a contradictory scope (isTest_dexists_iff); double negation, commutativity, and
idempotency of conjunction hold exactly of tests, while contraposition, currying, and the de
Morgan laws hold outright. An existential binds without limit to its right because composition
is associative (scope_extension), and it has universal force in an antecedent because
implication curries (donkey_equivalence). Section 3.5's dynamic entailment (Entails)
satisfies the deduction theorem and reduces s-entailment to entailment from the closed
premiss, and it is neither reflexive nor transitive (not_entails_self, not_entails_trans), by
the paper's own counterexamples: ¬¬∃x Px entails ∃x Px, which entails Px, but the first does
not entail the third. The satisfaction set of an existential computed in the proof of Fact 19
is the cylindrification of its scope's, in the cylindric set algebra of Henkin, Monk and Tarski;
that is the substrate's dom_dexists. The laws are then read off
for the formulas of DPL/Syntax.lean under their interpretation DPL.Formula.eval, and the
paper's opening contrast is computed: ∃x Px ∧ Qx binds the last occurrence of x, while its
double negation and its alphabetic variant ∃y Py ∧ Qx do not. Section 4.1's normal binding form
(nbf) is defined by structural recursion, Definition 24's rebracketing clauses being theorems
of it; a formula is equivalent to its normal binding form, which is scope-bound, so that the
dynamic truth conditions of any formula are the first-order satisfaction conditions of its
normal binding form (mem_dom_eval_iff_realize_nbf). Conversely, eliminating conjunction,
implication and the existential gives every formula a scope-bound equivalent in predicate logic
(mem_dom_eval_staticForm_iff). Section 4.2's translation of discourse representation structures
(DRT.DRS.toDPL, Definition 28) preserves meaning: a condition becomes the test of its
verification and a box denotes its box relation (DRT.DRS.eval_toDPL, Fact 25).
The paper quantifies over models; an Update S fixes one, so its equivalence is equality of
relations, its contradiction is ∅, and its counterexamples are stated over assignments into
a domain with two individuals, [Nontrivial E]. Truth with respect to an assignment and the
satisfaction set are both SetRel.dom, and the production set is SetRel.cod. That conditions
are tests, that tests are closed under conjunction, and that a test's production set is its
satisfaction set are the substrate's isTest_test, IsTest.comp, and IsTest.cod_eq_dom;
that closure and negation are idempotent on tests is dom_test. The paper lists idempotency
of disjunction as unconditional, but a disjunction is a test by Definition 2, so φ ∨ φ is the
closure of φ (disj_self) and the law holds exactly of tests. Fact 5, that a condition is a
test, is the substrate's DPL.Formula.isTest_eval. Fact 6, that the tests are the conditions
and the contradictions, holds up to equivalence, a test being equivalent to the condition ¬¬φ
(neg_neg_eq_self_iff_isTest), and not of the syntactic class itself: x = y ∧ ∃x[x = y] is a
test in every structure and has an active quantifier (isTest_eval_equal_conj_ex_equal).
The remaining laws of section 3.4 with side conditions (the leftward scope extension, commutativity and idempotency of conjunction, contraposition, distribution), the restricted reflexivity and transitivity of dynamic entailment (Facts 15 and 16), Facts 26 and 27 on the translated conditions, and the translation to quantificational dynamic logic of section 4.3.
A formula is valid if it is true, and contradictory if it is false, with respect to every assignment (Definitions 4 and 5).
Used by entails_iff_valid_impl, valid_eval_iff
Used by isTest_dexists_iff, exists_eq_neg_forall_neg_iff, neg_neg_exists_eq_iff
Two formulas are s-equivalent if they have the same satisfaction set (Definition 7).
Used by SEquiv.of_eq, exists_sEquiv_pEquiv_ne, sEquiv_iff_eq_of_isTest, close_eq_close_iff_sEquiv, sEquiv_neg_neg, sEquiv_exists_neg_forall_neg, sEquiv_comp_neg_impl_neg, not_sEquiv_comp_neg_disj_neg, not_sEquiv_impl_neg_disj
Two formulas are p-equivalent if they have the same production set (Definition 10).
Used by PEquiv.of_eq, exists_sEquiv_pEquiv_ne, pEquiv_iff_eq_of_isTest
Built from
Built from
Built from ,
Built from
Built from
Built from
Built from
The existential is the random reset composed with its scope and the universal is implication from the reset, so the quantifier laws are the propositional ones at the reset and hold over any register structure.
Built from
Built from
Built from
Built from
Built from
Built from
Built from
A premiss s-entails a conclusion if truth is preserved from one to the other (Definition 18).
Used by SEntails.of_subset, sEntails_iff_entails_close, not_sEntails_exists_atom, sEntails_iff_entails
A premiss dynamically entails a conclusion if every output of the premiss is an input on which the conclusion succeeds (Definition 20).
Used by entails_iff_valid_impl, sEntails_iff_entails_close, entails_close_self, entails_neg_neg_self, entails_exists_atom, entails_atom_exists, not_entails_self, not_entails_neg_neg_exists_atom, not_entails_trans, not_entails_comp_exists, EntailsOn.entails, sEntails_iff_entails, entails_of_subset, entails_self, entails_conj_right, EntailsOn.trans
Built from
Built from ,
Built from ,
Built from
Built from
Built from
Built from
Built from
Built from
Built from
Dynamic entailment is not transitive: ¬¬∃x Px entails ∃x Px, which entails Px, but
¬¬∃x Px does not entail Px, since the double negation closes off the quantifier that binds
the conclusion's x (p. 69).
Built from
Built from
Definition 21's entailment fixing the variables in X holds when every output of the premiss
has an output of the conclusion that agrees with it on X.
Used by EntailsOn.entails, EntailsOn.trans
Built from ,
Definition 24's recipe b brings every variable a quantifier binds into its scope: it
rebrackets a conjunction to the right, moves an existential out of a left conjunct, and does
the same for an antecedent, where the existential becomes a universal.
The normal binding form of a conjunction whose conjuncts are in normal binding form.
Used by nbf, conjNbf_conjNbf, impNbf_conjNbf, eval_conjNbf, isScopeBound_conjNbf
The normal binding form of an implication whose parts are in normal binding form.
Used by nbf, impNbf_conjNbf, eval_impNbf, isScopeBound_impNbf
The normal binding form of a formula, Definition 24.
Built from ,
Used by nbf_conj_conj, nbf_ex_conj, nbf_conj_imp, nbf_ex_imp, eval_nbf, isScopeBound_nbf, mem_dom_eval_iff_realize_nbf
The formula with conjunction, implication, and the existential eliminated in favour of
negation, disjunction, and the universal, the #φ of Fact 22.
Used by isScopeBound_staticForm, realize_toFormula_staticForm, mem_dom_eval_staticForm_iff
Built from
Built from
The formulas of DPL/Syntax.lean are interpreted by DPL.Formula.eval in the update algebra, so
the laws above hold of them: two formulas are equivalent in a structure when their
interpretations are the same relation.
Facts 8 and 9 are the two halves of the typing of a formula by its context
(DPL.Formula.hasContext_eval): truth depends only on the free variables, and only the active
quantifier variables change. With them the properties entailment lacks in general are restored
under conditions on the two sets.
Built from ,
Built from
Built from
Built from
Built from ,
A formula and its normal binding form have the same interpretation, the normal binding form is
scope-bound, and on a scope-bound formula dynamic truth is first-order satisfaction
(DPL.Formula.IsScopeBound.mem_dom_eval_iff, Fact 19). So the dynamic truth conditions of any
formula are the first-order ones of its normal binding form, and those of a formula built from
the static constants alone are its own.
Built from
Built from
Built from
Built from
Built from
Built from
Built from
Built from
Built from
Read in predicate logic, every formula is equivalent to its static form, whose dynamic truth conditions are those same first-order ones (Fact 22).
Built from
Built from
A man walks in the park. He whistles, ∃x Px ∧ Qx: the existential binds the occurrence of
its variable in the second conjunct, outside its scope. Under a double negation it does not,
and neither does the existential of an alphabetic variant, so the three formulas below have
different truth conditions while the first and the third are alphabetic variants.
The atomic formula Px.
Used by mem_dom_eval_ex_conj_atom, mem_dom_eval_neg_neg_ex_conj_atom, mem_dom_eval_ex_conj_atom_of_ne, not_isScopeBound_ex_conj_atom, isScopeBound_ex_conj_atom_of_ne
Built from
Built from
Built from
Built from
Built from
Definition 28 translates a discourse representation structure into a formula: a box becomes the
existential closure, over its referents, of the conjunction of its translated conditions, and
a complex condition the corresponding connective over its translated sub-boxes. Fact 25 says
the translation preserves meaning: a condition becomes a test of its verification, and a box
denotes its box relation DRT.DRS.toRel.
The translation of a discourse representation structure, Definition 28. The order in which the referents are closed is immaterial to the interpretation.
Built from
Used by DRT.Condition.toDPL, DRT.DRS.toDPL_eq, DRT.Condition.toDPL_neg, DRT.Condition.toDPL_imp, DRT.Condition.toDPL_dis, DRT.DRS.eval_toDPL
The translation of a condition, Definition 28.
Built from
Used by DRT.Condition.toDPLList, DRT.Condition.toDPLList_eq_map, DRT.DRS.toDPL_eq, DRT.Condition.toDPL_atom, DRT.Condition.toDPL_eq, DRT.Condition.toDPL_neg, DRT.Condition.toDPL_imp, DRT.Condition.toDPL_dis, DRT.Condition.eval_toDPL
The translations of a list of conditions.
Built from
Built from ,
Built from
Built from
The translation of a discourse representation structure denotes its box relation (Fact 25 for boxes).
Built from