Doing things with monads
Extended application: Groenendijk, Stokhof and Veltman's Coreference and Modality
GSV = GS + V
GS = Dynamic Predicate Logic L&P 1991: dynamic binding, donkey anaphora Dynamic Montague Grammar 1990: generalized quantifiers, discourse referents
V = epistemic modality
What are pegs? A paper by Landman called `Pegs and Alecs'.
It might be raining. It's not raining. #It's not raining. It might be raining.
Two-part assignment functions
type var = string type peg = int type refsys = var -> peg type ent = Alice | Bob | Carl type assignment = peg -> ent type pred = string type world = pred -> ent -> bool type pegcount = int type poss = world * pegcount * refsys * assignment type infostate = [poss]
So information states track both facts about the world (e.g., which objects count as a man), and facts about the discourse (e.g., how many pegs have been used).
ref(i, t) = t if t is an individual, and g(r(t)) if t is a variable, where i = (w,n,r,g) s[P(t)] = {i in s | w(P)(ref(i,t))} s[t1 = t2] = {i in s | ref(i,t1) = ref(i,t2)} s[φ and ψ] = s[φ][ψ] s[∃xφ] = Union {{(w, n+1, r[x->n], g[n->a]) | (w,n,r,g) in s}[φ] | a in ent} s[neg φ] = {i | {i}[φ] = {}} 1. {(w,n,r,g)}[∃x.person(x)] 2. {(w,n,r,g)}[∃x.man(x)] 3. {(w,n,r,g)}[∃x∃y.person(x) and person(y)] 4. {(w,n,r,g)}[∃x∃y.x=y]
Order and modality
s[◊φ] = {i in s | s[φ] ≠ {}} 1. Alice isn't hungry. #Alice might be hungry. {hungry, full}[Alice isn't hungry][Alice might be hungry] = {full}[Alice might be hungry] = {} 2. Alice might be hungry. Alice isn't hungry. = {hungry, full}[Alice might be hungry][Alice isn't hungry] = {hungry, full}[Alice isn't hungry] = {full}
GSV: a single speaker couldn't possibly be in a position to utter (2).
3. Based on public evidence, Alice might be hungry. But in fact she's not hungry. 4. Alice might be hungry. Alice *is* hungry. 5. Alice is hungry. (So of course) Alice might be hungry.
consider: update with the prejacent and its negation must both be non-empty.
Order and binding
6. A man^x entered. He_x sat. 7. He_x sat. A man^x entered. 8. {(w,1,r[x->0],g[0->b])}
This infostate contains a refsys and an assignment that maps the variable x to Bob. Here are the facts in world w:
w "enter" a = false w "enter" b = true w "enter" c = true w "sit" a = true w "sit" b = true w "sit" c = false 9. Someone^x entered. He_x sat. {(w,1,r[x->0],g[0->b])}[∃x.enter(x)][sit(x)] -- the existential adds a new peg and assigns it to each -- entity in turn = ( {(w,2,r[x->0][x->1],g[0->b][1->a])}[enter(x)] ++ {(w,2,r[x->0][x->1],g[0->b][1->b])}[enter(x)] ++ {(w,2,r[x->0][x->1],g[0->b][1->c])}[enter(x)])[sit(x)] -- "enter(x)" filters out the possibility in which x refers -- to Alice, since Alice didn't enter = ( {} ++ {(w,2,r[x->0][x->1],g[0->b][1->b])} ++ {(w,2,r[x->0][x->1],g[0->b][1->c])})[sit(x)] -- "sit(x)" filters out the possibility in which x refers -- to Carl, since Carl didn't sit = {(w,2,r[x->0][x->1],g[0->b][1->b])}
existential in effect binds the pronoun in the following clause
10. He_x sat. Someone^x entered. {(w,1,r[x->0],g[0->b])}[sit(x)][∃x.enter(x)] -- evaluating `sit(x)` rules out nothing, since (coincidentally) -- x refers to Bob, and Bob is a sitter = {(w,1,r[x->0],g[0->b])}[∃x.enter(x)] -- Just as before, the existential adds a new peg and assigns -- it to each object = {(w,2,r[x->0][x->1],g[0->b][1->a])}[enter(x)] ++ {(w,2,r[x->0][x->1],g[0->b][1->b])}[enter(x)] ++ {(w,2,r[x->0][x->1],g[0->b][1->c])}[enter(x)] -- enter(x) eliminates all those possibilities in which x did -- not enter = {} ++ {(w,2,r[x->0][x->1],g[0->b][1->b])} ++ {(w,2,r[x->0][x->1],g[0->b][1->c])} = {(w,2,r[x->0][x->1],g[0->b][1->b]), (w,2,r[x->0][x->1],g[0->b][1->c])} 11. A man^x entered. He_x sat. He_x spoke. 12. He_x sat. A man^x entered. He_x spoke.
consider: new peg requires object not in the domain of the assignment fn
13. If a woman entered, she sat.
Interactions of binding with modality
(∃x.enter(x)) and (sit(x)) ≡ ∃x (enter(x) and sit(x))
but (∃x.closet(x)) and (◊guilty(x)) ≡/≡ ∃x (closet(x) and ◊guilty(x))
The Broken Vase: There are three sons, Bob, Carl, and Dave. One of them broke a vase. Bob is known to be innocent. Someone is hiding in the closet. in closet guilty --------------- --------------- w: b false b false c false c false d true d true w': b false b false c true c false d false d true
GSV observe that (∃x.closet(x)) and (◊guilty(x)) is true if there is at least one possibility in which a person in the closet is guilty. In this scenario, world w is the verifying world. It remains possible that there are closet hiders who are not guilty in any world. Carl fits this bill: he's in the closet in world w', but he is not guilty in any world.
14. Someone^x is in the closet. He_x might be guilty. {(w,0,r,g), (w',0,r,g}[∃x.closet(x)][◊guilty(x)] -- existential introduces new peg = ( {(w,1,r[x->0],g[0->b])}[closet(x)] ++ {(w,1,r[x->0],g[0->c])}[closet(x)] ++ {(w,1,r[x->0],g[0->d])}[closet(x)] ++ {(w',1,r[x->0],g[0->b])}[closet(x)] ++ {(w',1,r[x->0],g[0->c])}[closet(x)] ++ {(w',1,r[x->0],g[0->d])}[closet(x)])[◊guilty(x)] -- only possibilities in which x is in the closet survive = {(w,1,r[x->0],g[0->d]), (w',1,r[x->0],g[0->c])}[◊guilty(x)] -- Is there any possibility in which x is guilty? -- yes: for x = Dave, in world w Dave broke the vase = {(w,1,r[x->0],g[0->d]), (w',1,r[x->0],g[0->c])}
Now we consider the second half:
14. Someone^x is in the closet who_x might be guilty. {(w,0,r,g), (w',0,r,g)}[∃x(closet(x) & ◊guilty(x))] -- existential introduces new peg = {(w,1,r[x->0],g[0->b])}[closet(x)][◊guilty(x)] ++ {(w,1,r[x->0],g[0->c])}[closet(x)][◊guilty(x)] ++ {(w,1,r[x->0],g[0->d])}[closet(x)][◊guilty(x)] ++ {(w',1,r[x->0],g[0->b])}[closet(x)][◊guilty(x)] ++ {(w',1,r[x->0],g[0->c])}[closet(x)][◊guilty(x)] ++ {(w',1,r[x->0],g[0->d])}[closet(x)][◊guilty(x)] -- filter out possibilities in which x is not in the closet -- and filter out possibilities in which x is not guilty -- the only person who was guilty in the closet was Dave in -- world 1 = {(w,1,r[x->0],g[0->d])}
The result is different, and more informative.
Binding, modality, and identity
The fragment correctly predicts the following contrast:
15. Someone^x entered. He_x might be Bob. He_x might not be Bob. (∃x.enter(x)) & ◊x=b & ◊not(x=b) -- This discourse requires a possibility in which Bob entered -- and another possibility in which someone who is not Bob entered 16. Someone^x entered who might be Bob and who might not be Bob. ∃x (enter(x) & ◊x=b & ◊not(x=b)) -- This is a contradition: there is no single person who might be Bob -- and who simultaneously might be someone else
Identifiers
Let α be a term which differs from x. Then α is an identifier if the following formula is supported by every information state:
∀x(◊(x=α) --> (x=α))
The idea is that α is an identifier just in case there is only one object that it can refer to. Here is what GSV say:
A term is an identifier per se if no mattter what the information state is, it cannot fail to decie what the denotation of the term is.
Why have a two-part assignment function?
In the current system, variables are associated with values in two steps.
Variables Pegs Entities --------- r ---- g -------- x --> 0 --> a y --> 1 --> b z --> 2 --> c
Here, r is a refsys mapping variables to pegs, and g is an assignment function mapping pegs to entities