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