ERG representation for "how is"

I’m working on a project with @EricZinda using Delphin for parsing natural language, and had a question about how the ERG represents a sentence like “how is your salad?”
Consider the MRS:

[ “how is your salad?”
TOP: h0
INDEX: e2 [ e SF: ques TENSE: pres MOOD: indicative PROG: - PERF: - ]
RELS: < [ unspec_adj<0:3> LBL: h4 ARG0: e2 ARG1: x3 [ x PERS: 3 NUM: sg ] ]
[ which_q<0:3> LBL: h5 ARG0: x6 RSTR: h7 BODY: h8 ]
[ property<0:3> LBL: h7 ARG0: x6 ]
[ prpstn_to_prop<0:3> LBL: h1 ARG0: e9 [ e SF: prop ] ARG1: h4 ARG2: x6 ]
[ def_explicit_q<7:11> LBL: h10 ARG0: x3 RSTR: h11 BODY: h12 ]
[ poss<7:11> LBL: h13 ARG0: e14 [ e SF: prop TENSE: untensed MOOD: indicative PROG: - PERF: - ] ARG1: x3 ARG2: x15 [ x PERS: 2 PT: std ] ]
[ pronoun_q<7:11> LBL: h16 ARG0: x15 RSTR: h17 BODY: h18 ]
[ pron<7:11> LBL: h19 ARG0: x15 ]
[ _salad_n_1<12:17> LBL: h13 ARG0: x3 ] >
HCONS: < h0 qeq h1 h11 qeq h13 h17 qeq h19 > ]

In particular, I was confused about what the predication prpstn_to_prop is doing and how it interacts with unspec_adj and property. Thanks!

Since nobody has piped in, I’ll take my best shot: I only get one MRS for “How is your salad?”, which is the one above. So I’m assuming there isn’t a “better” interpretation available and we need to figure this one out.

Ignoring the straightforward predications that make x3 represent “your salad” leaves this part of the tree which is the challenging part:

               ┌────── property(x6)
└─ which_q(x6,RSTR,BODY)                   ┌──── unspec_adj(e2,x3)
                    └─ prpstn_to_prop(e9,ARG1,x6)

It seems like this subtree is attempting to do a “meta” or “second order” type operation on x3 where x6 ends up with all the actual predication names like _delicious_a_1 or _cold_a_1 that “would have been true” had they replaced the name unspec_adj in unspec_adj(e2, x3).

Using that as a working theory, I’d say that:

property(x6) restricts x6 to be predicate names like _delicious_a_1 that are shaped like an adjective (i.e. have arguments (e,x)). I’m assuming that is what “property” is implying.

prpstn_to_prop(e9,ARG1,x6) doesn’t appear anywhere in the docs and might mean “proposition to property” or “preposition to property”. I’m guessing the former. Further, I’m guessing that its job is to unify the “property” in x6 (where “property” is a predication name as described above) to the name of the predication in ARG1 (as part of the “second-orderness”). Finally, I suspect that prpstn_to_prop is also only true if its ARG1 is true after it has been successfully name-unified with the property in x6.

So, for example, this would be true – but only if x3 is “cold”:

prpstn_to_prop(e9, _cold_a_1(e2,x3), _cold_a_1) --> true

but this would be false, even if x3 is “cold” since _dirty_a_1 doesn’t unify with _cold_a_1:

prpstn_to_prop(e9, _cold_a_1(e2,x3), _dirty_a_1) --> false

Also, if x3 is “cold”, you could do this:

prpstn_to_prop(e9, _cold_a_1(e2,x3), x99) --> now: x99 == _cold_a_1

I’m then assuming that the unspec_adj in unspec_adj(e2, x3) acts like a kind of “predication name variable”. Kind of like saying: x9(e2, x3). It allows the name unspec_adj to act like a variable which can be unified with any predication name. This is another key part of the “second-orderness” of the tree.

So: unspec_adj(e2,x3) will be true if any adjective in the universe is true of x3, and unspec_adj will be unified with the name of any that were.

With all of that in place, I’d describe what is happening like this:

               ┌────── property(x6)
└─ which_q(x6,RSTR,BODY)                   ┌──── unspec_adj(e2,x3)
                    └─ prpstn_to_prop(e9,ARG1,x6)

prpstn_to_prop finds all adjectives in the universe that are true of x3 by evaluating unspec_adj(e2,x3). For each adjective that was true of x3 it takes the predication name that got unified with unspec_adj and compares it with x6. Since x6 is restricted to “any adjective in the universe”, it will always succeed, and thus x6 will hold the predication name of all adjectives that are true of x3.

Of course, this wouldn’t account for “The salad is lit” (as my son would say) since “lit” has the arguments: _light_v_cause(e2,i8,x3) so some part of my theory must be wrong…

@Dan (or anyone), is this theory remotely true?

Thanks, @EricZinda for working out the explanation of the second-order semantics that the ERG assigns to the wh-adjective “how”. Because we already have a which_q quantifier over individuals that we know how to interpret, we introduce for the meaning of this “how” an abstract set predicate `property’ whose variable is bound by the which_q, and also introduce an abstract adjunct relation unspec_adj that constrains the set of individuals introduced by the subject of the question (“your salad” in the cited example). Then the predication prpstn_to_prop relates the proposition unspec_adj(x) to that set of properties property(y), effectively saying for the cited example “For which property is it the case that your salad has that property”.

As for “lit”, there should probably be an additional entry in the ERG for the use of this word as an adjective analogous to my generation’s “cool”, but even so, there are other passive participles such as “bored” which can be used for answers to a question such as “how were his students today?”, and it would take some further elaboration to see how to connect the verbal predication introduced by the participle to the set of properties introduced by “how”. Or maybe the ERG lexicon should add adjectival entries for many of these passive participles, which would also account for “very bored”, “very surprised” etc., and would simplify the connections with the semantics of this “how”. Not yet clear.


Whenever we started discussions like this, I tried to write a logical formula that could be the translation of the MRS. I am using Lean, which means I am not restricted to FOL since Lean is based on a version of dependent type theory known as the Calculus of Constructions. Lean forces me to write a syntactic valid formula.

First, I used Utool to enumerate the possible scope trees (terminology from Guy’s Linguists Who Use Probabilistic Models Love Them: Quantification in Functional Distributional Semantics - ACL Anthology):

Guided by the first scope tree, I wrote:

Now we can have many questions:

  1. The quantifiers which_q, pronoun_q, and def_explicit_q were not used in the formula q; they were replaced by the logical existential quantifier. Does it make sense?

  2. The prpstn_to_prop predicate could have type prpstn_to_prop : e → e → x → Prop; that is, instead of beginning second-order, it could receive e2 instead of the formula (∃ e2, unspec_a e2 x3). The reason is probably given by: 1) uniform analysis of similar syntactic construction; or 2) the same reason that justifies predicates like subord not being between e-vars.

  3. I see unspec_a but @minw1 's MRS has unspec_adj, we are using a different version of ERG?