Number feature overwritten by pernum lex rule

I have a pronoun with pernum 1sg, which goes through a lexical rule for pernum 1. The lexical over-writes the pernum value, so the sg is lost.

I don’t think this happens when you have person 1, number sg and then you go through a lex rule with person 1. I suspect this has something to do with the pernum hierarchy, but I’m not sure:

pernum := top.
3rd := pernum.
1sg := 1st & sg.
2sg := 2nd & sg.
3sg := 3rd & sg.
1pl := 1st & pl.
1pl_incl := 1pl.
1pl_excl := 1pl.
2pl := 2nd & pl.
3pl := 3rd & pl.
2nd+sg := pernum.
2nd := 2nd+sg & 2nd+pl.
sg := 2nd+sg & 1st+sg.
1st+sg := pernum.
1st := 1st+sg & 1st+pl.
1st+pl := pernum.
pl := 1st+pl & 2nd+pl.
2nd+pl := pernum.

If I remember correctly, pernum is the only way to define incl/excl features in the matrix and if you have pernum in the grammar, person and number features don’t play nice. So if inferred grammars have the incl/excl features, I use pernum for all person/number features. I can’t remember what the undesirable behavior was that prompted me to do this exactly.

In any case, is there something in the pernum hierarchy that causes this? Or if not, what else could be the cause?

What is the exact tdl for the lex entry (or its lextype) that specifies “1sg”? Is it perhaps [ PERNUM 1st+sg ]? That’s an underspecified type that is supertype to 1st and sg…

It is indeed. So we want that to be 1sg instead of 1st+sg. I tested, and this gets us the proper behavior: the 1sg pronoun goes through the 1st person lex rule and its pernum remains 1sg.

In order to get this in the customized grammar, you need to choose pernum “1sg” explicitly. I was putting pernum “1st, sg” in the choices file (this is the result if you check the 1st and the sg boxes in the dropbox).

Emily, are these separate behaviors desired? In other words do you want the grammar to use 1st+sg if the boxes are checked separately? Or should I file a bug to make the behaviors the same.

Also, I’m realizing that this will be the behavior for all disjunctive types, won’t it? For example I have these aspects:

rel+cmpl := aspect.
rel := rel+cmpl.
cmpl := rel+cmpl.

If an auxiliary with eg. rel+cmpl went through a lex rule with rel, the cmpl would get over-written.
In the choices file, I’ve been specifying these as aux2_feat1_value=rel, cmpl and I get rel+cmpl on the lex entry.
If I try to add two aspects like this:
I get rel & cmpl on the lex entry and the grammar doesn’t load (by the way, we should validate against this).

So I’m guessing the solution here is to define a type hierarchy for aspect.

Correct – the interpretation of multiple checked boxes is always disjunction. For example: This affix expresses agreement with 2nd or 3rd person. And yes, if you have two different aspected glossed on an auxiliary, that is probably the AND and not the OR of them, so you’d want a more specific subtype that is both.