Interpreting the negation readings of "I don't have soup" when I do have soup

Imagine a world where there are 4 soups on the table and I have one of them. I say “I don’t have soup”

The 2020 ERG provides only one MRS for “I don’t have soup”:

[ "I don't have soup'"
  TOP: h0
  INDEX: e2 [ e SF: prop TENSE: pres MOOD: indicative PROG: - PERF: - ]
  RELS: < [ pron<0:1> LBL: h4 ARG0: x3 [ x PERS: 1 NUM: sg IND: + PT: std ] ]
          [ pronoun_q<0:1> LBL: h5 ARG0: x3 RSTR: h6 BODY: h7 ]
          [ neg<2:7> LBL: h1 ARG0: e2 ARG1: h8 ]
          [ _have_v_1<8:12> LBL: h9 ARG0: e10 [ e SF: prop TENSE: pres MOOD: indicative PROG: - PERF: - ] ARG1: x3 ARG2: x11 [ x PERS: 3 NUM: sg ] ]
          [ udef_q<13:18> LBL: h12 ARG0: x11 RSTR: h13 BODY: h14 ]
          [ _soup_n_1<13:17> LBL: h15 ARG0: x11 ] >
  HCONS: < h0 qeq h1 h6 qeq h4 h8 qeq h9 h13 qeq h15 > ]

The HCONS license the following scope-resolved MRSs (and only these):

These first three have both have_v_1 and soup_n_1 under the scope of neg() and so effectively resolve to “I don’t have any soup”, which means the statement is false in this scenario, and makes sense to me:

                         ┌────── _soup_n_1(x11)
         ┌─ udef_q(x11,RSTR,BODY)               ┌────── pron(x3)
neg(e2,ARG1)                  └─ pronoun_q(x3,RSTR,BODY)
                                                     └─ _have_v_1(e10,x3,x11)


                           ┌────── pron(x3)
         ┌─ pronoun_q(x3,RSTR,BODY)             ┌────── _soup_n_1(x11)
neg(e2,ARG1)                    └─ udef_q(x11,RSTR,BODY)
                                                     └─ _have_v_1(e10,x3,x11)


               ┌────── pron(x3)                 ┌────── _soup_n_1(x11)
pronoun_q(x3,RSTR,BODY)         ┌─ udef_q(x11,RSTR,BODY)
                    └─ neg(e2,ARG1)                  └─ _have_v_1(e10,x3,x11)

The last three have soup_n_1 outside the scope of neg, so, if there are multiple soups lying around, and I happen to have only one of them, these scope-resolved trees do have truth conditions that make them true (when x11 is set to a soup that I don’t have). Thus, “I don’t have soup” is true for these (even though I do I have soup).

This interpretation makes sense to me if the phrase was “I don’t have a soup”, since there is at least one soup they don’t have. But I can’t seem to construct a scenario where the simple “I don’t have soup” should be true if I have soup, and thus I’m wondering how to think about these trees…


             ┌────── _soup_n_1(x11)             ┌────── pron(x3)
udef_q(x11,RSTR,BODY)         ┌─ pronoun_q(x3,RSTR,BODY)
                  └─ neg(e2,ARG1)                    └─ _have_v_1(e10,x3,x11)



             ┌────── _soup_n_1(x11)
udef_q(x11,RSTR,BODY)               ┌────── pron(x3)
                  └─ pronoun_q(x3,RSTR,BODY)         ┌─ _have_v_1(e10,x3,x11)
                                         └─ neg(e2,ARG1)


               ┌────── pron(x3)
pronoun_q(x3,RSTR,BODY)             ┌────── _soup_n_1(x11)
                    └─ udef_q(x11,RSTR,BODY)         ┌─ _have_v_1(e10,x3,x11)
                                         └─ neg(e2,ARG1)

Any insights here?

1 Like

We discussed this some at UW today, and got this far:

  1. We found two types of scenarios where the “There exists x that I don’t have” readings make sense.

Specific indefinite
Imagine a Pokémon connoisseur who is lamenting the fact that there’s some special card they haven’t managed to collect yet. They could say, with a whole pile of cards (likely binders full of cards) in front of them: I don’t have a card (that I really want)

Non-specific indefinite
Imagine someone who has just picked up a deck of playing cards and counted them to find that it contains only 51. They could say I don’t have a card. Help me find it?

  1. Your example involves a mass noun. Perhaps the kinds of uses of indefinites in the examples above just aren’t available to mass nouns — and the coercion that happens when mass nouns are used in count context (I don’t have a soup) aren’t accessible at this (pragmatic?) level.

Anyway – interesting examples! I’d be really curious if there’s any research out there on this.

1 Like

Good examples! Thanks for exploring this.

Yes, that’s exactly what I was wondering. This seems like a case where searching through a treebank might yield something interesting. Do we have one available anywhere online that can be searched using MRS-type queries? I.e. “search for not() scoping udef() with anything in between”?

