Centering Theory — Cb, Cf, Cp #
[GJW95]
Forward- and backward-looking center operations, parameterized by
role ranker ([CfRankerOf E R]) and realizes-semantics ([Realizes U E]).
GJW's "unique Cb" claim is enforced by cb's Option E return type.
Default Realizes / Pronominalizes for Utterance #
For a list-of-realizations utterance, realizes is existence of a
realization whose entity is the target.
Equations
- One or more equations did not get rendered due to their size.
For a list-of-realizations utterance, pronominalizes requires a
realization of e whose isPronoun flag is true.
Equations
- One or more equations did not get rendered due to their size.
A flat list of entities realizes by membership (minimal "bag of referents" representation).
Equations
- Discourse.Centering.listRealizes = { Rel := fun (es : List E) (e : E) => e ∈ es, decRel := fun (x : List E) (x_1 : E) => inferInstance }
Existential characterization of realizes on a list-of-realizations
utterance.
Existential characterization of pronominalizes on a
list-of-realizations utterance.
Cf, Cp via insertion sort on rank #
Insert r into a rank-descending Cf list, after any equally-ranked
elements (surface order as stable tiebreaker).
Equations
- One or more equations did not get rendered due to their size.
- Discourse.Centering.Utterance.cfInsert r [] = [r]
Instances For
Forward-looking centers via insertion-sort by rank (decide-reducible).
Equations
- u.cf = List.map (fun (x : Discourse.Centering.Realization E R) => x.entity) (List.foldr Discourse.Centering.Utterance.cfInsert [] u.realizations)
Instances For
The top-ranked Cf element ("preferred center", Cp).
Instances For
cf / cp characterization API #
cfInsert preserves membership: every element of the result is either
the inserted element or already in the list.
cfInsert r xs is a permutation of r :: xs — insertion sort
rearranges but doesn't drop or duplicate.
The internal sorted list (before mapping to entities) is a permutation of the surface realization list.
Characterization of cf: an entity is in the forward-looking
centers iff some realization in the utterance refers to it. The
insertion-sort implementation is a permutation, so membership is
preserved.
Cb (backward-looking center) #
Backward-looking center: the highest-ranked element of prev.cf
realized in cur. Polymorphic in cur's type via Realizes U E.
Equations
- Discourse.Centering.cb prev cur = List.find? (fun (e : E) => decide (Discourse.Centering.realizes cur e)) prev.cf
Instances For
Locality of Cb ([GJW95]): cb prev cur
is always drawn from prev.cf, never further back.
The Cb is realized in the current utterance: when cb prev cur is
some e, realizes cur e holds.
cb prev cur = some e iff e ∈ prev.cf is realized in cur with
no higher-ranked element of prev.cf also realized in cur.
cbAll (multi-CB under partial ranking) #
Multi-CB: entities tied at the highest rank-among-realized, deduplicated. Length ≤ 1 under total rankings; can exceed 1 under partial rankings (PSDH §5.3.4).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every entity in cbAll prev cur corresponds to some realization
in prev realized in cur.