Semantic unification as sheaf gluing #
Abramsky and Sadrzadeh model basic Discourse Representation Structures as a presheaf on a
category of contexts — a finite vocabulary of relation symbols with a finite set of variables —
and read anaphora resolution as sheaf gluing: the local theories of the parts of a discourse glue
along a cover (the choice of which discourse referents to identify) exactly when some global theory
restricts to each of them. The presheaf is DRT.presheaf, covers and gluing are DRT.Cover and
DRT.Cover.IsGluing, and the paper's reading of a cover as DRT's merge followed by unification of
referents is DRT.Cover.coe_conditions_toDRS_glue.
The paper's Proposition 1 says gluings are unique when they exist, its proof building the candidate
DRT.Cover.pushforward. Uniqueness holds when every literal of the glued context factors through
a cover map (DRT.Cover.IsGluing.unique), as in the first example (snores_unique), but fails on
the paper's own second example, where John(b) is invisible to every restriction and may be added
to the listed gluing (isGluing_beats_insert, not_isSeparatedFor_beats). What is unique is the
least gluing, which glues whenever the vocabularies are pairwise disjoint and the cover maps
injective (DRT.Cover.isGluing_glue); the two obstructions otherwise both occur in the paper:
overlapping vocabularies in the discussion example (not_exists_isGluing_overlap) and
inconsistency when it is merged with John (not_exists_isGluing_merged). The four linguistic
examples are decided by kernel computation (isGluing_snores, isGluing_beats, isGluing_grey,
isGluing_broke).
The probabilistic half composes the presheaf with the distribution functor distribution R of a
semiring R, whose gluing is DRT.Cover.IsGluing (DRT.presheaf L V ⋙ distribution R). The
bananas discourse instantiates the paper's ranking of covers by corpus frequencies: pushing the
covering distribution forward along the gluing map (gluingDistribution) makes ripe bananas,
cheeky monkeys the most likely resolution (gluingDistribution_ripe).
References #
The distribution functor #
Finitely supported R-weightings of S summing to 1 — the paper's D_R(S).
Equations
- AbramskySadrzadeh2014.Distribution R S = { d : S →₀ R // (d.sum fun (x : S) (m : R) => m) = 1 }
Instances For
The image distribution along a map.
Equations
- AbramskySadrzadeh2014.Distribution.map f d = ⟨Finsupp.mapDomain f ↑d, ⋯⟩
Instances For
The distribution proportional to a weighting with nonzero total.
Equations
- AbramskySadrzadeh2014.Distribution.ofWeights w h = ⟨Finsupp.equivFunOnFinite.symm fun (i : ι) => ↑(w i) / ↑(∑ i : ι, w i), ⋯⟩
Instances For
The distribution functor D_R.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The paper's examples #
Relation symbols of the paper's examples, by arity.
- R : Rel 1
- S : Rel 1
- john : Rel 1
- man : Rel 1
- sleeps : Rel 1
- snores : Rel 1
- donkey : Rel 1
- grey : Rel 1
- cup : Rel 1
- plate : Rel 1
- banana : Rel 1
- monkey : Rel 1
- ripe : Rel 1
- cheeky : Rel 1
- owns : Rel 2
- beats : Rel 2
- broke : Rel 2
- putOn : Rel 3
- gave : Rel 3
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The relational language of the examples.
Equations
- AbramskySadrzadeh2014.lang = { Functions := fun (x : ℕ) => Empty, Relations := AbramskySadrzadeh2014.Rel }
Instances For
Equations
- AbramskySadrzadeh2014.instDecidableEqVar x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
The literal A(x̄), or ¬A(x̄) for pos := false.
Equations
- AbramskySadrzadeh2014.lit r args pos hr h = { rel := ⟨⟨n, r⟩, hr⟩, args := fun (i : Fin (↑⟨⟨n, r⟩, hr⟩).fst) => ⟨args i, ⋯⟩, pos := pos }
Instances For
The context morphism acting as f on variables.
Equations
- AbramskySadrzadeh2014.hom f hf hL = { incl := hL, map := fun (t : ↥c.vars) => ⟨f ↑t, ⋯⟩ }
Instances For
Example 1: John sleeps. He snores. #
The glued context of the first example.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cover {x} ↦ z ↤ {y} merging he with John.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s₁ = {John(x), sleeps(x)}, s₂ = {snores(y)}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s = {John(z), sleeps(z), snores(z)}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every literal over {z} factors through the cover, so the gluing is unique.
Example 2: John beats his donkey. #
The glued context of the second example.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s₁ = {John(x)}, s₂ = {donkey(y)}, s₃ = {owns(u, v), beats(u, v)}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s = {John(a), donkey(b), owns(a, b), beats(a, b)}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s ∪ {John(b)}: John(b) factors through no cover map, so adding it changes no
restriction and the listed gluing is not unique.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example 3: John owns a donkey. It is grey. #
The glued context of the third example.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The covering contexts of the third example.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s₁ = {John(x), Man(x)}, s₂ = {donkey(y), ¬Man(y)}, s₃ = {grey(z)}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s = {John(a), Man(a), donkey(b), ¬Man(b), grey(b)}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example 4: John put the cup on the plate. He broke it. #
The glued context of the fourth example.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The covering contexts of the fourth example.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s₁ = {John(x), Cup(y), Plate(z), PutOn(x, y, z)}, s₂ = {Broke(u, v)}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The two plausible antecedents of it.
Instances For
Equations
- AbramskySadrzadeh2014.instDecidableEqBroken x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
The referent of each antecedent.
Equations
Instances For
{John(x), Cup(y), Plate(z), PutOn(x, y, z), Broke(x, ·)} with the chosen antecedent.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Either choice of antecedent yields a gluing.
The discussion example: overlapping vocabularies #
The glued context of the discussion example.
Equations
- AbramskySadrzadeh2014.overlapCtx = { vocab := {⟨1, AbramskySadrzadeh2014.Rel.R⟩, ⟨1, AbramskySadrzadeh2014.Rel.S⟩}, vars := {AbramskySadrzadeh2014.Var.z, AbramskySadrzadeh2014.Var.w} }
Instances For
s₁ = {R(x), S(u)}, s₂ = {S(y), R(v)}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The sections are consistent but do not glue: S(z) restricts to S(x) ∉ s₁.
Probabilistic anaphora: *John gave the bananas to the monkeys. They were ripe. They were #
cheeky.*
The glued context of the bananas discourse.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The covering contexts of the bananas discourse.
Equations
- One or more equations did not get rendered due to their size.
Instances For
s₁ = {John(x), Banana(y), Monkey(z), Gave(x, y, z)}, s₂ = {Ripe(u)}, s₃ = {Cheeky(v)}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- AbramskySadrzadeh2014.instDecidableEqAntecedent x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
The referent of each antecedent.
Equations
Instances For
The candidate global section t_c induced by the covering c.
Equations
- One or more equations did not get rendered due to their size.
Instances For
British News corpus frequencies of ripe banana and ripe monkey.
Equations
Instances For
British News corpus frequencies of cheeky banana and cheeky monkey.
Equations
Instances For
Each covering weighted by the summed frequencies of its mergings, normalised.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The distribution d over global sections: the covering distribution pushed forward along
c ↦ t_c.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ripe bananas, cheeky monkeys (t₂) is the most likely resolution, with probability 1/2.