I seem to have lost a constraint somewhere and I can’t immediately figure out what happened. Is there any systematic way of debugging these?
Here’s what is happening in the picture below. The top S is licensed by the wh-question phrase which is fine. However, the wh-rule requires a slashed head daughter, and in this case, there should not be one because no extraction rule has applied (a separate question is why the extraction rule hasn’t applied). If no extraction rule has applied, then there should be nothing on this S’s slash list, and so the wh-rule should not apply. I must have lost something pretty deep on the clause-level constraints. For some reason the grammar is happy to just assign the non-empty slash value to the S. I have looked at the relevant types (Head-Comp rule, Head-Subj rule, wh-rule, and their supertypes) but cannot yet spot what is it that I removed…
Posting in the hopes that someone just knows which type should be responsible for keeping track of the slash values here…
It seems that the SLASH value is copied from the head daughter to the mother by the type called head-valence-phrase. I haven’t touched that type, and my head-subject rule inherits from it. In the local AVM for the head-daugher S (the cat sees what), the slash list appears empty.
This is symptomatic of an underspecified diff-list value somewhere which breaks the diff-list append. The trick to debugging these is to look for the lowest constituent in the tree that has the problem and then look within it for the element that is leaving its SLASH value underspecified. Pay attention to the lexical amalgamation stuff: the basic-*-arg types build this in. Perhaps you have something that’s not inheriting from one of those?
So, I look at the AVM (not the local AVM though) for what (the NP), and it has a non-empty slash list. Would we call that the lowest problematic thing then? (Except it isn’t a true constituent, it is a subterminal…)
Right. In that case, the first node where things look wrong is actually the top one… The local AVM for the cat sees what has an empty slash list. Does this mean the problem must be in the wh-question phrase itself, or not necessarily?
Aha! Indeed, here’s what I have on the the cat sees what S:
So, the real empty SLASH should look like REL, then.
Trying to track it down, the VP sees what looks like this:
Are both SLASH and REL healthy or unhealthy here? And QUE, for that matter?They identify their LAST with something but there is no connection to the LIST?
And then finally, should I only be checking this on the constituent and not lextype level?
All three of SLASH, QUE and REL look unhealthy there — I’m guessing that you didn’t constrain these appropriately on the lexical type for what, which in turn is breaking the diff-list append with see.
Eventually, yes, you want to go look at lexical types in the tdl. But the methods for finding the culprit starts with the trees…
Why would wh-word-lex be basic-one-arg? That type is for words with an ARG-ST of length one. I think you want something like basic-zero-arg, but not quite, because the QUE value there is wrong… so probably just borrow the SLASH and REL constraints from basic-zero-arg.
Oh right!! I don’t need 0-1-dlists here; that’s (possibly) for the phrase structure rules which allow more than one question. But not for the wh-words themselves; why would they need a non-emtpy slash list. I think this issue is now resolved, thank you so much :).