Documentation

Linglib.Studies.Heim1982.Basic

Heim (1982): File Change Semantics and Anaphora #

[Hei82]

Formal analysis of cross-sentential anaphora using [Hei82]'s File Change Semantics. This study file connects the FCS theory (Semantics/Dynamic/FileChange.lean) to the example rows in Data/Examples/Heim1982.json (Heim1982.Examples).

Key Claims Formalized #

  1. Indefinites introduce discourse referents (new file cards): "A man walked in" opens a new dref that persists across sentences.

  2. Negation blocks dref export: "John didn't see a bird" confines the bird's dref to the scope of negation — it doesn't persist.

  3. Conjunction is sequential update: "A man walked in. He sat down." = F + [∃x. man(x) ∧ walkedIn(x)] + [satDown(x)].

  4. Novelty-Familiarity Condition: indefinites require novel indices; definites require familiar ones. Violations are presupposition failure (undefinedness), not falsehood.

  5. Truth criterion (C): φ is true w.r.t. F iff Sat(F + φ) is nonempty ([Hei82], Ch III §3.2). This builds existential quantification into the notion of truth — see FCP.trueIn, FCP.supports_trueIn, FCP.supports_idempotent, and the eliminativity family (Principle (A)) in Semantics/Dynamic/FileChange.lean.

Connection to Empirical Data #

Each section below derives FCS predictions that account for specific example rows in Heim1982.Examples.

We work with a simple model: W = possible worlds, E = entities. Predicates are modeled as functions on possibilities. Heim's file cards are numbered, so referents are .

"A man walked in. He sat down."

This accounts for Examples.indefinite_persists. The FCS analysis: the indefinite "a man" introduces dref x₁ into Dom(F). The pronoun "he" in the second sentence accesses x₁, which persists because no operator (negation, quantifier) has closed x₁'s scope.

The discourse is modeled as: F + [∃x₁. man(x₁) ∧ walkedIn(x₁)] + [satDown(x₁)] where ∃x₁ extends Dom(F) to include x₁.

def Heim1982.aManWalkedIn {W : Type u_1} {E : Type u_2} (man walkedIn : EProp) (x : ) :

The indefinite "a man walked in" as an FCP: ∃x. man(x) ∧ walkedIn(x).

Equations
Instances For
    def Heim1982.heSatDown {W : Type u_1} {E : Type u_2} (satDown : EProp) (x : ) :

    "He sat down" as an FCP: satDown(x).

    Equations
    Instances For
      def Heim1982.indefinitePersistsDiscourse {W : Type u_1} {E : Type u_2} (man walkedIn satDown : EProp) (x : ) :

      The full discourse "A man walked in. He sat down."

      Equations
      Instances For
        theorem Heim1982.indef_defined_when_novel {W : Type u_1} {E : Type u_2} (x : ) (F : DynamicSemantics.State W E) (hnovel : pF, ¬(p.assignment x).Dom) (body : DynamicSemantics.FCP W E) (hbody : (body (F.randomAssign x)).Dom) :

        When x is novel, the indefinite FCP is defined (not a presupposition failure) — provided the body is defined on the randomly assigned file.

        theorem Heim1982.indef_adds_to_dom {W : Type u_1} {E : Type u_2} (x : ) (body : DynamicSemantics.FCP W E) (F : DynamicSemantics.State W E) {F' : DynamicSemantics.State W E} (hres : F' DynamicSemantics.FCP.indef x body F) (hbody : ∀ (G : DynamicSemantics.State W E), G.Familiar xG'body G, DynamicSemantics.State.Familiar G' x) :

        After the indefinite, x is familiar — provided the body preserves familiarity.

        This is the formal content of "indefinites introduce discourse referents" — the defining claim of [Hei82].

        "John didn't see a bird. *It was singing."

        This accounts for Examples.standard_negation_blocks. The FCS analysis: negation closes the scope of the indefinite's dref. After F + [¬(∃x. bird(x) ∧ saw(j,x))], x is NOT familiar — negation keeps points of the input file, where x was never assigned.

        theorem Heim1982.neg_blocks_dref {W : Type u_1} {E : Type u_2} (x : ) (φ : DynamicSemantics.FCP W E) {F F' : DynamicSemantics.State W E} (hnovel : pF, ¬(p.assignment x).Dom) (h : F' φ.neg F) (p : DynamicSemantics.Possibility W (Part E)) :
        p F'¬(p.assignment x).Dom

        A variable introduced inside negation stays novel in the output.

        Negation is eliminative over the input file (FCP.neg_eliminative), so a novel variable stays novel after negation — the dref is trapped inside the scope of ¬.

        The Novelty-Familiarity Condition is [Hei82]'s formalization of the indefinite/definite contrast (Ch III §2.2, p. 202):

        Violations cause undefinedness (presupposition failure), not falsehood. This is modeled by FCPs being Part-undefined.

        theorem Heim1982.novelty_violation {W : Type u_1} {E : Type u_2} (x : ) (body : DynamicSemantics.FCP W E) (F : DynamicSemantics.State W E) (hne : Set.Nonempty F) (h : F.Familiar x) :

        An indefinite with a familiar index causes presupposition failure.

        This accounts for why "*A man₁ walked in. A man₁ sat down." is infelicitous when the second indefinite reuses index 1.

        theorem Heim1982.familiarity_violation {W : Type u_1} {E : Type u_2} (x : ) (body : DynamicSemantics.FCP W E) (F : DynamicSemantics.State W E) (h : ¬F.Familiar x) :

        A definite with a novel index causes presupposition failure.

        This accounts for why "#He₁ sat down." is infelicitous at the start of a discourse (when no index 1 dref has been established).

        theorem Heim1982.def_familiar {W : Type u_1} {E : Type u_2} (x : ) (body : DynamicSemantics.FCP W E) (F : DynamicSemantics.State W E) (hfam : F.Familiar x) :
        DynamicSemantics.FCP.def_ x body F = body F

        On a file where x is familiar, the definite applies transparently.

        With indef_adds_to_dom, this derives "A man₁ walked in. He₁ sat down.": the indefinite makes index 1 familiar, so the definite "he₁" is no presupposition failure.

        We instantiate the FCS framework with a concrete finite model to verify the theory matches the empirical data in Heim1982.Examples.

        A simple model world type.

        Instances For
          @[instance_reducible]
          Equations
          @[instance_reducible]
          Equations
          def Heim1982.instReprExWorld.repr :
          ExWorldStd.Format
          Equations
          Instances For

            A simple entity type.

            Instances For
              @[instance_reducible]
              Equations
              @[instance_reducible]
              Equations
              def Heim1982.instReprExEntity.repr :
              ExEntityStd.Format
              Equations
              Instances For

                Starting file: no discourse referents, all worlds open — the minimal state.

                Equations
                Instances For

                  Each row in Heim1982.Examples corresponds to a structural property of FCS. The per-row theorems below check the row's recorded judgment against the FCS prediction derived above.

                  Indefinite persistence is judged acceptable; FCS predicts this via indef_adds_to_dom (the indefinite makes its index familiar and nothing closes it).

                  Single negation blocks; FCS predicts this via neg_blocks_dref (negation keeps only input-file points).

                  Definite reference is acceptable; FCS predicts this via def_familiar (the established dref satisfies familiarity).

                  If-clause indefinites don't persist; FCS predicts this via the conditional's negation encoding (¬(φ ∧ ¬ψ)) and neg_blocks_dref.