Local Contexts, Appendix: Comparing Five Theories of Presupposition Projection
The appendix's definitions, lemmas and theorems relating Transparency, local contexts, Kleene and Supervaluationist acceptability, and Heim's dynamic semantics, for the propositional fragment (plus abstract and special quantificational cases).
How the Lean files are checked, what was simplified, general caveats and what each category means: see Method & caveats.
Audit
Show:
Notation used in the Lean statements
Notation: I : Nat -> W -> Bool interpretation of propositional letters, C : W -> Prop context set, F : Form a formula of the propositional fragment; dyn I F C = none is C[F] = #; TranspI/TranspS = incremental/symmetric Transparency; LcCond = "each trigger's presupposition holds at every world of its incremental local context"; KleeneAccI etc. as in items 26/29.
Paper textTheorem 1: Consider the propositional fragment of L. Let C ⊆ W be a context set and let F be a formula. Then: (i) Transpi(C, F) iff C[F] ≠ #. (ii) If C[F] ≠ #, C[F] = {w ∈ C: w |= F}.
StatementPropositional fragment: Transp_i(C,F) iff C[F] != #; and C[F] = {w in C : w |= F}
Lean statementtheorem1 I C F : (TranspI I C F <-> dyn I F C != none) /\ (forall D, dyn I F C = some D -> forall w, D w <-> (C w /\ ev I F w = true))
theorem theorem1 (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
(TranspI I C F ↔ dyn I F C ≠ none) ∧
(∀ D, dyn I F C = some D → ∀ w, D w ↔ (C w ∧ ev I F w = true)) := byrefine ⟨?_, (dyn_iff I F C).2⟩
have h1 := (dyn_iff I F C).1have : dyn I F C ≠ none ↔ (dyn I F C).isSome = true := bycases dyn I F C <;> simprw [this, h1]
constructor
· intro H t ht
exact (local_iff I C t.1 t.2.1).mp (H t ht)
· intro H t ht
exact (local_iff I C t.1 t.2.1).mpr (H t ht)
Paper textTheorem 2 [here we only state a consequence of Theorem 2 from Schlenker 2007a]: Let C ⊆ W be a context set and let F be a formula of L. Suppose that <C, F> satisfies Non-Triviality and Constancy. Then: (i) Transpi(C, F) iff C[F] ≠ #. (ii) If C[F] ≠ #, C[F] = {w ∈ C: w |= F}.
StatementQuantificational L, under Non-Triviality + Constancy: same as Thm 1
Lean statementnone in general. Special case (No P . QQ'), one world, D = Fin n: transNo_iff : transNo P Q <-> dynDefined P Q
Lean: Quantifier.lean:52 · not formalized (imported from Schlenker 2007a; general L, NT and Constancy not modelled); special case proven
theorem transNo_iff {n : Nat} (P Q : Pred n) : transNo P Q ↔ dynDefined P Q := byconstructor
· intro H d hP
refine Classical.byContradiction (fun hQ => ?_)
have hQ' : Q d = false := by simpa using hQ
have h := H (fun e => decide (e = d))
have h1 : quant fNo P (fun e => Q e && decide (e = d)) = true := byrw [quantNo_iff]; intro e ⟨_, h2⟩
simpat h2; obtain ⟨h3, h4⟩ := h2; subst h4; simp [hQ'] at h3
rw [h1] at h
have := (quantNo_iff P (fun e => decide (e = d))).mp h.symm d
simp [hP] at this
· intro H γ
have : (fun d => P d && !(Q d && γ d)) = (fun d => P d && !γ d) := byfunext d; by_cases hP : P d = true
· simp [hP, H d hP]
· simp [hP]
have h2 : (fun d => P d && (Q d && γ d)) = (fun d => P d && γ d) := byfunext d; by_cases hP : P d = true
· simp [hP, H d hP]
· simp [hP]
simp only [quant, this, h2]
Why not formalized: The appendix imports this from Schlenker 2007a without proof, and it needs the full language L with quantifiers. Only the special case (No P . QQ') on one world is proven here; the general statement would need the full syntax and semantics of L, Non-Triviality and Constancy.
Paper textLemma 1. Propositional Fragment. For any C ⊆ W, for any formula E, if a E b is a formula of the propositional fragment, lci(C, E, a_b) ≠ # and lcs(C, E, a_b) ≠ #.
StatementIn the propositional fragment lc_i, lc_s exist
Lean statementLC.lemma1 (hE : forall Psi, Envs Psi -> Ext Psi) C : IsLC Envs C (lc1 Envs C) for Val W Unit, with lc1 = paper's candidate plus the condition C w; instantiated as lc_exists_prop_i/s
/-- Lemma 1 (corrected proof): in the propositional fragment the local context exists. -/theorem lemma1 {Envs : Env W Unit → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) (C : W → Prop) :
IsLC Envs C (lc1 Envs C) :=
⟨lemma1_step1 hE C, lemma1_step2 hE C⟩
/-- Lemma 1 / Existence theorem 16(a): local contexts exist in the propositional fragment. -/theorem lc_exists_prop_i (I : Nat → W → Bool) (K : List Frame) (C : W → Prop) :
∃ x, LC.IsLC (EnvI I K) C x := ⟨_, LC.lemma1 (envI_ext I K) C⟩
LCi := λw. 1 iff for some formula g, for some good final b’, w ⊭^(f→F) a ^f g b’ ⇔ a g b’, where F is a contradiction.
Suggested replacement
LCi := λw. 1 iff w ∈ C and for some formula g, for some good final b’, w ⊭^(f→F) a ^f g b’ ⇔ a g b’, where F is a contradiction.
Further edits
Paper text
Step 2: For every x ∈ tri(C, F, a_b), LCi entails x.
Suggested replacement (Lemma 1, Step 2, heading (typo: F should be E))
Step 2: For every x ∈ tri(C, E, a_b), LCi entails x.
Paper text
Suppose, for contradiction, that LCi(w) = 1 and x(w) = 0. Since x ∈ tri(C, F, a_b), for every formula g,
Suggested replacement (Lemma 1, Step 2, first two sentences)
Suppose, for contradiction, that LCi(w) = 1 and x(w) = 0. Then w ∈ C, by the definition of LCi. Since x ∈ tri(C, E, a_b), for every formula g,
What the paper does, and why it fails
LCi(w) = 1 is defined without requiring that w be in the context set C. Step 2 then uses that x is a transparent restriction at w, but membership in tri(C, E, a_b) only constrains x at worlds of C, so for w outside C nothing follows. Example: for the top-level sentence pp’ (α and β empty), the paper’s LCi is true at every world (take g a tautology), so Satisfaction (17a, lci ≤ d) would wrongly require p to be a tautology.
What the change does
LCi is now false outside C, so Step 2 only ever applies transparency of x at worlds of C, where it holds. Step 1 is unchanged, and LCi is now below C, which the proof of Lemma 5 needs. The corrected lemma is proved in Lean as LC.lemma1.
Anything else affected?No other change: the statement of Lemma 1 stays true, so 16(a), Lemma 5 and Theorem 22 keep their statements; only this proof is affected.
Text note: Wording is verbatim; symbols lost in the text extraction (⊨, ⊭, ⇔, superscripts, underlining, Greek letters, primes) were restored from the PDF.
/-- Lemma 1 (corrected proof): in the propositional fragment the local context exists. -/theorem lemma1 {Envs : Env W Unit → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) (C : W → Prop) :
IsLC Envs C (lc1 Envs C) :=
⟨lemma1_step1 hE C, lemma1_step2 hE C⟩
theorem lemma1_paper_candidate_fails :
∃ (Envs : Env Unit Unit → Prop) (C : Unit → Prop),
(∀ Ψ, Envs Ψ → Ext Ψ) ∧ Tr Envs C bot ∧ ¬ le (lc1Paper Envs) bot := byrefine ⟨fun Ψ => Ψ = (fun x w => x w ()), fun _ => False, ?_, ?_, ?_⟩
· intro Ψ hΨ x y w h; subst hΨ; simp [h]
· intro Ψ _ γ w hw; exact absurd hw id
· intro h
have hp : lc1Paper (fun Ψ : Env Unit Unit => Ψ = (fun x w => x w ())) () () = true := bysimp only [lc1Paper, decide_eq_true_eq]
refine ⟨(fun (x : Val Unit Unit) (w : Unit) => x w ()), rfl, top, ?_⟩
simp [meet, bot, top]
have := h () () hp
simp [bot] at this
/-- The paper's candidate `LCi` of Lemma 1 EXACTLY as written (no restriction to `C`). -/noncomputabledef lc1Paper (Envs : Env W Unit → Prop) : Val W Unit :=
fun w _ => decide (∃ Ψ, Envs Ψ ∧ ∃ γ : Val W Unit, Ψ (meet bot γ) w ≠ Ψ γ w)
/-- The paper's candidate `LCi` of Lemma 1, CORRECTED: `w ∈ C` is added. -/noncomputabledef lc1 (Envs : Env W Unit → Prop) (C : W → Prop) : Val W Unit :=
fun w _ => decide (C w ∧ ∃ Ψ, Envs Ψ ∧ ∃ γ : Val W Unit, Ψ (meet bot γ) w ≠ Ψ γ w)
theorem lemma1_paper_candidate_fails :
∃ (Envs : Env Unit Unit → Prop) (C : Unit → Prop),
(∀ Ψ, Envs Ψ → Ext Ψ) ∧ Tr Envs C bot ∧ ¬ le (lc1Paper Envs) bot := byrefine ⟨fun Ψ => Ψ = (fun x w => x w ()), fun _ => False, ?_, ?_, ?_⟩
· intro Ψ hΨ x y w h; subst hΨ; simp [h]
· intro Ψ _ γ w hw; exact absurd hw id
· intro h
have hp : lc1Paper (fun Ψ : Env Unit Unit => Ψ = (fun x w => x w ())) () () = true := bysimp only [lc1Paper, decide_eq_true_eq]
refine ⟨(fun (x : Val Unit Unit) (w : Unit) => x w ()), rfl, top, ?_⟩
simp [meet, bot, top]
have := h () () hp
simp [bot] at this
E1wrong proof Lemma 1 (item 12): the candidate local context must be restricted to worlds of C
LCi := λw. 1 iff for some formula g, for some good final b’, w ⊭^(f→F) a ^f g b’ ⇔ a g b’, where F is a contradiction.
Suggested replacement
LCi := λw. 1 iff w ∈ C and for some formula g, for some good final b’, w ⊭^(f→F) a ^f g b’ ⇔ a g b’, where F is a contradiction.
Further edits
Paper text
Step 2: For every x ∈ tri(C, F, a_b), LCi entails x.
Suggested replacement (Lemma 1, Step 2, heading (typo: F should be E))
Step 2: For every x ∈ tri(C, E, a_b), LCi entails x.
Paper text
Suppose, for contradiction, that LCi(w) = 1 and x(w) = 0. Since x ∈ tri(C, F, a_b), for every formula g,
Suggested replacement (Lemma 1, Step 2, first two sentences)
Suppose, for contradiction, that LCi(w) = 1 and x(w) = 0. Then w ∈ C, by the definition of LCi. Since x ∈ tri(C, E, a_b), for every formula g,
What the paper does, and why it fails
LCi(w) = 1 is defined without requiring that w be in the context set C. Step 2 then uses that x is a transparent restriction at w, but membership in tri(C, E, a_b) only constrains x at worlds of C, so for w outside C nothing follows. Example: for the top-level sentence pp’ (α and β empty), the paper’s LCi is true at every world (take g a tautology), so Satisfaction (17a, lci ≤ d) would wrongly require p to be a tautology.
What the change does
LCi is now false outside C, so Step 2 only ever applies transparency of x at worlds of C, where it holds. Step 1 is unchanged, and LCi is now below C, which the proof of Lemma 5 needs. The corrected lemma is proved in Lean as LC.lemma1.
Anything else affected?No other change: the statement of Lemma 1 stays true, so 16(a), Lemma 5 and Theorem 22 keep their statements; only this proof is affected.
Text note: Wording is verbatim; symbols lost in the text extraction (⊨, ⊭, ⇔, superscripts, underlining, Greek letters, primes) were restored from the PDF.
/-- Lemma 1 (corrected proof): in the propositional fragment the local context exists. -/theorem lemma1 {Envs : Env W Unit → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) (C : W → Prop) :
IsLC Envs C (lc1 Envs C) :=
⟨lemma1_step1 hE C, lemma1_step2 hE C⟩
theorem lemma1_paper_candidate_fails :
∃ (Envs : Env Unit Unit → Prop) (C : Unit → Prop),
(∀ Ψ, Envs Ψ → Ext Ψ) ∧ Tr Envs C bot ∧ ¬ le (lc1Paper Envs) bot := byrefine ⟨fun Ψ => Ψ = (fun x w => x w ()), fun _ => False, ?_, ?_, ?_⟩
· intro Ψ hΨ x y w h; subst hΨ; simp [h]
· intro Ψ _ γ w hw; exact absurd hw id
· intro h
have hp : lc1Paper (fun Ψ : Env Unit Unit => Ψ = (fun x w => x w ())) () () = true := bysimp only [lc1Paper, decide_eq_true_eq]
refine ⟨(fun (x : Val Unit Unit) (w : Unit) => x w ()), rfl, top, ?_⟩
simp [meet, bot, top]
have := h () () hp
simp [bot] at this
/-- The paper's candidate `LCi` of Lemma 1 EXACTLY as written (no restriction to `C`). -/noncomputabledef lc1Paper (Envs : Env W Unit → Prop) : Val W Unit :=
fun w _ => decide (∃ Ψ, Envs Ψ ∧ ∃ γ : Val W Unit, Ψ (meet bot γ) w ≠ Ψ γ w)
/-- The paper's candidate `LCi` of Lemma 1, CORRECTED: `w ∈ C` is added. -/noncomputabledef lc1 (Envs : Env W Unit → Prop) (C : W → Prop) : Val W Unit :=
fun w _ => decide (C w ∧ ∃ Ψ, Envs Ψ ∧ ∃ γ : Val W Unit, Ψ (meet bot γ) w ≠ Ψ γ w)
Paper textLemma 2: Closure under Finite Conjunction For any C ⊆ W, for any formula a d b, tri(C, d, a_b) and trs(C, d, a_b) are closed under finite conjunction.
Statementtr_i, tr_s closed under finite conjunction
Lean statementLC.lemma2 : Tr Envs C x -> Tr Envs C y -> Tr Envs C (meet x y) (any set of environments, so both versions; any D)
theorem lemma2 {Envs : Env W D → Prop} {C : W → Prop} {x y : Val W D}
(h1 : Tr Envs C x) (h2 : Tr Envs C y) : Tr Envs C (meet x y) := byintro Ψ hΨ γ w hw
rw [meet_assoc, h1 Ψ hΨ _ w hw, h2 Ψ hΨ γ w hw]
Minor typo: Def. 10 must range over all expressions; typo a' d' b' in steps 4-5
E4proof gap Definition 10 (and 8): d’ and γ must range over all expressions of the right type, not only constituents of the formula
for every constituent d’ of the same type as d, for every good final b’
Suggested replacement (Definition 10a (tri))
for every expression d’ of the same type as d, for every good final b’
Paper text
for every constituent d’ of the same type as d, C |=^(c’→x) a ^c’ d’ b ⇔ a d’ b
Suggested replacement (Definition 10b (trs))
for every expression d’ of the same type as d, C |=^(c’→x) a ^c’ d’ b ⇔ a d’ b
Paper text
then for any constituent γ of the same type as d and for any good final β’,
Suggested replacement (Definition 8a (Transpi), needed for consistency with Theorem 21)
then for any expression γ of the same type as d and for any good final β’,
Paper text
then for any constituent γ of the same type as d, C|= α (d and γ) β ⇔ α γ β
Suggested replacement (Definition 8b (Transps), needed for consistency with Theorem 21)
then for any expression γ of the same type as d, C|= α (d and γ) β ⇔ α γ β
What the paper does, and why it fails
Definition 10 quantifies over every constituent d’ of the same type as d, i.e. only over parts of the formula a d b. But the proof of Lemma 2 applies the definition to (c” and d’), and the proof of Theorem 21 applies it to (d and d”), which are not constituents of the formula.
What the change does
d’ (and γ in 8) now ranges over all expressions of the right type, which is what the proofs use and what the Expressivity assumption (item 3) makes available. Be Brief (7b, 7c) already says ‘any expression γ’.
Anything else affected?Also affects: 8a and 8b (Transparency) must say ‘expression’ too, otherwise Theorem 21 (Sat’ iff Transp) does not follow; Lemma 2, Theorem 21, Lemma 3 and Theorem 22 then go through as in Lean (all γ), with no change of statement.
Text note: Wording is verbatim; symbols lost in the text extraction (⊨, ⊭, ⇔, superscripts, underlining, Greek letters, primes) were restored from the PDF.
Judgment call: the wording of this replacement is ours and not checked in Lean. Changing 8a/8b is not in the issue as originally listed, but is needed for Theorem 21 to be consistent with the changed Definition 10; the alternative is to keep 8 and restrict Theorem 21, which loses Lemma 2.
theorem lemma2 {Envs : Env W D → Prop} {C : W → Prop} {x y : Val W D}
(h1 : Tr Envs C x) (h2 : Tr Envs C y) : Tr Envs C (meet x y) := byintro Ψ hΨ γ w hw
rw [meet_assoc, h1 Ψ hΨ _ w hw, h2 Ψ hΨ γ w hw]
/-- Theorem 21(i): `Sat' ⇔ Transp`, where `Transp` is `Tr Envs C d`. -/theorem thm21 {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) {C : W → Prop}
(d : Val W D) : SatP Envs C d ↔ Tr Envs C d := byconstructor
· rintro ⟨X, hX, hX'⟩
have hle : cle C X d := hX' X (le_refl X) hX
intro Ψ hΨ γ w hw
have h1 := hX Ψ hΨ (meet d γ) w hw
have h2 := hX Ψ hΨ γ w hw
rw [← h2, ← h1]
apply hE Ψ hΨ
funext e
have := hle w hw e
by_cases hx : X w e = true
· have := this hx; simp [meet, hx, this]
· have : X w e = false := by simpa using hx
...
[[ E’E ]] w, s = [[ (E’ and E) ]] w, s = [[ E’ ]] w, s ∧ [[ E ]] w, s
Paper text
w |= (Qi<P>P'.<Q>Q') iff fi(aw, bw)=1 with aw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and (<Qw(d) = 0 or> Q'w(d) = 0)}, bw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and <Qw(d) = 1 and> Q'w(d) = 1}
Suggested replacement (Item 2 (Classical Semantics): the scope predicate is called Q as in item 6, R is used; OPTIONAL, for uniformity with item 6 (examples 23, 38 still write QQ’))
w |= (Qi<P>P'.<R>R') iff fi(aw, bw)=1 with aw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and (<Rw(d) = 0 or> R'w(d) = 0)}, bw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and <Rw(d) = 1 and> R'w(d) = 1}
Paper text
for any good final β, C |= α (d and γ) β ⇔ α γ β.
Suggested replacement (Item 7b (Be Brief, incremental version; the same words with β’ occur in 8a and are correct))
for any good final β’, C |= α (d and γ) β’ ⇔ α γ β’.
Paper text
⇔ a’ d’ b’ [because x” ∈ tri(C, d, a_b)]
Suggested replacement (Item 13 (Lemma 2), step 4)
⇔ a d’ b’ [because x” ∈ tri(C, d, a_b)]
Paper text
⇔ a’ d’ b’ [by 1.-4.]
Suggested replacement (Item 13 (Lemma 2), step 5)
⇔ a d’ b’ [by 1.-4.]
Paper text
⇔ a’ d’ b’ [by 5., since c’ and c” don’t appear]
Suggested replacement (Item 13 (Lemma 2), step 6)
⇔ a d’ b’ [by 5., since c’ and c” don’t appear]
Paper text
For every v ∈ {i, g}, if for every w ∈ C, lcv({w}, a d, a_b) ≠ #, then lcv(C, d, a_b) ≠ #.
Suggested replacement (Item 15 (Lemma 4), statement (also covers the {i, g} typo of item 14, whose fix is inside the E5 edit for Lemma 3))
For every v ∈ {i, s}, if for every w ∈ C, lcv({w}, d, a_b) ≠ #, then lcv(C, d, a_b) ≠ #.
Paper text
a. If a dd b belongs to the propositional fragment,
Suggested replacement (Item 16(a))
a. If a E b belongs to the propositional fragment,
Paper text
if for all expressions a, b, ee’ such that F = a ee’ b, lcv(C, dd’, a_b) ≠ #,
Suggested replacement (Item 17b)
if for all expressions a, b, ee’ such that F = a ee’ b, lcv(C, ee’, a_b) ≠ #,
Paper text
(insert)
Suggested replacement (Item 21(i): Transpv(C, dd’, a_b) is used but never defined in the appendix; add a definition)
c. For any expression dd’ and strings a, b such that a dd’ b is a formula: Transpi(C, dd’, a_b) holds just in case for any expression γ of the same type as d and for any good final b’, C |= a (d and γ) b’ ⇔ a γ b’; Transps(C, dd’, a_b) holds just in case for any expression γ of the same type as d, C |= a (d and γ) b ⇔ a γ b. (So Transpv(C, F) holds iff Transpv(C, dd’, a_b) holds for all dd’, a, b with F = a dd’ b.)
Paper text
obtaining an x’(w) distinct from x(w) with x’(w) ≤ x(w) (and also x ≤ x’).
obtaining an x’(w) distinct from x(w) with x’(w) ≤ x(w).
Paper text
if i(p)(w)= 1, i’=(pp’)(w) = i(pp’)(w).
Suggested replacement (Item 24, clause 2)
if i(p)(w)= 1, i’(pp’)(w) = i(pp’)(w).
Paper text
just in case for any world w ∈ C, Super(α dd’β, w) ≠ #.
Suggested replacement (Item 26b (Symmetric Acceptability): α, dd’, β are free; 29b already says Kleene(F, w) and needs no change)
just in case for any world w ∈ C, Super(F, w) ≠ #.
Paper text
It was shown in (35) that Incremental Satisfaction predicts
Suggested replacement (Item 38b)
It was shown in (35) of the main text that Incremental Satisfaction predicts
Paper text
(ii) a. w |= ((pp’ and (q and g)) ⇔ (pp’ and g) [both sides are false because w1 |≠ p and thus w1 |≠ pp’] b. w |= ((p and g) and qq’) ⇔ (g and qq’) [both sides are false because w1 |≠ q and thus w1 |≠ qq’]
Suggested replacement (Item 39a, proof: list the two equivalences in the order of the two triggers (first pp’, then qq’); OPTIONAL)
(ii) a. w |= ((p and g) and qq’) ⇔ (g and qq’) [both sides are false because w1 |≠ q and thus w1 |≠ qq’] b. w |= ((pp’ and (q and g)) ⇔ (pp’ and g) [both sides are false because w1 |≠ p and thus w1 |≠ pp’]
Paper text
i”+j” = i”/(At-At(G)) ∪ j’/At(H)
Suggested replacement (Item 41, Case 3(b), the second line (i”+j”), not the first (i’+j’))
i”+j” = i”/(At-At(G)) ∪ j”/At(H)
What the paper does, and why it fails
Each item is a small slip: a wrong or missing prime, a wrong letter, a wrong cross-reference, a missing definition, or a formula with free variables. Each is spelled out in the ‘where’ field of the corresponding edit. Two of them are more than notation: 21(i) uses Transpv(C, dd’, a_b), which is only defined for whole formulas, and 26b uses α, dd’, β without quantifying over them.
What the change does
Each edit restores what the surrounding argument clearly needs (e.g. step 6 of Lemma 2 must conclude a d’ b’ ⇔ a d’ b’ with the same a; 23a only needs x’ ≤ x, since x’ is x minus one element).
Anything else affected?No other change: all edits are notational and do not affect any statement or proof they occur in; the definition added for 21(i) is used only there. Also affects: the Item 14 typo is fixed inside the E5 edit; do not apply it twice.
Judgment call: the wording of this replacement is ours and not checked in Lean. The Q/R renaming in item 2 and the reordering in 39a are optional; the paper’s own examples use QQ’ for the scope predicate. The added definition for 21(i) is our wording, modelled on 8a/8b.
theorem lemma3 {Envs : Env W D → Prop} {C : W → Prop}
(hfin : ∃ L : List (Val W D), ∀ x, Tr Envs C x → x ∈ L) :
∃ x, IsLC Envs C x := byobtain ⟨L, hL⟩ := hfin
obtain ⟨b, hb, hbL⟩ := fold_bottom (α := Val W D) meet top (Tr Envs C) le
(tr_top Envs C) (fun _ _ h1 h2 => lemma2 h1 h2) le_meet_left le_meet_right
(fun _ _ _ => le_trans) L
exact ⟨b, hb, fun y hy => hbL y (hL y hy) hy⟩
E5proof gap Lemma 3 needs the (unstated) fact that tr is non-empty; the finiteness argument in 16(b) only works up to the value at w
Location: Item 14 (Lemma 3) and item 16(b), p. 42 PDF p.4
Paper text
For every v ∈ {i, g}, if trv(C, d, a_b) is finite, lcv(C, d, a_b) ≠ #. Proof: Immediatefrom13.
Suggested replacement (Item 14, Lemma 3 (also corrects the typo {i, g} to {i, s}))
For every v ∈ {i, s}, if trv(C, d, a_b) is finite, lcv(C, d, a_b) ≠ #. Proof: trv(C, d, a_b) is not empty, since it contains λw. 1 (restricting c’ to a value that is true everywhere changes nothing). By 13, the conjunction of the finitely many elements of trv(C, d, a_b) belongs to trv(C, d, a_b), and it entails each of them: it is the bottom element.
Paper text
there are only finitely many functions of type τ with Ds = {w}23. It follows that trv({w}, E, a_b) is finite. By Lemma 3 [14], we construct lcv({w}, E, a_b) for every w ∈ C.
Suggested replacement (Item 16(b), proof)
there are only finitely many functions of type τ with Ds = {w}23. Whether an object belongs to trv({w}, E, a_b) depends only on its value at w. It follows that trv({w}, E, a_b) is finite once objects with the same value at w are identified. By Lemma 3 [14], applied to these values, we construct lcv({w}, E, a_b) (as far as its value at w is concerned) for every w ∈ C.
What the paper does, and why it fails
(1) Lemma 3 says ‘if tr is finite then lc exists’ and calls this immediate from Lemma 2, but a bottom element also requires tr to be non-empty; this is true (λw. 1 is in tr) but never said. (2) In 16(b), tr({w}, E, a_b) is said to be finite because there are finitely many functions with Ds = {w}, but the objects in tr are intensions defined on all of W, so tr is infinite whenever W is; only their values at w are finitely many.
What the change does
Lemma 3 now records why tr is non-empty and why the conjunction is the bottom element. In 16(b), finiteness is claimed only for the values at w, which is all that Lemma 4 uses when it builds lc world by world.
Anything else affected?Also affects: Theorem 22(i), which cites 16(b), inherits this repair. The abstract version of 16(b) is proved in Lean (LC.existence, with finiteness of D → Bool as hypothesis); it is not formalized for the full language L.
Judgment call: the wording of this replacement is ours and not checked in Lean. The exact wording of the ‘identified up to the value at w’ repair is mine; the Lean statement takes finiteness of D → Bool as a hypothesis.
theorem lemma3 {Envs : Env W D → Prop} {C : W → Prop}
(hfin : ∃ L : List (Val W D), ∀ x, Tr Envs C x → x ∈ L) :
∃ x, IsLC Envs C x := byobtain ⟨L, hL⟩ := hfin
obtain ⟨b, hb, hbL⟩ := fold_bottom (α := Val W D) meet top (Tr Envs C) le
(tr_top Envs C) (fun _ _ h1 h2 => lemma2 h1 h2) le_meet_left le_meet_right
(fun _ _ _ => le_trans) L
exact ⟨b, hb, fun y hy => hbL y (hL y hy) hy⟩
theorem existence {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ)
(hD : ∃ L : List (D → Bool), ∀ s, s ∈ L) (C : W → Prop) :
∃ x, IsLC Envs C x := byobtain ⟨L, hL⟩ := hD
apply lemma4 hE
intro w _
obtain ⟨s, hs, hmin⟩ := fold_bottom (α := D → Bool) (fun a b d => a d && b d) (fun _ => true)
(fun s => Tr Envs (fun v => v = w) (fun _ => s)) (fun a b => ∀ d, a d = true → b d = true)
(tr_top Envs (fun v => v = w))
(byintro a b ha hb
exact lemma2 ha hb)
(byintro a b d h; simpat h; exact h.1)
(byintro a b d h; simpat h; exact h.2)
(byintro a b c h1 h2 d h; exact h2 d (h1 d h)) L
refine ⟨s, hs, ?_⟩
...
theorem lemma4 {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) {C : W → Prop}
(hloc : ∀ w, C w → ∃ s : D → Bool,
Tr Envs (fun v => v = w) (fun _ => s) ∧
∀ y, Tr Envs (fun v => v = w) y → ∀ d, s d = true → y w d = true) :
∃ x, IsLC Envs C x := by
classical
have hex : ∀ w, ∃ s : D → Bool, C w → (Tr Envs (fun v => v = w) (fun _ => s) ∧
∀ y, Tr Envs (fun v => v = w) y → ∀ d, s d = true → y w d = true) := byintro w
by_cases h : C w
· obtain ⟨s, hs⟩ := hloc w h
exact ⟨s, fun _ => hs⟩
· exact ⟨fun _ => false, fun h' => absurd h' h⟩
let f : W → D → Bool := fun w => Classical.choose (hex w)
have hf : ∀ w, C w → (Tr Envs (fun v => v = w) (fun _ => f w) ∧
∀ y, Tr Envs (fun v => v = w) y → ∀ d, f w d = true → y w d = true) :=
...
[[ E’E ]] w, s = [[ (E’ and E) ]] w, s = [[ E’ ]] w, s ∧ [[ E ]] w, s
Paper text
w |= (Qi<P>P'.<Q>Q') iff fi(aw, bw)=1 with aw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and (<Qw(d) = 0 or> Q'w(d) = 0)}, bw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and <Qw(d) = 1 and> Q'w(d) = 1}
Suggested replacement (Item 2 (Classical Semantics): the scope predicate is called Q as in item 6, R is used; OPTIONAL, for uniformity with item 6 (examples 23, 38 still write QQ’))
w |= (Qi<P>P'.<R>R') iff fi(aw, bw)=1 with aw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and (<Rw(d) = 0 or> R'w(d) = 0)}, bw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and <Rw(d) = 1 and> R'w(d) = 1}
Paper text
for any good final β, C |= α (d and γ) β ⇔ α γ β.
Suggested replacement (Item 7b (Be Brief, incremental version; the same words with β’ occur in 8a and are correct))
for any good final β’, C |= α (d and γ) β’ ⇔ α γ β’.
Paper text
⇔ a’ d’ b’ [because x” ∈ tri(C, d, a_b)]
Suggested replacement (Item 13 (Lemma 2), step 4)
⇔ a d’ b’ [because x” ∈ tri(C, d, a_b)]
Paper text
⇔ a’ d’ b’ [by 1.-4.]
Suggested replacement (Item 13 (Lemma 2), step 5)
⇔ a d’ b’ [by 1.-4.]
Paper text
⇔ a’ d’ b’ [by 5., since c’ and c” don’t appear]
Suggested replacement (Item 13 (Lemma 2), step 6)
⇔ a d’ b’ [by 5., since c’ and c” don’t appear]
Paper text
For every v ∈ {i, g}, if for every w ∈ C, lcv({w}, a d, a_b) ≠ #, then lcv(C, d, a_b) ≠ #.
Suggested replacement (Item 15 (Lemma 4), statement (also covers the {i, g} typo of item 14, whose fix is inside the E5 edit for Lemma 3))
For every v ∈ {i, s}, if for every w ∈ C, lcv({w}, d, a_b) ≠ #, then lcv(C, d, a_b) ≠ #.
Paper text
a. If a dd b belongs to the propositional fragment,
Suggested replacement (Item 16(a))
a. If a E b belongs to the propositional fragment,
Paper text
if for all expressions a, b, ee’ such that F = a ee’ b, lcv(C, dd’, a_b) ≠ #,
Suggested replacement (Item 17b)
if for all expressions a, b, ee’ such that F = a ee’ b, lcv(C, ee’, a_b) ≠ #,
Paper text
(insert)
Suggested replacement (Item 21(i): Transpv(C, dd’, a_b) is used but never defined in the appendix; add a definition)
c. For any expression dd’ and strings a, b such that a dd’ b is a formula: Transpi(C, dd’, a_b) holds just in case for any expression γ of the same type as d and for any good final b’, C |= a (d and γ) b’ ⇔ a γ b’; Transps(C, dd’, a_b) holds just in case for any expression γ of the same type as d, C |= a (d and γ) b ⇔ a γ b. (So Transpv(C, F) holds iff Transpv(C, dd’, a_b) holds for all dd’, a, b with F = a dd’ b.)
Paper text
obtaining an x’(w) distinct from x(w) with x’(w) ≤ x(w) (and also x ≤ x’).
obtaining an x’(w) distinct from x(w) with x’(w) ≤ x(w).
Paper text
if i(p)(w)= 1, i’=(pp’)(w) = i(pp’)(w).
Suggested replacement (Item 24, clause 2)
if i(p)(w)= 1, i’(pp’)(w) = i(pp’)(w).
Paper text
just in case for any world w ∈ C, Super(α dd’β, w) ≠ #.
Suggested replacement (Item 26b (Symmetric Acceptability): α, dd’, β are free; 29b already says Kleene(F, w) and needs no change)
just in case for any world w ∈ C, Super(F, w) ≠ #.
Paper text
It was shown in (35) that Incremental Satisfaction predicts
Suggested replacement (Item 38b)
It was shown in (35) of the main text that Incremental Satisfaction predicts
Paper text
(ii) a. w |= ((pp’ and (q and g)) ⇔ (pp’ and g) [both sides are false because w1 |≠ p and thus w1 |≠ pp’] b. w |= ((p and g) and qq’) ⇔ (g and qq’) [both sides are false because w1 |≠ q and thus w1 |≠ qq’]
Suggested replacement (Item 39a, proof: list the two equivalences in the order of the two triggers (first pp’, then qq’); OPTIONAL)
(ii) a. w |= ((p and g) and qq’) ⇔ (g and qq’) [both sides are false because w1 |≠ q and thus w1 |≠ qq’] b. w |= ((pp’ and (q and g)) ⇔ (pp’ and g) [both sides are false because w1 |≠ p and thus w1 |≠ pp’]
Paper text
i”+j” = i”/(At-At(G)) ∪ j’/At(H)
Suggested replacement (Item 41, Case 3(b), the second line (i”+j”), not the first (i’+j’))
i”+j” = i”/(At-At(G)) ∪ j”/At(H)
What the paper does, and why it fails
Each item is a small slip: a wrong or missing prime, a wrong letter, a wrong cross-reference, a missing definition, or a formula with free variables. Each is spelled out in the ‘where’ field of the corresponding edit. Two of them are more than notation: 21(i) uses Transpv(C, dd’, a_b), which is only defined for whole formulas, and 26b uses α, dd’, β without quantifying over them.
What the change does
Each edit restores what the surrounding argument clearly needs (e.g. step 6 of Lemma 2 must conclude a d’ b’ ⇔ a d’ b’ with the same a; 23a only needs x’ ≤ x, since x’ is x minus one element).
Anything else affected?No other change: all edits are notational and do not affect any statement or proof they occur in; the definition added for 21(i) is used only there. Also affects: the Item 14 typo is fixed inside the E5 edit; do not apply it twice.
Judgment call: the wording of this replacement is ours and not checked in Lean. The Q/R renaming in item 2 and the reordering in 39a are optional; the paper’s own examples use QQ’ for the scope predicate. The added definition for 21(i) is our wording, modelled on 8a/8b.
Paper textLemma 4: Point-wise Construction of Local Contexts (This lemma crucially relies on the extensionality of the fragment) For every v ∈ {i, g}, if for every w ∈ C, lcv({w}, a d, a_b) ≠ #, then lcv(C, d, a_b) ≠ #.
StatementIf lc_v({w}, ..) exists for all w in C, lc_v(C, ..) exists (pointwise construction; extensionality)
Lean statementLC.lemma4 (hyp.: for each w in C a local bottom s : D -> Bool of tr({w}))
theorem lemma4 {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) {C : W → Prop}
(hloc : ∀ w, C w → ∃ s : D → Bool,
Tr Envs (fun v => v = w) (fun _ => s) ∧
∀ y, Tr Envs (fun v => v = w) y → ∀ d, s d = true → y w d = true) :
∃ x, IsLC Envs C x := by
classical
have hex : ∀ w, ∃ s : D → Bool, C w → (Tr Envs (fun v => v = w) (fun _ => s) ∧
∀ y, Tr Envs (fun v => v = w) y → ∀ d, s d = true → y w d = true) := byintro w
by_cases h : C w
· obtain ⟨s, hs⟩ := hloc w h
exact ⟨s, fun _ => hs⟩
· exact ⟨fun _ => false, fun h' => absurd h' h⟩
let f : W → D → Bool := fun w => Classical.choose (hex w)
have hf : ∀ w, C w → (Tr Envs (fun v => v = w) (fun _ => f w) ∧
∀ y, Tr Envs (fun v => v = w) y → ∀ d, f w d = true → y w d = true) :=
fun w => Classical.choose_spec (hex w)
let x : Val W D := fun w d => if C w then f w d else false
refine ⟨x, ?_, ?_⟩
· intro Ψ hΨ γ w hw
have h1 := (hf w hw).1 Ψ hΨ γ w rflrw [← h1]
apply hE Ψ hΨ
funext d
...
Paper textExistence Theorem: Existence of Local Contexts Let C ⊆ W be a context set and let a E b be any formula. a. If a dd b belongs to the propositional fragment, then for every v ∈ {i, s}, lcv(C, E, a_b) ≠ #.
StatementPropositional fragment: local contexts exist
Lean statementlc_exists_prop_i/s (I K C) : exists x, IsLC (EnvI/EnvS I K) C x
/-- Lemma 1 / Existence theorem 16(a): local contexts exist in the propositional fragment. -/theorem lc_exists_prop_i (I : Nat → W → Bool) (K : List Frame) (C : W → Prop) :
∃ x, LC.IsLC (EnvI I K) C x := ⟨_, LC.lemma1 (envI_ext I K) C⟩
[[ E’E ]] w, s = [[ (E’ and E) ]] w, s = [[ E’ ]] w, s ∧ [[ E ]] w, s
Paper text
w |= (Qi<P>P'.<Q>Q') iff fi(aw, bw)=1 with aw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and (<Qw(d) = 0 or> Q'w(d) = 0)}, bw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and <Qw(d) = 1 and> Q'w(d) = 1}
Suggested replacement (Item 2 (Classical Semantics): the scope predicate is called Q as in item 6, R is used; OPTIONAL, for uniformity with item 6 (examples 23, 38 still write QQ’))
w |= (Qi<P>P'.<R>R') iff fi(aw, bw)=1 with aw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and (<Rw(d) = 0 or> R'w(d) = 0)}, bw={d∈D: <Pw(d) = 1 and> P'w(d) = 1 and <Rw(d) = 1 and> R'w(d) = 1}
Paper text
for any good final β, C |= α (d and γ) β ⇔ α γ β.
Suggested replacement (Item 7b (Be Brief, incremental version; the same words with β’ occur in 8a and are correct))
for any good final β’, C |= α (d and γ) β’ ⇔ α γ β’.
Paper text
⇔ a’ d’ b’ [because x” ∈ tri(C, d, a_b)]
Suggested replacement (Item 13 (Lemma 2), step 4)
⇔ a d’ b’ [because x” ∈ tri(C, d, a_b)]
Paper text
⇔ a’ d’ b’ [by 1.-4.]
Suggested replacement (Item 13 (Lemma 2), step 5)
⇔ a d’ b’ [by 1.-4.]
Paper text
⇔ a’ d’ b’ [by 5., since c’ and c” don’t appear]
Suggested replacement (Item 13 (Lemma 2), step 6)
⇔ a d’ b’ [by 5., since c’ and c” don’t appear]
Paper text
For every v ∈ {i, g}, if for every w ∈ C, lcv({w}, a d, a_b) ≠ #, then lcv(C, d, a_b) ≠ #.
Suggested replacement (Item 15 (Lemma 4), statement (also covers the {i, g} typo of item 14, whose fix is inside the E5 edit for Lemma 3))
For every v ∈ {i, s}, if for every w ∈ C, lcv({w}, d, a_b) ≠ #, then lcv(C, d, a_b) ≠ #.
Paper text
a. If a dd b belongs to the propositional fragment,
Suggested replacement (Item 16(a))
a. If a E b belongs to the propositional fragment,
Paper text
if for all expressions a, b, ee’ such that F = a ee’ b, lcv(C, dd’, a_b) ≠ #,
Suggested replacement (Item 17b)
if for all expressions a, b, ee’ such that F = a ee’ b, lcv(C, ee’, a_b) ≠ #,
Paper text
(insert)
Suggested replacement (Item 21(i): Transpv(C, dd’, a_b) is used but never defined in the appendix; add a definition)
c. For any expression dd’ and strings a, b such that a dd’ b is a formula: Transpi(C, dd’, a_b) holds just in case for any expression γ of the same type as d and for any good final b’, C |= a (d and γ) b’ ⇔ a γ b’; Transps(C, dd’, a_b) holds just in case for any expression γ of the same type as d, C |= a (d and γ) b ⇔ a γ b. (So Transpv(C, F) holds iff Transpv(C, dd’, a_b) holds for all dd’, a, b with F = a dd’ b.)
Paper text
obtaining an x’(w) distinct from x(w) with x’(w) ≤ x(w) (and also x ≤ x’).
obtaining an x’(w) distinct from x(w) with x’(w) ≤ x(w).
Paper text
if i(p)(w)= 1, i’=(pp’)(w) = i(pp’)(w).
Suggested replacement (Item 24, clause 2)
if i(p)(w)= 1, i’(pp’)(w) = i(pp’)(w).
Paper text
just in case for any world w ∈ C, Super(α dd’β, w) ≠ #.
Suggested replacement (Item 26b (Symmetric Acceptability): α, dd’, β are free; 29b already says Kleene(F, w) and needs no change)
just in case for any world w ∈ C, Super(F, w) ≠ #.
Paper text
It was shown in (35) that Incremental Satisfaction predicts
Suggested replacement (Item 38b)
It was shown in (35) of the main text that Incremental Satisfaction predicts
Paper text
(ii) a. w |= ((pp’ and (q and g)) ⇔ (pp’ and g) [both sides are false because w1 |≠ p and thus w1 |≠ pp’] b. w |= ((p and g) and qq’) ⇔ (g and qq’) [both sides are false because w1 |≠ q and thus w1 |≠ qq’]
Suggested replacement (Item 39a, proof: list the two equivalences in the order of the two triggers (first pp’, then qq’); OPTIONAL)
(ii) a. w |= ((p and g) and qq’) ⇔ (g and qq’) [both sides are false because w1 |≠ q and thus w1 |≠ qq’] b. w |= ((pp’ and (q and g)) ⇔ (pp’ and g) [both sides are false because w1 |≠ p and thus w1 |≠ pp’]
Paper text
i”+j” = i”/(At-At(G)) ∪ j’/At(H)
Suggested replacement (Item 41, Case 3(b), the second line (i”+j”), not the first (i’+j’))
i”+j” = i”/(At-At(G)) ∪ j”/At(H)
What the paper does, and why it fails
Each item is a small slip: a wrong or missing prime, a wrong letter, a wrong cross-reference, a missing definition, or a formula with free variables. Each is spelled out in the ‘where’ field of the corresponding edit. Two of them are more than notation: 21(i) uses Transpv(C, dd’, a_b), which is only defined for whole formulas, and 26b uses α, dd’, β without quantifying over them.
What the change does
Each edit restores what the surrounding argument clearly needs (e.g. step 6 of Lemma 2 must conclude a d’ b’ ⇔ a d’ b’ with the same a; 23a only needs x’ ≤ x, since x’ is x minus one element).
Anything else affected?No other change: all edits are notational and do not affect any statement or proof they occur in; the definition added for 21(i) is used only there. Also affects: the Item 14 typo is fixed inside the E5 edit; do not apply it twice.
Judgment call: the wording of this replacement is ours and not checked in Lean. The Q/R renaming in item 2 and the reordering in 39a are optional; the paper’s own examples use QQ’ for the scope predicate. The added definition for 21(i) is our wording, modelled on 8a/8b.
Paper textLet C ⊆ W be a context set and let a E b be any formula. [...] b. If for every w ∈ C, the domain of individuals in w is of finite size, then for every v ∈ {i, s}, lcv(C, E, a_b) ≠ #.
StatementFinite domains: local contexts exist
Lean statementLC.existence (hE) (hD : exists L, forall s : D -> Bool, s in L) C : exists x, IsLC Envs C x (abstract environments over any W, finite D -> Bool)
Lean: LCAbstract.lean:202 · proven for the abstract framework; not formalized for the full language L (no syntax of quantifiers)
theorem existence {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ)
(hD : ∃ L : List (D → Bool), ∀ s, s ∈ L) (C : W → Prop) :
∃ x, IsLC Envs C x := byobtain ⟨L, hL⟩ := hD
apply lemma4 hE
intro w _
obtain ⟨s, hs, hmin⟩ := fold_bottom (α := D → Bool) (fun a b d => a d && b d) (fun _ => true)
(fun s => Tr Envs (fun v => v = w) (fun _ => s)) (fun a b => ∀ d, a d = true → b d = true)
(tr_top Envs (fun v => v = w))
(byintro a b ha hb
exact lemma2 ha hb)
(byintro a b d h; simpat h; exact h.1)
(byintro a b d h; simpat h; exact h.2)
(byintro a b c h1 h2 d h; exact h2 d (h1 d h)) L
refine ⟨s, hs, ?_⟩
intro y hy d hd
have hyc : Tr Envs (fun v => v = w) (fun _ => y w) := byintro Ψ hΨ γ v hv
subst hv
rw [← hy Ψ hΨ γ v rfl]
apply hE Ψ hΨ
funext d'; simp [meet]
exact hmin (y w) (hL _) hyc d hd
E5proof gap Lemma 3 needs the (unstated) fact that tr is non-empty; the finiteness argument in 16(b) only works up to the value at w
Location: Item 14 (Lemma 3) and item 16(b), p. 42 PDF p.4
Paper text
For every v ∈ {i, g}, if trv(C, d, a_b) is finite, lcv(C, d, a_b) ≠ #. Proof: Immediatefrom13.
Suggested replacement (Item 14, Lemma 3 (also corrects the typo {i, g} to {i, s}))
For every v ∈ {i, s}, if trv(C, d, a_b) is finite, lcv(C, d, a_b) ≠ #. Proof: trv(C, d, a_b) is not empty, since it contains λw. 1 (restricting c’ to a value that is true everywhere changes nothing). By 13, the conjunction of the finitely many elements of trv(C, d, a_b) belongs to trv(C, d, a_b), and it entails each of them: it is the bottom element.
Paper text
there are only finitely many functions of type τ with Ds = {w}23. It follows that trv({w}, E, a_b) is finite. By Lemma 3 [14], we construct lcv({w}, E, a_b) for every w ∈ C.
Suggested replacement (Item 16(b), proof)
there are only finitely many functions of type τ with Ds = {w}23. Whether an object belongs to trv({w}, E, a_b) depends only on its value at w. It follows that trv({w}, E, a_b) is finite once objects with the same value at w are identified. By Lemma 3 [14], applied to these values, we construct lcv({w}, E, a_b) (as far as its value at w is concerned) for every w ∈ C.
What the paper does, and why it fails
(1) Lemma 3 says ‘if tr is finite then lc exists’ and calls this immediate from Lemma 2, but a bottom element also requires tr to be non-empty; this is true (λw. 1 is in tr) but never said. (2) In 16(b), tr({w}, E, a_b) is said to be finite because there are finitely many functions with Ds = {w}, but the objects in tr are intensions defined on all of W, so tr is infinite whenever W is; only their values at w are finitely many.
What the change does
Lemma 3 now records why tr is non-empty and why the conjunction is the bottom element. In 16(b), finiteness is claimed only for the values at w, which is all that Lemma 4 uses when it builds lc world by world.
Anything else affected?Also affects: Theorem 22(i), which cites 16(b), inherits this repair. The abstract version of 16(b) is proved in Lean (LC.existence, with finiteness of D → Bool as hypothesis); it is not formalized for the full language L.
Judgment call: the wording of this replacement is ours and not checked in Lean. The exact wording of the ‘identified up to the value at w’ repair is mine; the Lean statement takes finiteness of D → Bool as a hypothesis.
theorem lemma3 {Envs : Env W D → Prop} {C : W → Prop}
(hfin : ∃ L : List (Val W D), ∀ x, Tr Envs C x → x ∈ L) :
∃ x, IsLC Envs C x := byobtain ⟨L, hL⟩ := hfin
obtain ⟨b, hb, hbL⟩ := fold_bottom (α := Val W D) meet top (Tr Envs C) le
(tr_top Envs C) (fun _ _ h1 h2 => lemma2 h1 h2) le_meet_left le_meet_right
(fun _ _ _ => le_trans) L
exact ⟨b, hb, fun y hy => hbL y (hL y hy) hy⟩
theorem existence {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ)
(hD : ∃ L : List (D → Bool), ∀ s, s ∈ L) (C : W → Prop) :
∃ x, IsLC Envs C x := byobtain ⟨L, hL⟩ := hD
apply lemma4 hE
intro w _
obtain ⟨s, hs, hmin⟩ := fold_bottom (α := D → Bool) (fun a b d => a d && b d) (fun _ => true)
(fun s => Tr Envs (fun v => v = w) (fun _ => s)) (fun a b => ∀ d, a d = true → b d = true)
(tr_top Envs (fun v => v = w))
(byintro a b ha hb
exact lemma2 ha hb)
(byintro a b d h; simpat h; exact h.1)
(byintro a b d h; simpat h; exact h.2)
(byintro a b c h1 h2 d h; exact h2 d (h1 d h)) L
refine ⟨s, hs, ?_⟩
...
theorem lemma4 {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) {C : W → Prop}
(hloc : ∀ w, C w → ∃ s : D → Bool,
Tr Envs (fun v => v = w) (fun _ => s) ∧
∀ y, Tr Envs (fun v => v = w) y → ∀ d, s d = true → y w d = true) :
∃ x, IsLC Envs C x := by
classical
have hex : ∀ w, ∃ s : D → Bool, C w → (Tr Envs (fun v => v = w) (fun _ => s) ∧
∀ y, Tr Envs (fun v => v = w) y → ∀ d, s d = true → y w d = true) := byintro w
by_cases h : C w
· obtain ⟨s, hs⟩ := hloc w h
exact ⟨s, fun _ => hs⟩
· exact ⟨fun _ => false, fun h' => absurd h' h⟩
let f : W → D → Bool := fun w => Classical.choose (hex w)
have hf : ∀ w, C w → (Tr Envs (fun v => v = w) (fun _ => f w) ∧
∀ y, Tr Envs (fun v => v = w) y → ∀ d, f w d = true → y w d = true) :=
...
Paper textLemma 5: when local contexts exist, 18 and 17 are equivalent. For every v ∈ {i, s}, if lcv(C, dd’, a_b) ≠ #, Satv(C, dd’, a_b) iff Sat’v(C, dd’, a_b)
StatementIf lc_v exists: Sat_v iff Sat'_v
Lean statementLC.lemma5 (hx : IsLC Envs C x) d : SatLC x d <-> SatP Envs C d; prop. fragment: lemma5_prop_i : SatI I C F <-> SatI' I C F
/-- Lemma 5: when the local context `x` exists, `Sat ⇔ Sat'`. -/theorem lemma5 {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) {C : W → Prop}
{x : Val W D} (hx : IsLC Envs C x) (d : Val W D) : SatLC x d ↔ SatP Envs C d := byconstructor
· intro h
refine ⟨x, hx.1, ?_⟩
intro X' hle _ w _ e hX'
exact h w e (hle w e hX')
· intro h
exact hx.2 d ((thm21 hE d).mp h)
/-- Lemma 5 (propositional fragment): `Sat ⇔ Sat'` -/theorem lemma5_prop_i (I : Nat → W → Bool) (C : W → Prop) (F : Form) (hE : Expressive I) :
SatI I C F ↔ SatI' I C F := byconstructor
· rintro H t ht
obtain ⟨x, hx, hle⟩ := H t ht
exact (LC.lemma5 (envI_ext I t.1) hx _).mp hle
· intro H t ht
obtain ⟨x, hx⟩ := lc_exists_prop_i I t.1 C
exact ⟨x, hx, (LC.lemma5 (envI_ext I t.1) hx _).mpr (H t ht)⟩
E6proof gap Proof of Lemma 5: justify the step ‘lc ≤ C’
Location: Def. 18 and proof of Lemma 5 (item 19), p. 42-43 PDF p.4
Paper text
Bythedefinition trv(C, dd’, a_b) and lcv(C, dd’, a_b),it must be the casethat lcv(C, dd’, a_b) ≤ C. Therefore lcv(C, dd’, a_b) ≤ d.
Suggested replacement
The context set C itself belongs to trv(C, dd’, a_b) (restricting c’ to C is innocuous within C), and lcv(C, dd’, a_b) is the bottom element of trv(C, dd’, a_b); hence lcv(C, dd’, a_b) ≤ C. Together with C |=^(c’→lcv(C, dd’, a_b)) c’ ≤ d, this gives lcv(C, dd’, a_b) ≤ d.
Further edits
Paper text
for some X ∈ trv(C, dd’, a_b), for every X’, if [X’ ≤ X and X’ ∈ trv(C, dd’, a_b)], then C |=^(c’→X’) c’ ≤ d
Suggested replacement (Definition 18a (OPTIONAL simplification; if adopted, the two sentences of the proof of Lemma 5 that restate 18a must be shortened in the same way))
for some X ∈ trv(C, dd’, a_b), C |=^(c’→X) c’ ≤ d
What the paper does, and why it fails
The proof simply asserts that lcv ≤ C ‘by the definition’ of tr and lc, without saying why. Here ≤ is entailment between context sets as functions on all worlds, while what we know from 18 is only that lcv entails d on the worlds of C. Also, Definition 18a has a redundant clause (‘for every X’ ≤ X in tr’), which mixes the global order ≤ with the C-relative order.
What the change does
The step is now justified: C is one of the transparent restrictions, so the bottom element lies below it. Then ‘lcv ≤ d on C’ and ‘lcv ≤ C’ give ‘lcv ≤ d’ on all worlds. The optional change to 18a removes the redundant clause without changing what Sat’ means.
Anything else affected?No other change: Lemma 5 stays true (proved in Lean as LC.lemma5), and Theorems 21 and 22 use it unchanged.
Text note: Wording is verbatim; symbols lost in the text extraction (⊨, ⊭, ⇔, superscripts, underlining, Greek letters, primes) were restored from the PDF.
Judgment call: the wording of this replacement is ours and not checked in Lean. The justification ‘C ∈ tr’ is our reconstruction; the Lean proof of LC.lemma5 is organised differently.
/-- Lemma 5: when the local context `x` exists, `Sat ⇔ Sat'`. -/theorem lemma5 {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) {C : W → Prop}
{x : Val W D} (hx : IsLC Envs C x) (d : Val W D) : SatLC x d ↔ SatP Envs C d := byconstructor
· intro h
refine ⟨x, hx.1, ?_⟩
intro X' hle _ w _ e hX'
exact h w e (hle w e hX')
· intro h
exact hx.2 d ((thm21 hE d).mp h)
/-- Lemma 5 (propositional fragment): `Sat ⇔ Sat'` -/theorem lemma5_prop_i (I : Nat → W → Bool) (C : W → Prop) (F : Form) (hE : Expressive I) :
SatI I C F ↔ SatI' I C F := byconstructor
· rintro H t ht
obtain ⟨x, hx, hle⟩ := H t ht
exact (LC.lemma5 (envI_ext I t.1) hx _).mp hle
· intro H t ht
obtain ⟨x, hx⟩ := lc_exists_prop_i I t.1 C
exact ⟨x, hx, (LC.lemma5 (envI_ext I t.1) hx _).mpr (H t ht)⟩
Paper textFor any context set C, for all expressions dd’ and for all strings a, b, a. tri(C, dd’, a_b) ⊆ trs(C, dd’, a_b). Furthermore, if lcs(C, d, a_b) ≠ # and lci(C, d, a_b) ≠ #, b. lcs(C, d, a_b) ≤ lci(C, d, a_b) c. if Sati(C, d, a_b), then Sats(C, d, a_b)
/-- 20a : `tr_i ⊆ tr_s` (the symmetric environments are among the incremental ones). -/theorem thm20a {Es Ei : Env W D → Prop} (h : ∀ Ψ, Es Ψ → Ei Ψ) {C : W → Prop} {x : Val W D}
(hx : Tr Ei C x) : Tr Es C x :=
fun Ψ hΨ => hx Ψ (h Ψ hΨ)
/-- 20b/20c : if both local contexts exist, `lc_s ≤ lc_i`, and `Sat_i → Sat_s`. -/theorem thm20bc {Es Ei : Env W D → Prop} (h : ∀ Ψ, Es Ψ → Ei Ψ) {C : W → Prop}
{xs xi : Val W D} (hs : IsLC Es C xs) (hi : IsLC Ei C xi) (d : Val W D) :
le xs xi ∧ (SatLC xi d → SatLC xs d) :=
⟨hs.2 xi (thm20a h hi.1), fun H => le_trans (hs.2 xi (thm20a h hi.1)) H⟩
theorem thm20_prop (I : Nat → W → Bool) (hE : Expressive I) (C : W → Prop) (F : Form) :
SatI I C F → SatS I C F := byintro H t ht
obtain ⟨xi, hi, hle⟩ := H t ht
obtain ⟨xs, hs⟩ := lc_exists_prop_s I t.1 C
exact ⟨xs, hs, (LC.thm20bc (envS_sub_envI I t.1) hs hi _).2 hle⟩
theorem transpI_transpS (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
TranspI I C F → TranspS I C F :=
fun h t ht γ w hw => h t ht t.1 (forall₂_same_refl _) γ w hw
Paper textLet C ⊆ W be a context set. Then: (i) For any v ∈ {i, s}, for every formula that has the form a dd’ b, Sat’v(C, dd’, a _ b) iff Transpv(C, dd’, a _ b). (ii) In particular, for any v ∈ {i, s}, for every formula F, Sat’v(C, F) iff Transpv(C, F).
StatementSat'_v(C,dd',a_b) iff Transp_v(C,dd',a_b); hence for formulas
Lean statementLC.thm21 (hE) d : SatP Envs C d <-> Tr Envs C d; prop.: thm21_prop_i/s : SatI' I C F <-> TranspI I C F (given Expressive I), likewise symmetric
/-- Theorem 21(i): `Sat' ⇔ Transp`, where `Transp` is `Tr Envs C d`. -/theorem thm21 {Envs : Env W D → Prop} (hE : ∀ Ψ, Envs Ψ → Ext Ψ) {C : W → Prop}
(d : Val W D) : SatP Envs C d ↔ Tr Envs C d := byconstructor
· rintro ⟨X, hX, hX'⟩
have hle : cle C X d := hX' X (le_refl X) hX
intro Ψ hΨ γ w hw
have h1 := hX Ψ hΨ (meet d γ) w hw
have h2 := hX Ψ hΨ γ w hw
rw [← h2, ← h1]
apply hE Ψ hΨ
funext e
have := hle w hw e
by_cases hx : X w e = true
· have := this hx; simp [meet, hx, this]
· have : X w e = false := by simpa using hx
simp [meet, this]
· intro h
refine ⟨d, h, ?_⟩
intro X' hle _ w _ e hx
exact hle w e hx
/-- Theorem 21(ii), incremental, propositional fragment. -/theorem thm21_prop_i (I : Nat → W → Bool) (hE : Expressive I) (C : W → Prop) (F : Form) :
SatI' I C F ↔ TranspI I C F := byconstructor
· intro H t ht K' hK γ w hw
exact (bridge_i I hE C t.1 t.2.1).mp ((LC.thm21 (envI_ext I t.1) (dval I t.2.1)).mp (H t ht)) K' hK γ w hw
· intro H t ht
exact (LC.thm21 (envI_ext I t.1) (dval I t.2.1)).mpr ((bridge_i I hE C t.1 t.2.1).mpr (H t ht))
theorem thm21_prop_s (I : Nat → W → Bool) (hE : Expressive I) (C : W → Prop) (F : Form) :
SatS' I C F ↔ TranspS I C F := byconstructor
· intro H t ht γ w hw
exact (bridge_s I hE C t.1 t.2.1).mp ((LC.thm21 (envS_ext I t.1) (dval I t.2.1)).mp (H t ht)) γ w hw
· intro H t ht
exact (LC.thm21 (envS_ext I t.1) (dval I t.2.1)).mpr ((bridge_s I hE C t.1 t.2.1).mpr (H t ht))
Minor typo: Def. 10 constituents gap; Transp_v(C,dd',a_b) undefined in 21(i)
E4proof gap Definition 10 (and 8): d’ and γ must range over all expressions of the right type, not only constituents of the formula (details above)
Paper textLet C ⊆ W be a context set and F be a formula which satisfy Non-Triviality and Constancy. Then: (i) for all expressions a, b, dd’ , if F = a dd’ b, lci(C, dd’, a _ b) ≠ #. Furthermore, (ii) Sati(C, F) iff Sat’i(C, F) iff C[F] ≠ #.
theorem thm22_prop (I : Nat → W → Bool) (hE : Expressive I) (C : W → Prop) (F : Form) :
(SatI I C F ↔ SatI' I C F) ∧ (SatI' I C F ↔ dyn I F C ≠ none) :=
⟨lemma5_prop_i I C F hE, (thm21_prop_i I hE C F).trans (theorem1 I C F).1⟩
E2overclaim Sentence introducing Example 23: Sat’ is not equivalent to Dynamic Semantics in general
resort to the alternative definition of satisfaction, Sat’, whose incremental version yieldsfullequivalencewith Dynamic Semantics
Suggested replacement
resort to the alternative definition of satisfaction, Sat’, whose incremental version is equivalent to Incremental Transparency (21), but not in general to Dynamic Semantics (the equivalence in 22 requires Non-Triviality and Constancy)
What the paper does, and why it fails
The sentence says that the incremental version of Sat’ is fully equivalent to Dynamic Semantics. But Theorem 22 proves this only under Non-Triviality and Constancy, and Example 23b, right below, shows Sat’i(C, F) holding without the Dynamic Semantics presupposition C ⊨ (Every P . Q).
What the change does
The sentence now states exactly what Theorems 21 and 22 prove: Sat’i is equivalent to Incremental Transparency, and to Dynamic Semantics only under Non-Triviality and Constancy. It is now consistent with Example 23b.
Anything else affected?No other change: Theorem 22 and Example 23 are already stated correctly; only this introductory sentence was too strong.
The second equivalence follows from (i), 9c and 21(ii).
Suggested replacement
The second equivalence follows from (i), 9d and 21(ii).
What the paper does, and why it fails
9c is Theorem 1, which only covers the propositional fragment. Theorem 22 is about the full language L, so the fact that Transpi(C, F) holds iff C[F] ≠ # must come from 9d (Theorem 2).
What the change does
The citation now points to the theorem that covers the quantificational language (under Non-Triviality and Constancy, which are hypotheses of Theorem 22).
Anything else affected?No other change. Note that Theorem 2 (9d) is imported from Schlenker 2007a and is not formalized in Lean, so this step of 22(ii) rests on that import.
theorem thm22_prop (I : Nat → W → Bool) (hE : Expressive I) (C : W → Prop) (F : Form) :
(SatI I C F ↔ SatI' I C F) ∧ (SatI' I C F ↔ dyn I F C ≠ none) :=
⟨lemma5_prop_i I C F hE, (thm21_prop_i I hE C F).trans (theorem1 I C F).1⟩
E10note Note: in the propositional fragment the converse of Theorem 38 also holds
Location: Theorem 38 (item 38) and Theorem 22, p. 43, 47-48 PDF p.5
Paper text
If Transpi(C, F), then Kleene-accepti(C, F) (and thus also Super-accepti(C, F)) - but in general the converse does not hold.
Suggested replacement (optional remark at the end of the statement of Theorem 38 (item 38))
(delete)
Paper text
(insert)
Suggested replacement (optional; optional remark at the end of the statement of Theorem 38 (item 38))
(In the propositional fragment the converse does hold: Transpi(C, F), Kleene-accepti(C, F), Super-accepti(C, F) and C[F] ≠ # are all equivalent there, so a counterexample to the converse needs quantifiers, as in the proof of b.)
What the paper does, and why it fails
The paper says the converse of Theorem 38 fails ‘in general’ and gives a counterexample with a quantifier, (No P . QQ’). It does not say that the converse is true for the propositional fragment, so a reader could think a propositional counterexample exists.
What the change does
No edit is needed; this is a new result (Lean: prop_fragment_collapse). The optional remark records where the non-equivalence can and cannot occur.
Anything else affected?No other change: the counterexample in 38b is quantificational and remains correct (Lean: theorem38b_39b). Also, Theorem 22 needs neither Non-Triviality nor Constancy in the propositional fragment (Lean: thm22_prop).
theorem prop_fragment_collapse (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
(TranspI I C F ↔ dyn I F C ≠ none) ∧ (KleeneAccI I C F ↔ TranspI I C F) ∧
(SuperAccI I C F ↔ TranspI I C F) := byrefine ⟨(theorem1 I C F).1, ⟨fun h => ?_, fun h => (theorem38a I C F h).1⟩,
⟨fun h => ?_, fun h => (theorem38a I C F h).2⟩⟩
· exact (transpI_iff_lcCond I C F).mpr (superAcc_lcCond I F C (lemma8_i_super I C F h))
· exact (transpI_iff_lcCond I C F).mpr (superAcc_lcCond I F C h)
theorem thm22_prop (I : Nat → W → Bool) (hE : Expressive I) (C : W → Prop) (F : Form) :
(SatI I C F ↔ SatI' I C F) ∧ (SatI' I C F ↔ dyn I F C ≠ none) :=
⟨lemma5_prop_i I C F hE, (thm21_prop_i I hE C F).trans (theorem1 I C F).1⟩
Paper textConsider the formula F = (Infinitely-many P . QQ’). We assume that there are infinitely many elements in P(w). a. QQ’ has no local context in the context set {w}.
StatementQQ' in (Infinitely-many P . QQ') has no local context in {w}
Lean statementexample23a : not (exists x, IsLC Envs C x) (W = Unit, D = Nat, Inf = infinitely many)
theorem example23a : ¬ ∃ x, LC.IsLC Envs C x := by
rintro ⟨x, hx, hmin⟩
have hx' := (tr_iff x).mp hx
-- x is infinitehave hinf : Inf (x ()) := byhave := (hx' (fun _ => true)).mpr (byintro N; exact ⟨N, Nat.le_refl _, rfl⟩)
simpa using this
obtain ⟨a, _, ha⟩ := hinf 0-- remove one elementlet y : LC.Val Unit Nat := fun _ d => x () d && decide (d ≠ a)
have hy : LC.Tr Envs C y := byrw [tr_iff]
intro γ
have h1 := hx' γ
refine Iff.trans ?_ h1
apply inf_congr_iff _ _ a
intro m hm
simp [y, hm]
have := hmin y hy () a ha
simp [y] at this
Minor typo: 23a: "(and also x <= x')" false as inclusion; harmless
Paper textConsider the formula F = (Infinitely-many P . QQ’). We assume that there are infinitely many elements in P(w). [...] b. Sat’i(C, F) (or equivalently Transpi(C, F)) need not entail that C |= (Every P . Q)
StatementSat'_i/Transp_i holds without C |= (Every P . Q)
Lean statementexample23b : Tr Envs C Qinf /\ SatP Envs C Qinf /\ not (forall d, Qinf () d = true) (Q d := d != 0)
Paper textLemma 6. Let F be any formula of L, and assume that for every expression dd’, if dd’ occurs in F, it occurs exactly once. Then for any world w, Super(F, w) = Kleene(F, w)
StatementIf each trigger occurs once, Super = Kleene
Lean statementlemma6 I F (hL : LinK symS F) w : Super I F w = Kleene I F w (propositional; hyp. = distinct trigger symbols)
/-- items 30: if each symbol occurs at most once, Super = Kleene (= standard Kleene). -/theorem lemma6 (I : Nat → W → Bool) (F : Form) (hL : LinK symS F) (w : W) :
Super I F w = Kleene I F w := byunfold Super
rw [valOpt_vk_sk I symS F hL w, theorem41]
/-- **Lemma 7**: if `Kleene(F,w) ≠ #` then `Super(F,w) = Kleene(F,w)`. -/theorem lemma7 (I : Nat → W → Bool) (F : Form) (w : W) (h : Kleene I F w ≠ none) :
Super I F w = Kleene I F w := bycases hk : Kleene I F w with
| none => exact absurd hk h
| some v =>
have h1 := (valOpt_eq_some _ _).mp hk
unfold Super
rw [valOpt_eq_some]
obtain ⟨v0, hv0⟩ := VK_nonempty I symS F w
have h0 := vk_sym_sub_tok I F w v0 hv0
have hv : v0 = v := bycases v <;> cases v0 <;> simp_allsubst hv
exact ⟨hv0, fun h' => h1.2 (vk_sym_sub_tok I F w _ h')⟩
Paper textLemma 8. For every v ∈ {i, s}, for any formula F, for any context set C ⊆ W, if Kleene-acceptv(C, F), then: (i) Super-acceptv(C, F), and (ii) for every w ∈ C, Kleene(F, w) = Super(F, w).
StatementKleene-acc_v(C,F) implies Super-acc_v(C,F) and Kleene = Super on C
/-- Lemma 8(i) (incremental) -/theorem lemma8_i_super (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
KleeneAccI I C F → SuperAccI I C F := byintro h t ht K' hK w hw
have := h t ht K' hK w hw
rw [lemma7 I _ w this]; exact this
/-- Lemma 8(i) (symmetric) -/theorem lemma8_s_super (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
KleeneAccS I C F → SuperAccS I C F := byintro h w hw
have := h w hw
rw [lemma7 I _ w this]; exact this
/-- Lemma 8(ii), incremental -/theorem lemma8_i_eq (I : Nat → W → Bool) (C : W → Prop) (F : Form) (h : KleeneAccI I C F) :
∀ w, C w → Kleene I F w = Super I F w :=
lemma8_s_eq I C F (kleeneAccI_S I C F h)
/-- Lemma 8(ii), symmetric -/theorem lemma8_s_eq (I : Nat → W → Bool) (C : W → Prop) (F : Form) (h : KleeneAccS I C F) :
∀ w, C w → Kleene I F w = Super I F w :=
fun w hw => (lemma7 I F w (h w hw)).symm
/-- `Kleene-accept_i ⇒ Kleene-accept_s` (used in the proof of Lemma 8(ii) for `v = i`). -/theorem kleeneAccI_S (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
KleeneAccI I C F → KleeneAccS I C F := byintro h w hw
have hl := superAcc_lcCond I F C (lemma8_i_super I C F h)
rw [theorem41, lemmaY I F C hl w hw]; simp
Paper textLemma 9 a. Kleene-accepti(C, F, n) iff for every underlined expression dd', for all strings α, β, if F = α dd' β and there are at most n underlined tokens in α dd', then for every good final β' which does not contain any underlined expressions, for all i, i' ∈ Ext(F#, n), for all w ∈ C, i([α dd']# β') = i'([α dd']# β').
Statementn-indexed acceptability, prefix lemmas
Lean statement--
not formalized (auxiliary machinery of the paper's inductive proofs of 36/38; our proofs of those theorems use a different route)
Why not formalized: Auxiliary machinery for the paper's inductive proofs of Theorems 36 and 38. Our Lean proofs of those theorems take a different route and do not need these lemmas, so they were not formalized.
Paper textTheorem. Incremental Kleene = Incremental Supervaluations For any formula F, for any context set C ⊆ W, a. Kleene-accepti(C, F) iff Super-accepti(C, F), and b. if Kleene-accepti(C, F), then for every world w ∈ C, Kleene(F, w) = Super(F, w).
Statement(a) Kleene-acc_i iff Super-acc_i; (b) then Kleene(F,w)=Super(F,w) on C
Lean statementtheorem36 I C F : (KleeneAccI I C F <-> SuperAccI I C F) /\ (KleeneAccI I C F -> forall w, C w -> Kleene I F w = Super I F w)
Lean: KleeneTheory.lean:349 · proven (propositional fragment; the paper's proof has a gap, E7)
theorem theorem36 (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
(KleeneAccI I C F ↔ SuperAccI I C F) ∧
(KleeneAccI I C F → ∀ w, C w → Kleene I F w = Super I F w) :=
⟨⟨lemma8_i_super I C F, fun h => lcCond_kleeneAccI I C F (superAcc_lcCond I F C h)⟩,
lemma8_i_eq I C F⟩
E7proof gap Theorem 36, proof of (a): the induction must cover all formulas and use w ∈ C
P(n): If Super-accepti(C, F, n), Kleene-accepti(C, F, n).
Suggested replacement (Theorem 36, statement of the induction hypothesis)
P(n): For every formula F, if Super-accepti(C, F, n), then Kleene-accepti(C, F, n).
Paper text
for every good finals β’ that does not contain any underlined expression, for all w ∈ W,
Suggested replacement (Theorem 36, induction step, first occurrence of ‘w ∈ W’)
for every good finals β’ that does not contain any underlined expression, for all w ∈ C,
Paper text
Since D β’ does not contain any underlined expressions, by the induction hypothesis Kleene-accepti(C, α D β’, m)
Suggested replacement (Theorem 36, induction step, application of the induction hypothesis to α D β’)
Since D β’ does not contain any underlined expressions, the underlined expressions of α D β’ are those of α, and Super-accepti(C, α D β’, m) holds because Super-accepti(C, F, m) only constrains the material up to each of these expressions and arbitrary good finals; so by the induction hypothesis, applied to the formula α D β’, Kleene-accepti(C, α D β’, m)
Paper text
for every good final β’ that does not contain any underlined material, for all i’ such that I** ∠ i’, for all w ∈ W,
Suggested replacement (Theorem 36, induction step, last occurrence of ‘w ∈ W’)
for every good final β’ that does not contain any underlined material, for all i’ such that I** ∠ i’, for all w ∈ C,
What the paper does, and why it fails
P(n) is stated for the fixed formula F, but the induction step applies the hypothesis to a different formula, α D β’, and never shows that α D β’ is super-acceptable up to m (Lemma 10a gives this only for α dd’ β’). Also ‘for all w ∈ W’ should be ‘w ∈ C’: acceptability is only required on the worlds of C.
What the change does
P(n) is now stated for every formula, so it can be applied to α D β’, and the missing super-acceptability of α D β’ is spelled out. Quantification over worlds is restricted to C as in the definitions of acceptability.
Anything else affected?No other change: Theorem 36 is true for the propositional fragment (proved in Lean by a different route: superAcc_lcCond, lcCond_kleeneAccI); Theorem 38 and Lemma 11 do not use this proof. The quantificational case is not formalized.
Judgment call: the wording of this replacement is ours and not checked in Lean. The added justification for Super-accepti(C, α D β’, m) is our reconstruction of the paper’s route; Lean proves the theorem by another route, so this exact repair is not machine-checked.
theorem theorem36 (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
(KleeneAccI I C F ↔ SuperAccI I C F) ∧
(KleeneAccI I C F → ∀ w, C w → Kleene I F w = Super I F w) :=
⟨⟨lemma8_i_super I C F, fun h => lcCond_kleeneAccI I C F (superAcc_lcCond I F C h)⟩,
lemma8_i_eq I C F⟩
/-- **Converse direction**: super-acceptability forces the local-context condition. -/theorem superAcc_lcCond (I : Nat → W → Bool) : ∀ (F : Form) (C : W → Prop), SuperAccI I C F →
LcCond I C F := byintro F
induction F with
| atom a => intro C _ t ht; simp [occs] at ht
| trig a b k =>
intro C h t ht w hw
simp [occs] at ht; subst ht
have := h ([], a, b, k) (bysimp [occs]) [] F2.nil w hw
simp only [plug] at this
exact (super_trig_ne I a b k w).mp this
| neg F ih =>
intro C h
rw [lcCond_neg]
apply ih
...
theorem lcCond_kleeneAccI (I : Nat → W → Bool) (C : W → Prop) (F : Form) (h : LcCond I C F) :
KleeneAccI I C F := byintro t ht K' hK w hw
rw [theorem41]
exact lcCond_sk_acc I F C h t ht K' hK w hw
Not stated in the paper as such — related passage (the paper states that the converse fails in general; the result below shows it holds in the propositional fragment)
Related passage in the paper38. Theorem: Incremental Transparency predicts stronger presuppositions than Incremental Kleene and Incremental Supervaluations. If Transpi(C, F), then Kleene-accepti(C, F) (and thus also Super-accepti(C, F)) - but in general the converse does not hold.
StatementIn the propositional fragment all incremental notions coincide
theorem prop_fragment_collapse (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
(TranspI I C F ↔ dyn I F C ≠ none) ∧ (KleeneAccI I C F ↔ TranspI I C F) ∧
(SuperAccI I C F ↔ TranspI I C F) := byrefine ⟨(theorem1 I C F).1, ⟨fun h => ?_, fun h => (theorem38a I C F h).1⟩,
⟨fun h => ?_, fun h => (theorem38a I C F h).2⟩⟩
· exact (transpI_iff_lcCond I C F).mpr (superAcc_lcCond I F C (lemma8_i_super I C F h))
· exact (transpI_iff_lcCond I C F).mpr (superAcc_lcCond I F C h)
E10note Note: in the propositional fragment the converse of Theorem 38 also holds (details above)
Paper textLemma 11 If Kleene-accepts(C, F), then Super-accepts(C, F), but in general the converse is not true.
StatementKleene-acc_s implies Super-acc_s; converse fails for (pp' or (not pp')) if p not a tautology
Lean statementlemma8_s_super; lemma11_super : SuperAccS I C (exF a b) (every C); lemma11_not_kleene (hw : C w) (hp : I a w = false) : not KleeneAccS I C (exF a b)
/-- Lemma 8(i) (symmetric) -/theorem lemma8_s_super (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
KleeneAccS I C F → SuperAccS I C F := byintro h w hw
have := h w hw
rw [lemma7 I _ w this]; exact this
/-- Lemma 11, positive half: `(pp' or not pp')` is symmetrically super-acceptable everywhere. -/theorem lemma11_super (I : Nat → W → Bool) (a b : Nat) (C : W → Prop) :
SuperAccS I C (exF a b) := byintro w _
have : Super I (exF a b) w = some true := byrw [super_eq_some_iff]
intro ρ _
simp only [exF, evK, Bop.eval]
cases ρ (symS.κ a b 0) w <;> rflrw [this]; simp
/-- Lemma 11, negative half: if `p` is false somewhere in `C` it is not Kleene-acceptable. -/theorem lemma11_not_kleene (I : Nat → W → Bool) (a b : Nat) (C : W → Prop) (w : W)
(hw : C w) (hp : I a w = false) : ¬ KleeneAccS I C (exF a b) := byintro h
have := h w hw
rw [theorem41] at this
simp [exF, sk, hp, skop] at this
Paper textTheorem: Incremental Transparency predicts stronger presuppositions than Incremental Kleene and Incremental Supervaluations. If Transpi(C, F), then Kleene-accepti(C, F) (and thus also Super-accepti(C, F)) - but in general the converse does not hold.
StatementTransp_i(C,F) implies Kleene-acc_i(C,F) and Super-acc_i
Lean statementtheorem38a I C F : TranspI I C F -> KleeneAccI I C F /\ SuperAccI I C F
Lean: KleeneTheory.lean:356 · proven (propositional); predicative triggers/quantifiers not formalized
/-- **Theorem 38a** (propositional fragment): `Transp_i ⇒ Kleene-accept_i` (and Super-accept_i). -/theorem theorem38a (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
TranspI I C F → KleeneAccI I C F ∧ SuperAccI I C F := byintro h
have h1 := lcCond_kleeneAccI I C F ((transpI_iff_lcCond I C F).mp h)
exact ⟨h1, lemma8_i_super I C F h1⟩
Minor typo: typos/gaps in proof of 38a (D vs D', g indices, two wrong formulas)
E8proof gap Theorem 38a, proof: D’ is used but D is defined; g0/g1/g2 mixed up; two wrong formulas in Case 2
Suggested replacement (Theorem 38a, definitions before Step 1)
D’ = {i’(dd’^(m+1))(w): i’ ∈ Ext(F#, m+1)}
Paper text
it is clear that I**(d and g1)(w) = I**(d and g2)(w) = 0 = I**(d and d’)(w)
Suggested replacement (Theorem 38a, Step 1, Case 1, second bullet)
it is clear that I**(d and g0)(w) = I**(d and g1)(w) = 0 = I**(d and d’)(w)
Paper text
I**(g)(w)(x) = i’(dd’^(m+1))(w)(x) if I**(d’)(w)(x) = 0.
Suggested replacement (Theorem 38a, Step 1, Case 2, the choice of g)
I**(g)(w)(x) = i’(dd’^(m+1))(w)(x) if I**(d)(w)(x) = 0.
Paper text
It is clear that I**(g)(w) = i’(d)(w), and furthermore
Suggested replacement (Theorem 38a, Step 1, Case 2, first claim about g)
It is clear that I**(g)(w) = i’(dd’^(m+1))(w), and furthermore
Paper text
which is identical to i’(d)(w), belongs to G’.
Suggested replacement (Theorem 38a, Step 1, Case 2, last sentence)
which is identical to i’(dd’^(m+1))(w), belongs to G’.
What the paper does, and why it fails
The proof defines a set called D but then proves ‘D’ ⊆ G’; in Case 1 the two chosen expressions are called g0, g1 and then g1, g2; and in Case 2 the value of the extension of dd’ is written i’(d)(w) (the extension of d alone) and one condition mentions I(d’) where it should mention I(d).
What the change does
The set is named consistently, the two expressions are g0 and g1 throughout, and Case 2 states that I**(g)(w) equals the extension i’(dd’^(m+1))(w), which is what is needed to conclude that this value is in G’.
Anything else affected?No other change: the statement of Theorem 38a is unaffected (it is proved in Lean for the propositional fragment as theorem38a; the predicative case is not formalized).
Text note: In the paper dd’^(m+1) is written with the underlined trigger dd’ and the index m+1 as a superscript; here ‘^(m+1)’ marks the superscript and underlining is not reproduced.
/-- **Theorem 38a** (propositional fragment): `Transp_i ⇒ Kleene-accept_i` (and Super-accept_i). -/theorem theorem38a (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
TranspI I C F → KleeneAccI I C F ∧ SuperAccI I C F := byintro h
have h1 := lcCond_kleeneAccI I C F ((transpI_iff_lcCond I C F).mp h)
exact ⟨h1, lemma8_i_super I C F h1⟩
E10note Note: in the propositional fragment the converse of Theorem 38 also holds (details above)
Paper textb. To show that Kleene-accepti(C, F) need not entail that Transpi(C, F), we consider the formula and the situation in (ii): (ii) a. (No P . QQ’) b. C = {w}, and there are two P-individuals d1 and d2 in w: d1 does not satisfy Q, but d2 does, and d2 also satisfies Q’.
StatementConverse fails: (No P . QQ'), C={w}, d1 not Q, d2 Q and Q'
Lean statementtheorem38b_39b : Det (VP P2 Q2 Q2') /\ not transNo P2 Q2 /\ not dynDefined P2 Q2 (also ex_value_false : valOpt (VP P2 Q2 Q2') = some false; general characterisation kleeneNo_iff)
theorem kleeneNo_iff {n : Nat} (P Q Q' : Pred n) :
Det (VP P Q Q') ↔ (∃ d, P d = true ∧ Q d = true ∧ Q' d = true) ∨ dynDefined P Q := byunfold Det
constructor
· intro h
refine Classical.byContradiction (fun hne => ?_)
have h1 : ¬ ∃ d, P d = true ∧ Q d = true ∧ Q' d = true := fun h' => hne (Or.inl h')
have h2 : ¬ dynDefined P Q := fun h' => hne (Or.inr h')
obtain ⟨d1, hd1P, hd1Q⟩ : ∃ d, P d = true ∧ Q d = false := byrefine Classical.byContradiction (fun hh => h2 (fun d hP => ?_))
by_cases hq : Q d = true
· exact hq
· exact absurd ⟨d, hP, by simpa using hq⟩ hh
have t : VP P Q Q' true := byrefine ⟨fun d => Q d && Q' d, fun d hq => bysimp [hq], ?_⟩
rw [quantNo_iff]; intro d ⟨hp, hq⟩
simpat hq; exact h1 ⟨d, hp, hq.1, hq.2⟩
have f : VP P Q Q' false := byrefine ⟨fun d => if Q d then Q' d else true, fun d hq => bysimp [hq], ?_⟩
have : ¬ quant fNo P (fun d => if Q d then Q' d else true) = true := byrw [quantNo_iff]; intro hh; apply hh d1; simp [hd1P, hd1Q]
simpa using this
rcases h with ⟨_, h⟩ | ⟨_, h⟩
· exact h f
...
Minor typo: 38b: "(35)" is a main-text item, not appendix Lemma 10
Paper text (symbols restored from the PDF)a. Sometimes Symmetric Kleene and Symmetric Supervaluations predict stronger presuppositions than Symmetric Transparency. [...] (i) a. (pp’ and qq’) b. C = {w1, w2}, w1 ⊭ p, w1 ⊭ q, w2 |= p and w2 |= q
Statement(pp' and qq'), C={w1,w2}: sym. Transp holds, sym. Kleene and Super fail
Paper textb. Sometimes Symmetric Transparency predicts stronger presuppositions than Symmetric Kleene and Symmetric Supervaluations. [...] b. The example is the same as in 38 b (in this case there is no difference between incremental and symmetric notions, because the presupposition trigger appears at the end of the formula).
Statement(No P . QQ') same model: sym. Kleene/Super hold, sym. Transp fails
Lean statementtheorem38b_39b (trigger last, so incremental = symmetric)
Paper textTheorem. Equivalence between the two definitions of Strong Kleene in the propositional case. If F belongs to the propositional fragment of 1, Standard-Kleene(F, w) = Kleene(F, w)
theorem theorem41 (I : Nat → W → Bool) (F : Form) (w : W) : Kleene I F w = sk I F w := byunfold Kleene
rw [valOpt_vk_sk I tokS _ (linK_numF F 0) w, sk_numF]
Minor typo: typo in 41, Case 3(b): j'/At(H) should be j''
In the propositional fragment, symmetric Kleene-acceptability implies symmetric Transparency
Statement to add (After Theorem 39 (item 39, p. 48-49) as a remark/corollary, or as a companion of Theorem 38(a) for the symmetric versions.)
Proposition. For every F of the propositional fragment and every context set C: if Kleene-acc_s(C,F) then Transp_s(C,F). Hence, together with Theorem 38(a), Transp_i ⇒ Kleene-acc_i ⇒ Kleene-acc_s ⇒ Transp_s; and Theorem 39(b) (Kleene-acc_s without Transp_s) needs quantifiers, while Theorem 39(a) shows Transp_s ⇏ Kleene-acc_s already for (pp' and qq').
Why it is useful
Completes the comparison of Theorems 38/39 for the symmetric theories: one direction always holds in the propositional fragment, so the second direction of 39(b) genuinely depends on quantificational triggers.
Proof idea
If Kleene(F,w) is defined for w in C and the trigger p is false at w, the trigger is # there, so some sibling on the path to the root must be absorbing (false for 'and', true for 'or', false antecedent or true consequent for 'if'); then the context is constant in the hole and (p and γ) and γ have the same value at w. If p is true at w the two are trivially equal. The absorbing sibling's classical value equals its defined Kleene value.
FidelityPropositional fragment only (as the rest of the formalization); Kleene = standard Strong Kleene via Theorem 41. Transp_s is the 'actual good final' version of item 8. Brute-force on 2 and 3 worlds agreed before proving.
/-- **A1.** Propositional fragment: `Kleene-acc_s(C,F)` implies `Transp_s(C,F)`. -/theorem kleeneAccS_transpS (I : Nat → W → Bool) (C : W → Prop) (F : Form) :
KleeneAccS I C F → TranspS I C F := byintro h t ht γ w hw
have hF := occs_plug F t ht
have hk := h w hw
rw [theorem41, ← hF] at hk
rw [ev_plug, ev_plug]
by_cases ha : I t.2.1 w = true
· simp [ev, ha, Bop.eval]
· have hs : sk I (.trig t.2.1 t.2.2.1 t.2.2.2) w = none := bysimp [sk, ha]
exact sk_plug_const I w _ hs t.1 hk _ _
theorem sk_plug_const (I : Nat → W → Bool) (w : W) (X : Form) (hX : sk I X w = none) :
∀ K : List Frame, sk I (plug K X) w ≠ none → ∀ b1 b2, applyK I w K b1 = applyK I w K b2 := byintro K
induction K with
| nil => intro h; simp [plug, hX] at h
| cons f K ih =>
intro h b1 b2
cases hY : sk I (plug K X) w with
| some v =>
have := ih (bysimp [hY]) b1 b2
simp only [applyK, this]
| none =>
cases f with
| neg => simp [plug, Frame.fill, sk, hY] at h
| left o G =>
simp only [plug, Frame.fill, sk, hY] at h
...
/-- a defined standard-Kleene value is the classical value -/theorem sk_ev (I : Nat → W → Bool) (w : W) : ∀ (G : Form) (e : Bool), sk I G w = some e →
ev I G w = e := byintro G
induction G with
| atom a => intro e h; simp [sk] at h; simp [ev, h]
| trig a b k =>
intro e h
by_cases ha : I a w = true
· simp [sk, ha] at h; simp [ev, ha, h]
· simp [sk, ha] at h
| neg F ih =>
intro e h
cases hF : sk I F w with
| none => simp [sk, hF] at h
| some b =>
...
A2suggested new result
A propositional sentence that is symmetrically Super-acceptable but not symmetrically Transparent
Statement to add (After Lemma 11 (item 37, p. 47) as a second half of its example, and in the discussion of Theorem 39(b) as a propositional way to separate Super-acc_s from Transp_s.)
Proposition. Let p be false at some world w of C. Then (pp' or (not pp')) is Super-acc_s in C (Lemma 11) but not Transp_s in C: for the second occurrence, (pp' or (not (p and γ))) and (pp' or (not γ)) differ at w for γ a tautology.
Why it is useful
With A1 it shows the symmetric Super and Kleene theories differ in their relation to Transparency: Kleene-acc_s implies Transp_s, Super-acc_s does not, so Theorem 39(b) can be witnessed for Super without quantifiers.
Proof idea
Super-acc_s is Lemma 11. For failure, take the occurrence of pp' inside the negation, right of 'or', and γ = a tautology: at w where p is false, (p and γ) is false so the negation is true, whereas ¬γ is false and the left disjunct pp' is false, so the two disjunctions differ.
FidelityPropositional fragment, one witnessing sentence; uses the paper's own example from Lemma 11.
theorem exF_superAccS_not_transpS (I : Nat → W → Bool) (a b : Nat) (C : W → Prop) (w : W)
(hw : C w) (hp : I a w = false) : SuperAccS I C (exF a b) ∧ ¬ TranspS I C (exF a b) := byrefine ⟨lemma11_super I a b C, fun h => ?_⟩
have := h ([Frame.right .or (.trig a b 0), Frame.neg], a, b, 0)
(bysimp [exF, occs]) Form.tt w hw
simp [plug, Frame.fill, ev, ev_tt, hp, Bop.eval] at this
A3suggested new result
Minimal separation of incremental from symmetric theories: (pp' and p)
Statement to add (After Theorem 20 (item 20, p. 43) as a remark on strictness, or after Theorem 38 (item 38, p. 47-48) in the summary of the relations between the theories.)
Proposition. If p is false at some world of C, then (pp' and p) satisfies Kleene-acc_s, Super-acc_s and Transp_s in C but none of Transp_i, Kleene-acc_i, Super-acc_i (Dynamic Semantics also gives C[(pp' and p)] = #). So the inclusions of Theorem 20 (Transp_i ⊆ Transp_s, Sat_i ⇒ Sat_s) and Lemma 8 are strict already in the propositional fragment.
Why it is useful
Gives the shortest countermodel to the natural conjecture that symmetric and incremental versions coincide, and it is one line, with no quantifiers or two-world model needed.
Proof idea
At a world where p is false, pp' is # but the conjunct p is false, so the conjunction is false: Kleene-defined, hence Super-defined and (by A1) symmetrically transparent. Incrementally, the good final may be replaced by a true sibling: (pp' and true) then depends on p, so Transp_i fails; by the propositional collapse Kleene-acc_i and Super-acc_i fail too.
FidelityPropositional fragment; uses prop_fragment_collapse and A1 (kleeneAccS_transpS). The paper's item 23/39 contain other separating examples, this one is the simplest unconditional propositional one.
theorem andP_separation (I : Nat → W → Bool) (a b : Nat) (C : W → Prop) (w : W)
(hw : C w) (hp : I a w = false) :
(KleeneAccS I C (andP a b) ∧ SuperAccS I C (andP a b) ∧ TranspS I C (andP a b)) ∧
(¬ TranspI I C (andP a b) ∧ ¬ KleeneAccI I C (andP a b) ∧ ¬ SuperAccI I C (andP a b)) := byhave hK : KleeneAccS I C (andP a b) := byintro v _
rw [theorem41]
by_cases ha : I a v = true
· cases hb : I b v <;> simp [andP, sk, ha, hb, skop]
· simp [andP, sk, ha, skop]
have hT : ¬ TranspI I C (andP a b) := byintro h
have := h ([Frame.left .and (.atom a)], a, b, 0) (bysimp [andP, occs])
[Frame.left .and Form.tt] (F2.cons (bysimp [Frame.same]) F2.nil) Form.tt w hw
simp [plug, Frame.fill, ev, ev_tt, hp, Bop.eval] at this
refine ⟨⟨hK, lemma8_s_super I C _ hK, kleeneAccS_transpS I C _ hK⟩, hT, ?_, ?_⟩
...