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