Difficulties applying constraints in MRSs with the ERG

I am trying to constrain some of the results I get from generation by setting properties on certain variables. Some of them seem to work, but some of them don’t.

For the following MRS I get a set of results as shown:

[ 
    TOP: h40
    INDEX: e37 
    RELS: < 
        [ unknown LBL: h39 ARG: x32 [ x IND: + ] ARG0: e37 ] 
        [ def_explicit_q LBL: h35 ARG0: x32 RSTR: h33 BODY: h34 ]
        [ poss LBL: h3 ARG0: e28 ARG1: x32 ARG2: x21 [ x NUM: pl ] ] 
        [ _mobile_a_1 LBL: h3 ARG0: e4 ARG1: x32 ] 
        [ _phone_n_1 LBL: h3 ARG0: x32 ]
        [ pronoun_q LBL: h26 ARG0: x21 RSTR: h24 BODY: h25 ]
        [ pron LBL: h22 ARG0: x21 ] > 
    HCONS: < h24 qeq h22 h33 qeq h3 h40 qeq h39 > 
]
NOTE: 703 passive, 566 active edges in final generation chart; built 1306 passives total. [8 results]
NOTE: generated 1 / 1 sentences, avg 11824k, time 0.15637s
NOTE: transfer did 278 successful unifies and 376 failed ones
Their mobile phones
Our mobile phones
Their mobile phone
Our mobile phone
Their mobile phones.
Our mobile phones.
Their mobile phone.
Our mobile phone.

I constrained the pronoun to be NUM: pl and got sensible results. (I did notice however that if I don’t constrain it then I only seem to get singular results which seems a little odd).

However, if I try to set a constraint on PERS to be 2 it won’t generate anything:

[
    TOP: h40
    INDEX: e37
    RELS: < 
        [ unknown LBL: h39 ARG: x2 [ x IND: + ] ARG0: e37 ] 
        [ def_explicit_q LBL: h35 ARG0: x2 RSTR: h33 BODY: h34 ]
        [ poss LBL: h31 ARG0: e28 ARG1: x2 ARG2: x23 [ x PERS: 2 NUM: sg ] ] 
        [ _mobile_a_1 LBL: h31 ARG0: e4 ARG1: x2 ]
        [ _phone_n_1 LBL: h31 ARG0: x2 ]
        [ pronoun_q LBL: h26 ARG0: x23 RSTR: h24 BODY: h25 ]
        [ pron LBL: h22 ARG0: x23 ] > 
    HCONS: < h24 qeq h22 h33 qeq h31 h40 qeq h39 > 
]
NOTE: 135 passive, 254 active edges in final generation chart; built 244 passives total. [0 results]
NOTE: generated 0 / 1 sentences, avg 2427k, time 0.13646s
NOTE: transfer did 278 successful unifies and 376 failed ones

EDIT: It appears that the issue is that there is an additional NUM: sg constraint coming in. I have tracked that down to be coming from the SEMI. When I select a predicate from the SEMI I was assuming there is only one result for each predicate label, but there are many for poss:

  poss : ARG0 e, ARG1 i, ARG2 i { NUM pl }.
  poss : ARG0 e, ARG1 u, ARG2 u.
  poss : ARG0 e, ARG1 i, ARG2 x { GEND n, NUM sg }.
  poss : ARG0 e, ARG1 i, ARG2 x { GEND f, NUM sg, IND + }.
  poss : ARG0 e, ARG1 i, ARG2 i { GEND m-or-f, NUM sg }.
  poss : ARG0 e, ARG1 i, ARG2 x { GEND m, NUM sg, IND + }.
  poss : ARG0 e, ARG1 i, ARG2 i { NUM sg }.
  poss : ARG0 e, ARG1 x, ARG2 i { GEND m, NUM sg }.
  poss : ARG0 e, ARG1 x, ARG2 i { GEND f, NUM sg }.

So it seems when I make my selection I might want to choose the most general one.

The multiple synopses for each predicate are meant to show the variety of constraints possible for predications, but I recall that they don’t always enumerate all possibilities. I think this may be because they are extracted from corpora, where not every combination may have been observed, but I’m not so sure about this. Stephan probably does, but I’m afraid he doesn’t post on this board.