File Change Semantics #
@cite{heim-1982} @cite{heim-1983}
Heim's File Change Semantics, the pioneering dynamic semantic framework that treats sentence meanings as context change potentials (FCPs) operating on files — structured information states tracking which discourse referents are active.
Heim's File Metaphor (Ch III) #
A file F = ⟨Dom(F), Sat(F)⟩ is a pair:
Dom(F): a set of variable indices — the "file cards" currently openSat(F): a set of ⟨world, assignment⟩ sequences satisfying the file
Sentences denote file change potentials: partial functions from files to files. Partiality is essential — it models presupposition as definedness:
- Novelty: indefinites require their index NOT in Dom(F)
- Familiarity: definites require their index IN Dom(F)
When a precondition fails, the FCP is undefined, not empty.
FCP Rules (@cite{heim-1982}, Ch III §2.1) #
| Connective | FCP |
|---|---|
| Atomic P(x₁,...,xₙ) | Filter Sat(F) by the predicate |
| φ ∧ ψ | (F + φ) + ψ (sequential update) |
| ¬φ | {s ∈ Sat(F) | s ∉ Sat(F + φ)} |
| if φ then ψ | F + ¬(φ ∧ ¬ψ) |
| ∃x.φ (indefinite) | Extend Dom by x, widen Sat, then update with φ |
Design note on atomic domain expansion. @cite{heim-1982}'s rule (i'')
specifies that atomic updates expand the domain: Dom(F + φ) = Dom(F) ∪
{i₁,...,iₙ}. We follow the modern convention (shared by DRT and DPL) where
domain expansion is handled solely by the indefinite operator (indef),
and atomic predicates preserve the domain. This simplifies the algebra
without affecting truth conditions, since in practice every variable
mentioned in an atomic predicate has already been introduced by an
indefinite or a definite.
Truth (@cite{heim-1982}, Ch III §3.2, criterion (C)) #
φ is true w.r.t. F iff F + φ is defined and Sat(F + φ) is nonempty. This is not idempotency — it is a weaker condition that builds existential quantification into the notion of truth itself.
Relation to Core Infrastructure #
| This Module | Semantics.Dynamic.Core |
|---|---|
HeimFile | Context W E (enriched with dom/sat structure) |
FCP (partial) | CCP (total) |
| novelty guard | InfoState.novelAt |
| familiarity guard | InfoState.definedAt |
A Heim File: ⟨Dom(F), Sat(F)⟩.
Dom(F) is the set of discourse referent indices currently active.
Sat(F) is the set of ⟨world, assignment⟩ possibilities satisfying
the file's conditions.
This captures formal definition of a file as a structured pair, not merely a flat set of possibilities. The domain tracks which variables carry information — the key structural innovation over bare info states.
Domain: the set of active discourse referent indices.
- sat : Core.InfoState W E
Satisfaction set: possibilities consistent with the file.
Instances For
A File Change Potential: a partial function from files to files.
central semantic type. Partiality (modeled via
Option) captures presupposition-as-definedness: when a novelty or
familiarity precondition fails, the FCP returns none rather than
an empty file.
Equations
Instances For
Variable x is NOVEL in file F iff x ∉ Dom(F).
Novelty Condition: an indefinite NP with index x is felicitous only if x has not yet been used.
Instances For
Variable x is FAMILIAR in file F iff x ∈ Dom(F).
Familiarity Condition: a definite NP with index x is felicitous only if x is already in the domain.
Instances For
A file is consistent (non-absurd) iff its satisfaction set is non-empty.
File truth in (Ch III §1.2): "F is true iff there is at least one sequence a_N such that a_N ∈ Sat(F)."
Equations
- F.consistent = Set.Nonempty F.sat
Instances For
Card i in F refers to entity x iff every satisfying sequence assigns x to position i.
(Ch III §2.3, p. 207): "Card i in F refers to x iff, for all a_N ∈ Sat(F), a_i = x."
Equations
- F.refersTo i x = ∀ (p : Semantics.Dynamic.Core.Possibility W E), p ∈ F.sat → p.assignment i = x
Instances For
Project to the underlying InfoState.
Equations
- F.toInfoState = F.sat
Instances For
Build a HeimFile from a Context.
Equations
- Semantics.Dynamic.FileChangeSemantics.HeimFile.ofContext c = { dom := c.definedVars, sat := c.state }
Instances For
Atomic predicate update: filter satisfaction set by predicate.
F + [P(x₁,...,xₙ)] = ⟨Dom(F), {s ∈ Sat(F) | P holds of s}⟩
Domain is unchanged; only the satisfaction set shrinks.
Note: rule (i'') on p. 198 specifies that atomic
updates also expand the domain: Dom(F + φ) = Dom(F) ∪ {i₁,...,iₙ}.
We follow the modern convention where domain expansion is handled
by indef only. This is equivalent in practice because every variable
in an atomic predicate has been previously introduced.
Equations
Instances For
Atomic predicate on world only.
Equations
Instances For
Atomic predicate on assignment at variable x.
Equations
- Semantics.Dynamic.FileChangeSemantics.FCP.atomVar pred x = Semantics.Dynamic.FileChangeSemantics.FCP.atom fun (p : Semantics.Dynamic.Core.Possibility W E) => pred (p.assignment x)
Instances For
Sequential composition (conjunction): F + [φ ∧ ψ] = (F + φ) + ψ.
successive file change. If either step is undefined (presupposition failure), the whole is undefined.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Negation: F + [¬φ] = ⟨Dom(F), {s ∈ Sat(F) | s ∉ Sat(F + φ)}⟩.
per-element negation: keep assignments from Sat(F) that do NOT survive the update with φ. The domain is preserved — negation is a test that doesn't introduce new drefs.
If φ is undefined on F (presupposition failure in the scope of negation), the negation is also undefined.
Equations
Instances For
Conditional: F + [if φ then ψ] = F + [¬(φ ∧ ¬ψ)].
analysis of conditionals as negated conjunctions of the antecedent with the negated consequent.
Instances For
Indefinite introduction: F + [∃x.φ].
Defined only if x is NOVEL in F (the Novelty Condition). When defined:
- Extend Dom(F) by x
- Widen Sat(F) to all re-assignments of x (random assignment)
- Update with the body φ
This is Heim's key innovation: indefinites don't quantify, they change the file structure by opening a new file card.
Equations
Instances For
Definite reference: F + [the x. φ].
Defined only if x is FAMILIAR in F (the Familiarity Condition). When defined, updates with the body φ without changing the domain structure — the dref is already established.
familiarity theory of definiteness.
Equations
Instances For
Identity FCP: no change.
Equations
Instances For
Absurd FCP: always undefined (total presupposition failure).
Equations
Instances For
φ is true w.r.t. F iff F + φ is defined and the result is a consistent (true) file.
This is truth criterion (C) (Ch III §3.2, p. 214): "A formula φ is true w.r.t. a file F if F + φ is true" — where a file is true iff Sat(F) ≠ ∅. Existential quantification is built into the notion of truth itself: indefinites need not be explicitly bound by ∃.
Equations
- Semantics.Dynamic.FileChangeSemantics.trueIn F φ = ∃ (F' : Semantics.Dynamic.FileChangeSemantics.HeimFile W E), φ F = some F' ∧ F'.consistent
Instances For
φ is false w.r.t. F iff F + φ is defined but the result is an inconsistent (absurd) file.
criterion (C): "false w.r.t. F if F + φ is false."
Equations
- Semantics.Dynamic.FileChangeSemantics.falseIn F φ = ∃ (F' : Semantics.Dynamic.FileChangeSemantics.HeimFile W E), φ F = some F' ∧ ¬F'.consistent
Instances For
F supports φ iff F + φ = F (idempotency of update).
This is the dynamic notion of entailment/support: F already "knows" φ iff updating with φ changes nothing. This is stronger than truth — support implies truth (when F is consistent) but not vice versa.
Note: this is sometimes called "truth as idempotency" in the update
semantics literature (@cite{veltman-1996}), but it is NOT
truth definition, which is the weaker trueIn.
Equations
- Semantics.Dynamic.FileChangeSemantics.supports F φ = (φ F = some F)
Instances For
F entails φ iff F supports φ (F + φ = F).
Equations
Instances For
φ semantically entails ψ iff for all files F, if F + φ is defined then F + φ supports ψ.
Equations
- Semantics.Dynamic.FileChangeSemantics.fcpEntails φ ψ = ∀ (F F' : Semantics.Dynamic.FileChangeSemantics.HeimFile W E), φ F = some F' → Semantics.Dynamic.FileChangeSemantics.supports F' ψ
Instances For
φ is defined on F (the update doesn't trigger presupposition failure).
Equations
Instances For
Support implies truth for consistent files.
Atomic updates preserve the domain.
Atomic update is eliminative: Sat(F + P) ⊆ Sat(F).
This is Principle (A): information only grows (possibilities only decrease).
Sequential composition of eliminative FCPs is eliminative.
Domain monotonicity for definite updates: when the body preserves the domain, so does the definite FCP.
Lift a total CCP to a (total) FCP that preserves domain.
Instances For
Lifted CCPs are always defined (total).
Extract the satisfaction set from the result of an FCP.
Equations
- Semantics.Dynamic.FileChangeSemantics.resultSat φ F = Option.map (fun (x : Semantics.Dynamic.FileChangeSemantics.HeimFile W E) => x.sat) (φ F)
Instances For
Lift a DRS (relational meaning) to an FCP via the relational image.
This connects FCPs to the relational algebra
in Core.DynProp. The resulting FCP preserves domain and is always
defined (total).
Equations
Instances For
liftDRS preserves sequential composition: lifting a relational
sequence equals sequencing lifted FCPs.
This shows the FCS algebra homomorphically embeds the DynProp algebra — the unification underlying @cite{muskens-1996}.
Atomic FCP equals lifting a test from DynProp.
FCS's atom pred = lifting DynProp.test (λ p => pred p). This
shows atomic FCPs are exactly the relational tests, connecting
Principle (A) to the DynProp algebra.