(no commit message)
[lambda.git] / topics / _week10_gsv.mdwn
1 <!-- λ ◊ ≠ ∃ Λ ∀ ≡ α β γ ρ ω φ ψ Ω ○ μ η δ ζ ξ ⋆ ★ • ∙ ● ⚫ 𝟎 𝟏 𝟐 𝟘 𝟙 𝟚 𝟬 𝟭 𝟮 ⇧ (U+2e17) ¢ -->
2
3 [[!toc levels=2]]
4
5 # Doing things with monads
6
7 ## Extended application: Groenendijk, Stokhof and Veltman's *Coreference and Modality*
8
9 GSV are interested in developing and establishing a reasonable theory
10 of discourse update.  One way of looking at this paper is like this:
11
12   GSV = GS + V, where
13         
14   GS = Dynamic theories of binding of Groenendijk and Stokhof, e.g.,
15        Dynamic Predicate Logic L&P 1991: dynamic binding, donkey anaphora
16        Dynamic Montague Grammar 1990: generalized quantifiers, discourse referents
17
18   V = a dynamic theory of epistemic modality, e.g., 
19       Veltman, Frank. "Data semantics." 
20       In Truth, Interpretation and Information, Foris, Dordrecht (1984): 43-63.
21
22 That is, Groenendijk and Stokhof have a well-known theory of dynamic
23 semantics, and Veltman has a well-known theory of epistemic modality,
24 and this fragment brings both of those strands together into a single
25 system.  
26
27 We will be interested in this paper both from a theoretical point of
28 view and from a practical engineering point of view.  On the
29 theoretical level, these scholars are proposing a strategy for
30 managing the connection between variables and the objects they
31 designate in way that is flexible enough to be useful for describing
32 natural language.  
33
34 ## Basics of GSV's fragment
35
36 The fragment in this paper is unusually elegant.  We'll present it on
37 its own terms, with the exception that we will not use pegs.  See the
38 digression below concerning pegs for an explanation.  After presenting
39 the paper, we'll re-engineering the fragment using explicit monads.
40
41 In this fragment, points of evaluation are not just worlds, but a pair
42 of a world and an assginment function.  This is familiar from Heim's
43 1983 File Change Semantics.  We'll follow GSV and call a
44 world-assignment pair a "possibility".  Then a context is a set (an
45 "information state") is a set of possiblities.  Infostates
46 simultaneously track both information about the world (which possible
47 worlds are live possibilities?) as well as information about the
48 discourse (which objects to the variables refer to?).
49
50 Worlds in general settle all matters of fact in the world.  In
51 particular, they determine the extensions of predicates and relations.
52
53 The formal language the fragment interprets is Predicate Calculus with
54 equality, existential and universal quantification, along with one
55 unary modality (box and diamond, corresponding to epistemic necessity
56 and epistemic possibility).
57
58 An implementation in OCaml is available [[here|code/gsv.ml]]; consult
59 that code for details of syntax, types, and values.
60
61 Terms in this language are either individuals such as Alice or Bob, or
62 else variables.  So in general, the referent of a term can depend on a
63 possibility:
64
65     ref(i, t) = t if t is an individual, and 
66                 g(t) if t is a variable, where i = (w,g)
67
68 Here are the main clauses for update (their definition 3.1).  
69
70 Following GSV, we'll write `update(s, φ)` (the update of information
71 state `s` with the information in φ) as `s[φ]`.
72
73     s[P(t)] = {i in s | w(P)(ref(i,t))}
74
75 So `man(x)` is the set of live possibilities `i = (w,g)` in s such that
76 the set of men in `w` given by `w(man)` maps the object referred to by
77 `x`, namely, `g("x")`, to `true`.   That is, update with "man(x)"
78 discards all possibilities in which "x" fails to refer to a man.
79
80     s[t1 = t2] = {i in s | ref(i,t1) == ref(i,t2)}
81
82     s[φ and ψ] = s[φ][ψ]
83
84 When updating with a conjunction, first update with the left conjunct,
85 then update with the right conjunct.
86
87 Existential quantification is somewhat intricate.
88
89     s[∃xφ] = Union {{(w, g[x->a]) | (w,g) in s}[φ] | a in ent} 
90
91 Here's the recipe: given a starting infostate s, choose an object a
92 from the domain of discourse.  Construct a modified infostate s' by
93 adjusting the assignment function of each possibility so as to map the variable x to a.
94 Then update s' with φ.  Finally, take the union over the results of
95 doing this for every object a in the domain of discourse.  If you're
96 unsure about this, examine the [[code|code/gsv.ml]].
97
98 Negation is natural enough:
99
100     s[neg φ] =  {i | {i}[φ] = {}}
101
102 If updating φ with the information state that contains only the
103 possibility i returns the empty information state, then not φ is true
104 with respect to i.
105
106 In GSV, disjunction, the conditional, and the universals are defined
107 in terms of negation and the other connectives (see fact 3.2).
108
109 Exercise: assume that there are three entities in the domain of
110 discourse, Alice, Bob, and Carl.  Assume that Alice is a woman, and
111 Bob and Carl are men.
112
113 Compute the following:
114
115     1. {(w,g)}[∃x.man(x)]
116
117        = {(w,g[n->a])}[man(x)] ++ {(w,g[n->b])}[man(x)] 
118                                ++ {(w,g[n->c])}[man(x)] 
119        = {} ++ {(w,g[n->b])} ++ {(w,g[n->c])}
120        = {(w,g[n->a]),(w,g[n->b]),(w,g[n->c])}
121        -- Bob and Carl are men
122
123     2. {(w,g)}[∃x.woman(x)]
124     3. {(w,g)}[∃x∃y.man(x) and man(y)]
125     4. {(w,n,r,g)}[∃x∃y.x=y]
126
127 Running the [[code|code/gsv.ml]] gives the answers.
128
129
130 ## Order and modality
131
132 The final remaining update rule concerns modality:
133
134     s[◊φ] = {i in s | s[φ] ≠ {}}
135
136 This is a peculiar rule: a possibility `i` will survive update just in
137 case something is true of the information state `s` as a whole.  That
138 means that either every `i` in `s` will survive, or none of them will.
139 The criterion is that updating `s` with the information in the
140 prejacent φ does not produce the contradictory information state
141 (i.e., `{}`).
142
143 So let's explore what this means.  GSV offer a contrast between two
144 discourses that differ only in the order in which the updates occur.
145 The fact that the predictions of the fragment differ depending on
146 order shows that the system is order-sensitive.
147
148     1. Alice isn't hungry.  #Alice might be hungry.
149
150 According to GSV, the combination of these sentences in this order is
151 `inconsistent', and they mark the second sentence with the star of
152 ungrammaticality.  We'll say instead that the discourse is
153 gramamtical, leave the exact way to think about its intuitive status
154 up for grabs.  What is important for our purposes is to get clear on
155 how the fragment behaves with respect to these sentences.
156
157 We'll start with an infostate containing two possibilities.  In one
158 possibility, Alice is hungry (call this possibility "hungry"); in the
159 other, she is not (call it "full").
160
161       {hungry, full}[Alice isn't hungry][Alice might be hungry]
162     = {full}[Alice might be hungry]
163     = {}
164
165 As usual in dynamic theories, a sequence of sentences is treated as if
166 the sentence were conjoined.  This is the same thing as updating with
167 the first sentence, then updating with the second sentence.
168 Update with *Alice isn't hungry* eliminates the possibility in which
169 Alice is hungry, leaving only the possibility in which she is full.
170 Subsequent update with *Alice might be hungry* depends on the result
171 of updating with the prejacent, *Alice is hungry*.  Let's do that side
172 calculation:
173
174       {full}[Alice is hungry]
175     = {}
176
177 Because the only possibility in the information state is one in which
178 Alice is not hungry, update with *Alice is hungry* results in an empty
179 information state.  That means that update with *Alice might be
180 hungry* will also be empty, as indicated above.
181
182 In order for update with *Alice might be hungry* to be non-empty,
183 there must be at least one possibility in the input state in which
184 Alice is hungry.  That is what epistemic might means in this fragment:
185 the prejacent must be possible.  But update with *Alice isn't hungry*
186 eliminates all possibilities in which Alice is hungry.  So the
187 prediction of the fragment is that update with the sequence in (1)
188 will always produce an empty information state.
189
190 In contrast, consider the sentences in the opposite order:
191
192     2. Alice might be hungry.  Alice isn't hungry.
193
194 We'll start with the same two possibilities.
195
196     = {hungry, full}[Alice might be hungry][Alice isn't hungry]
197     = {hungry, full}[Alice isn't hungry]
198     = {full}
199
200 GSV comment that a single speaker couldn't possibly be in a position
201 to utter the discourse in (2).  The reason is that in order for the
202 speaker to appropriately assert that Alice isn't hungry, that speaker
203 would have to possess knowledge (or sufficient justification,
204 depending on your theory of the norms for assertion) that Alice isn't
205 hungry.  But if they know that Alice isn't hungry, they couldn't
206 appropriately assert *Alice might be hungry*, based on the predictions
207 of the fragment.  
208
209 Another view is that it can be acceptable to assert a sentence if it
210 is supported by the information in the common ground.  So if the
211 speaker assumes that as far as the listener knows, Alice might be
212 hungry, they can utter the discourse in (2).  Here's a variant that
213 makes this thought more vivid:
214
215     3. Based on public evidence, Alice might be hungry.  
216        But in fact I have private knowledge that she's not hungry.
217
218 The main point to appreciate here is that the update behavior of the
219 discourses depends on the order in which the updates due to the
220 individual sentence occur.  
221
222 Note, incidentally, that there is an asymmetry in the fragment
223 concerning negation.
224
225     4. Alice might be hungry.  Alice *is* hungry.
226     5. Alice is hungry.  (So of course) Alice might be hungry.
227
228 Both of these discourses lead to the same update effect: all and only
229 those possibilites in which Alice is hungry survive.  You might think
230 that asserting *might* requires that the prejacent be not only
231 possible, but undecided.  If you like this idea, you can easily write
232 an update rule for the diamond on which update with the prejacent and
233 its negation must both be non-empty.
234
235 ## Order and binding
236
237 The GSV fragment differs from the DPL and the DMG dynamic semantics in
238 important details.  Nevertheless, it says something highly similar to
239 DPL about anaphora, binding, quantificational binding, and donkey
240 anaphora (at least, when modality is absent, as we'll discuss below).
241
242 In particular, continuing the theme of order-based asymmetries,
243
244     6. A man^x entered.  He_x sat.
245     7. He_x sat.  A man^x entered.
246
247 These discourses differ only in the order of the sentences.  Yet the
248 first allows for coreference between the indefinite and the pronoun,
249 where the second discourse does not.  In order to demonstrate, we'll
250 need an information state whose refsys is defined for at least one
251 variable.
252
253     8. {(w,g[x->b])}
254
255 This infostate contains a refsys and an assignment that maps the
256 variable x to Bob.  Here are the facts in world w:
257
258     extension w "enter" a = false
259     extension w "enter" b = true
260     extension w "enter" c = true
261
262     extension w "sit" a = true
263     extension w "sit" b = true
264     extension w "sit" c = false
265
266 We can now consider the discourses in (6) and (7) (after magically
267 converting them to the Predicate Calculus):
268
269     9. Someone^x entered.  He_x sat.  
270
271          {(w,g[x->b])}[∃x.enter(x)][sit(x)]
272
273        = (   {(w,g[x->b][x->a])}[enter(x)]
274           ++ {(w,g[x->b][x->b])}[enter(x)]
275           ++ {(w,g[x->b][x->c])}[enter(x)])[sit(x)]
276
277           -- "enter(x)" filters out the possibility in which x refers
278           -- to Alice, since Alice didn't enter
279
280        = (   {}
281           ++ {(w,g[x->b][x->b])}
282           ++ {(w,g[x->b][x->c])})[sit(x)]
283
284           -- "sit(x)" filters out the possibility in which x refers
285           -- to Carl, since Carl didn't sit
286
287        =  {(w,g[x->b][x->b])}
288
289 One of the key facts here is that even though the existential has
290 scope only over the first sentence, in effect it binds the pronoun in
291 the following clause.  This is characteristic of dynamic theories in
292 the style of Groenendijk and Stokhof, including DPL and DMG. 
293
294 The outcome is different if the order of the sentences is reversed.
295
296     10. He_x sat.  Someone^x entered. 
297
298          {(w,g[x->b])}[sit(x)][∃x.enter(x)]
299
300          -- evaluating `sit(x)` rules out nothing, since (coincidentally)
301          -- x refers to Bob, and Bob is a sitter
302
303        = {(w,g[x->b])}[∃x.enter(x)]
304
305          -- Just as before, the existential adds a new peg and assigns
306          -- it to each object
307
308        =    {(w,g[x->b][x->a])}[enter(x)]
309          ++ {(w,g[x->b][x->b])}[enter(x)]
310          ++ {(w,g[x->b][x->c])}[enter(x)]
311
312          -- enter(x) eliminates all those possibilities in which x did
313          -- not enter
314
315        = {} ++ {(w,g[x->b][x->b])}
316             ++ {(w,g[x->b][x->c])}
317
318        = {(w,g[x->b][x->b]), (w,g[x->b][x->c])}
319
320 The result is different than before.  Before, there was only one
321 possibility: that x refered to the only person who both entered and
322 sat.  Here, there remain two possibilities: that x refers to Bob, or
323 that x refers to Carl.  This makes predictions about the
324 interpretation of continuations of the dialogs:
325
326     11. A man^x entered.  He_x sat.  He_x spoke.
327     12. He_x sat.  A man^x entered.  He_x spoke.
328
329 The construal of (11) as marked entails that the person who spoke also
330 entered and sat.  The construal of (12) guarantees only that the
331 person who spoke also entered.  There is no guarantee that the person
332 who spoke sat.  
333
334 Intuitively, there is a strong impression in (12) that the person who
335 entered and spoke not only should not be identified as the person who
336 sat, he should be different from the person who sat.  Some dynamic
337 systems, such as Heim's File Change Semantics, guarantee non-identity.
338 That is not guaranteed by the GSV fragment.  If you wanted to add this
339 as a refinement to the fragment, you could require that the
340 existential only considers object in the domain that are not in the
341 range of the starting assignment function.
342
343 As usual with dynamic semantics, a point of pride is the ability to
344 give a good account of donkey anaphora, as in
345
346     13. If a woman entered, she sat.
347
348 See the paper for details.
349
350 ## Interactions of binding with modality
351
352 At this point, we have a fragment that handles modality, and that
353 handles indefinites and pronouns.  It it only interesting to combine
354 these two elements if they interact in non-trivial ways.  This is
355 exactly what GSV argue.
356
357 The discussion of indefinites in the previous section established the
358 following dynamic equivalence:
359
360     (∃x.enter(x)) and (sit(x)) ≡ ∃x (enter(x) and sit(x))
361
362 In words, existentials take effective scope over subsequent clauses.
363
364 The presence of modal possibility, however, disrupts this
365 generalization.  GSV illustrate this with the following story.
366
367     The Broken Vase:
368     There are three children: Alice, Bob, and Carl.
369     One of them broke a vase.  
370     Alice is known to be innocent.  
371     Someone is hiding in the closet.
372
373     (∃x.closet(x)) and (◊guilty(x)) ≡/≡ ∃x (closet(x) and ◊guilty(x))
374
375 To see this, we'll start with the left hand side.  We'll need at least
376 two worlds.
377
378         in closet        guilty 
379         ---------------  ---------------
380     w:  a  true          a  false
381         b  false         b  true
382         c  true          c  false
383
384     w': a  false         a  false
385         b  false         b  false
386         c  true          c  true
387
388 GSV say that (∃x.closet(x)) and (◊guilty(x)) is true if there is at
389 least one possibility in which a person in the closet is guilty.  In
390 this scenario, world w' is the verifying world: Carl is in the closet,
391 and he's guilty.  It remains possible that there are closet hiders who
392 are not guilty in any world.  Alice fits this bill: she's in the
393 closet in world w', but she is not guilty in any world.
394
395 Let's see how this works out in detail.
396
397     14. Someone^x is in the closet.  He_x might be guilty.
398
399          {(w,g), (w',g}[∃x.closet(x)][◊guilty(x)]
400
401          -- existential introduces new peg
402
403        = (   {(w,g[x->a])}[closet(x)]
404           ++ {(w,g[x->b])}[closet(x)]
405           ++ {(w,g[x->c])}[closet(x)]
406           ++ {(w',g[x->a])}[closet(x)]
407           ++ {(w',g[x->b])}[closet(x)]
408           ++ {(w',g[x->c])}[closet(x)])[◊guilty(x)]
409
410          -- only possibilities in which x is in the closet survive
411          -- the first update
412
413        = {(w,g[x->a]), (w',g[x->c])}[◊guilty(x)]
414
415          -- Is there any possibility in which x is guilty?
416          -- yes: for x = Carl, in world w' Carl broke the vase
417          -- that's enough for the possiblity modal to allow the entire
418          -- infostate to pass through unmodified.
419
420        = {(w,g[x->a]),(w',g[x->c])}
421
422 Now we consider the second half:
423
424     15. Someone^x is in the closet who_x might be guilty.
425
426          {(w,g), (w',g)}[∃x(closet(x) & ◊guilty(x))]
427        
428        =    {(w,g[x->a])}[closet(x)][◊guilty(x)]
429          ++ {(w,g[x->b])}[closet(x)][◊guilty(x)]
430          ++ {(w,g[x->c])}[closet(x)][◊guilty(x)]
431          ++ {(w',g[x->a])}[closet(x)][◊guilty(x)]
432          ++ {(w',g[x->b])}[closet(x)][◊guilty(x)]
433          ++ {(w',g[x->c])}[closet(x)][◊guilty(x)]
434
435           -- filter out possibilities in which x is not in the closet
436           -- and filter out possibilities in which x is not guilty
437           -- the only person who was guilty in the closet was Carl in
438           -- world w'
439
440        = {(w',g[x->c])}
441
442 The result is different.  Fewer possibilities remain.
443 We have elminated both possible worlds and possible discourses.
444 So the second formula is more informative.
445
446 One of main conclusions of GSV is that in the presence of modality,
447 the hallmark of dynamic treatments--that existentials bind outside of 
448 their syntactic scope--needs to refined into a more nuanced understanding.
449 Binding still occurs, but the extent of the syntactic scope of an existential
450 has a detectable effect on truth conditions.
451
452 As we discovered in class, there is considerable work to be done to
453 decide which expressions in natural language (if any) are capable of
454 expressing which of the two translations into the GSV fragment.  We
455 can certainly grasp the truth conditions, but that is not the same
456 thing as discovering that there are natural language sentences that
457 express one or the other or both.
458
459
460 ## Binding, modality, and identity
461
462 The fragment correctly predicts the following contrast:
463
464     16. Someone^x entered.  He_x might be Bob.  He_x might not be Bob.
465         (∃x.enter(x)) & ◊x=b & ◊not(x=b)
466         -- This discourse requires a possibility in which Bob entered
467         -- and another possibility in which someone who is not Bob entered
468
469     17. Someone^x entered who might be Bob and who might not be Bob.
470         ∃x (enter(x) & ◊x=b & ◊not(x=b))
471         -- This is a contradition: there is no single person who might be Bob
472         -- and who simultaneously might be someone else
473
474 These formulas are expressing extensional, de-reish intuitions.  If we
475 add individual concepts to the fragment, the ability to express
476 fancier claims would come along.
477
478 ## GSV's "Identifiers"
479
480 Let α be a term which differs from x.  Then α is an identifier if the
481 following formula is supported by every information state:
482
483     ∀x(◊(x=α) --> (x=α))
484
485 The idea is that α is an identifier just in case there is only one
486 object that it can refer to.  Here is what GSV say:
487
488     A term is an identifier per se if no mattter what the information
489     state is, it cannot fail to decie what the denotation of the term is.
490
491 ## Digression on pegs
492
493 One of the more salient aspects of the technical part of the paper is
494 that GSV insert an extra level in between the variable and the object:
495 instead of having an assignment function that maps variables directly
496 onto objects, GSV provide *pegs*: variables map onto pegs, and pegs
497 map onto objects.  It happens that pegs play no role in the paper
498 whatsoever.  We'll demonstrate this by providing a faithful
499 implementation of the paper that does not use pegs at all.
500
501 Nevertheless, it makes sense to pause here to discuss pegs briefly,
502 since this technique is highly relevant to one of the main
503 applications of the course, namely, reference and coreference.
504
505 What are pegs?  The term harks back to a 1986 paper by Fred Landman
506 called `Pegs and Alecs'.  Pegs are simply hooks for hanging properties
507 on.  Pegs are supposed to be as anonymous as possible.  Think of
508 hanging your coat on a physical peg: you don't care which peg it is,
509 only that there are enough pegs for everyone's coat to hang from.
510 Likewise, for the pegs of GSV, all that matters is that there are
511 enough of them.  (Incidentally, there is nothing in Gronendijk and
512 Stokhof's original DPL paper that corresponds naturally to pegs; but
513 in their Dynamic Montague Grammar paper, pegs serve a purpose similar
514 to discourse referents there, though the connection is not simple.)
515
516 Pegs can be highly useful for exploring puzzles of reference and
517 coreference.
518
519     Standard assignment function    System with Pegs (drefs)
520     ----------------------------    ------------------------
521      Variable      Object           Var      Peg      Object
522     ---------      -------          ---      ---      ------
523         x     -->    a               x   -->  0   -->   a
524         y     -/                     y   -/   
525         z     -->    b               z   -->  1   -->   a
526
527 A standard assignment function can map two different variables onto
528 the same object.  In the diagram, x and y are both mapped onto the
529 object a.  With discourse referents in view, we can have two different
530 flavors of coreference.  Just as with ordinary assignment functions,
531 variables can be mapped onto pegs (discourse referents) that are in
532 turn mapped onto the same object.  In the diagram, x is mapped onto
533 the peg 0, which in turn is mapped onto the object a, and z is mapped
534 onto a discourse referent that is mapped onto a.  On a deeper level,
535 we can suppose that y is mapped onto the same discourse referent as
536 x.  With a system like this, we are free to reassign the discourse
537 referent associated with z to a different object, in which case x and
538 z will no longer refer to the same object.  But there is no way to
539 change the object associated with x without necessarily changing the
540 object associated with y.  They are coreferent in a deeper, less
541 accidental sense.  
542
543 GSV could make use of this expressive power.  But they don't.  In
544 fact, their system is careful designed to guarantee that every
545 variable is assigned a discourse referent distinct from all previous
546 discourse referents.
547
548 End of digression on pegs.
549