The disambiguation in the treebanks stops before scope resolution, so I don’t think that will help in this caes.

Sorry, I believe I didn’t get the point here. For my current MRS to Logic translation:

% python test.py convert "I don't have soup"

[ TOP: h0
  INDEX: e2
  RELS: < [ pron<0:1> LBL: h4 ARG0: x3 ]
          [ pronoun_q<0:1> LBL: h5 ARG0: x3 RSTR: h6 BODY: h7 ]
          [ neg<2:7> LBL: h1 ARG0: e2 ARG1: h8 ]
          [ _have_v_1<8:12> LBL: h9 ARG0: e10 ARG1: x3 ARG2: x11 ]
          [ udef_q<13:17> LBL: h12 ARG0: x11 RSTR: h13 BODY: h14 ]
          [ _soup_n_1<13:17> LBL: h15 ARG0: x11 ] >
  HCONS: < h0 qeq h1 h6 qeq h4 h8 qeq h9 h13 qeq h15 > ]

I have 6 solutions
take_equivs init
take_equivs exausted
 (0/6) ∃ x11, _soup_n_1 x11 ∧ ¬(∃ x3, pron x3 ∧ (∃ e10, _have_v_1 e10 x3 x11))
 (1/6) ∃ x11, _soup_n_1 x11 ∧ (∃ x3, pron x3 ∧ ¬(∃ e10, _have_v_1 e10 x3 x11))
 (2/6) ¬(∃ x11, _soup_n_1 x11 ∧ (∃ x3, pron x3 ∧ (∃ e10, _have_v_1 e10 x3 x11)))
 (3/6) ∃ x3, pron x3 ∧ ¬(∃ x11, _soup_n_1 x11 ∧ (∃ e10, _have_v_1 e10 x3 x11))

So indeed, I got six possible scopes (being only four with distinct possible FOL interpretations) for the single MRS. All of them make sense to me. Note that the existence of a soup has nothing to do with its participation in the interpretation of the predicate _have_v_1. So for Formula 0 above, a domain with a single object in the interpretation of _soup_n_1 is a model for the formula.

You can play with this online first-order model constructor FOL Evaluator. It is limited to binary predicates, so I had to transform _have_v_1 into a two-place predicate. So use

Formulas 1, 2, and 3 are not very intuitive for me. The negation out scoping the pronoun. But in FOL interpretation, in a world with no ‘me,’ the sentence is true.

Can you describe a scenario in the real world (like the ones that Emily described above) where a person has soup (e.g. it is in front of them on the table after they have ordered it), and they say “I don’t have soup” and it makes sense? That’s what I’m looking for, because that is what the last three trees I list at the top are describing.

It seems like they are all trees that cannot exist in the real world – i.e. they will never be true in a (capital P) Pragmatic sense, but it could just be my lack of imagination…

I am curious to understand what is happening, but I don’t want to be interpreted as a pedant, so please forgive me for being too basic below. Probably I am elaborating and trying to be precise on what you and @ebender concluded above.

First, let us agree on using FOL (chapters 1-3 of https://a.co/d/3w2MuEk) to discuss the semantics of the NL utterance. I am not saying FOL is enough for natural language semantics (See https://a.co/d/59gXkJ1), but it will help us to be precise.

The situation you describe can be formalized. You have five things in the world, four are soups (2-5), and one is a person (1). The speaker has soup. We represent that with an abstraction of the world, a mathematical structure. A non-empty set of things (natural numbers) is called the domain. Two sets as interpretations for the unary predicates (S for Soup and P for pronoun) and a set of tuples for interpreting the binary predicate (H for have).

Domain: [1,2,3,4,5]
H: [(1,2)]
S: [2,3,4,5]
P: [1]

A person, the speaker, says the NL utterance (A), you want to check against the mathematical structure above. Our intuition is that it needs to be false.

(A) "I don't have soup"

We have six possible translations for this utterance. Finally, let us also agree on notation. Your tree

             ┌────── _soup_n_1(x11)             ┌────── pron(x3)
udef_q(x11,RSTR,BODY)         ┌─ pronoun_q(x3,RSTR,BODY)
                  └─ neg(e2,ARG1)                    └─ _have_v_1(e10,x3,x11)

can be translated into my FOL formula

[1] ∃ x11, _soup_n_1 x11 ∧ ¬(∃ x3, pron x3 ∧ (∃ e10, _have_v_1 e10 x3 x11))

But wait, the generalized quantifiers udef_q and pronoun_q were both translated to the first-order logic existential quantifier since I want to manipulate those formulas with a FOL prover, and we don’t have automated provers for dealing directly with generalized quantifiers. Anyway, I can’t think of any different way to express the semantics of udef_q and pronoun_q that can differ from the existential reading. Note also that I didn’t explicitly introduce a variable e2, so the non-logical neg predication was mapped to the logical negation, and the sentence has only one event variable. Maybe I should consider neg as non-logical and axiomatize its semantics in the future… but it can be complicated.

The main point is that Formula [1] reveals a nonintuitive reading of the NL utterance. Is Formula [1] true in the model above? Taking the model and the Formula [1] into the FOL Evaluator (I provided a link in my last message), It concludes:

[1] Ex(Sx&~Ey(Py&Hyx)) is true on this model

The important lines are the ones below. See that if we take x=3, 3 is a soup; for this soup, there is no pron(y) and have(y,x). For that, the system can conclude [1] above.

      (Sx&~Ey(Py&Hyx)) is true on {"x":3}
            Sx is true on {"x":3}
            ~Ey(Py&Hyx) is true on {"x":3}

But (A) was expected to be false, so Formula [1] should not be taken as a good formalization for (A). But this is just one interpretation of the sentence… the others may agree with our intuition.

In this interpretation, “I don’t have soup” and “I don’t have a soup” (meaning I don’t have at least one of the soups") collapsed.

By the way, we can also notice models like

Hyx is false on {"x":5,"y":5}

But we can’t have something that is a soup and a person simultaneously. So we could also be more careful and introduce one extra condition:

Ax((Sx > ~Px) & (Px > ~Sx)) > Ex(Sx & ~Ey(Py & Hyx))

We can explore other situations too:

Domain: [1,2,3,4]
H: []
P: [1]
S: [2]

Ex(Sx&~Ey(Py&Hyx)) is true on this model
[A] is TRUE

Domain: [1,2,3,4]
H: [(1,2)]
P: [1]
S: [2]

Ex(Sx&~Ey(Py&Hyx)) is false on this model
[A] is FALSE

Domain: [1,2,3,4]
H: [(1,2)]
P: [1]
S: [2,3]

Ex(Sx&~Ey(Py&Hyx)) is true on this model
[A] is FALSE

So, Sentence (B) below need different formalization from Sentence (A):

(B) I don’t have a soup

But this is the case. I was paying no attention to the mass/count distinction provided by ERG. See ErgSemantics/Essence. For Sentence (B), the property IND was attached to x11 in [ x PERS: 3 NUM: sg IND: + ].

[ TOP: h0
  INDEX: e2 [ e SF: prop TENSE: pres MOOD: indicative PROG: - PERF: - ]
  RELS: < [ pron<0:1> LBL: h4 ARG0: x3 [ x PERS: 1 NUM: sg IND: + PT: std ] ]
          [ pronoun_q<0:1> LBL: h5 ARG0: x3 RSTR: h6 BODY: h7 ]
          [ neg<2:7> LBL: h1 ARG0: e2 ARG1: h8 ]
          [ _have_v_1<8:12> LBL: h9 ARG0: e10 [ e SF: prop TENSE: pres MOOD: indicative PROG: - PERF: - ] ARG1: x3 ARG2: x11 [ x PERS: 3 NUM: sg IND: + ] ]
          [ _a_q<13:14> LBL: h12 ARG0: x11 RSTR: h13 BODY: h14 ]
          [ _soup_n_1<15:19> LBL: h15 ARG0: x11 ] >
  HCONS: < h0 qeq h1 h6 qeq h4 h8 qeq h9 h13 qeq h15 > ]

IND distinguishes individuated entities introduced by count nouns such as cat or cats from non-individuated referents for mass nouns such as rice .

So how to use IND property? In Sentence (A) we don’t have it; soup is understood as a mass noun. For this interpretation, the formula [1] should not be possible. For Sentence (B), we have IND so we should allow Formula 1. Am I right?

(I edited this message many times to improve the clarity of my thoughts on the discussion.)

Maybe if the person absolutely detests the type of soup they got (say they only acknowledge non-vegetarian soups but the one they got in front of them is vegetarian), and so they say: “I don’t have soup [that I would be able to eat]”? In other words it’s as if they would be saying: “this isn’t soup”

I apologize for being too verbose in my last message and to use the forum to draft my understanding, “revise thoughts” as I write.

Nevertheless, I focused on the model-theoretical semantics.

I think @olzama is adding pragmatic arguments. It is too hard for me yet to think on pragmatics and how to model them computationally. But this is definitely relevant and probably the aspect that LLM can’t easily capture.

In other words. The predicate have in my message above is precise. Someone has or does not have a soup. Something is a soup or it is not a soup. Olga is saying that it can be possible a situation like “someone holds something that is a soup but not acknowledge that possession because the thing is not an acceptable soup to that person.” Have and soup predicates would need to be model by fuzzy concepts maybe.

Oooh! Good one. Kind of like “This team doesn’t have football players” (as a way to trash talk the opposing team). Well done!

@arademaker this was exactly my problem. I’m trying to figure out how to model these pragmatics in an engine that is very logical.