Cyclic extracted-complement rule

The following rule works for my Russian grammar and for a number of regression tests but turns out to be problematic when I try a v-initial language (or maybe some other characteristic of the language is at play, I am not sure):

extracted-comp-phrase := basic-extracted-comp-phrase &
  [ HEAD-DTR.SYNSEM.LOCAL.CAT.VAL.COMPS.FIRST [ ],
    SYNSEM.LOCAL.CAT.HEAD verb ].

basic-extracted-comp-phrase := basic-extracted-arg-phrase &
                               head-compositional &
  [ SYNSEM canonical-synsem &
       [ LOCAL.CAT [ VAL [ SUBJ #subj,
                           SPR #spr,
                           COMPS #comps ],
                     MC #mc ] ],
    HEAD-DTR [ SYNSEM
               [ LOCAL.CAT [ VAL [ SUBJ #subj,
                                   SPR #spr,
                                   COMPS < gap . #comps > ],
                             MC #mc ] ] ],
    C-CONT [ RELS.LIST < >,
             HCONS.LIST < >,
             ICONS.LIST < > ] ].

With my V-initial language, the rule spins.

(1) Can anyone see why it would spin on a v-initial language but no on the other languages I tried it on?
(2) Is there a way to make this rule work while maintaining the general idea that more than one complement can be extracted?

I thought that, if there is only one complement, then #comps will be null and everything will be fine…

I am noticing also that the rule here spins when it applies to V whose COMPS is null to begin with. So the COMPS.FIRST [ ] does not have the effect I thought it would?

COMPS < gap . #comps > already stipulates that COMPS is nonempty. There is no way that this could apply to COMPS null. But it would spin on COMPS list.

1 Like

Yes, I think this is exactly what is happening. I cannot yet understand why though. For some reason the rule applies to intransitive verbs, and as for transitive, it starts applying after subject extraction…

Strange… The sentence which I am trying has the verb verb1-verb-lex:

verb1-verb-lex := intransitive-verb-lex.
intransitive-verb-lex := verb-lex & intransitive-lex-item &
  [ SYNSEM.LOCAL.CAT.VAL.COMPS < >,
    ARG-ST.FIRST.LOCAL.CAT.HEAD noun ].

I wonder where the list value comes from…

Ah! It’s extracted-subject in both cases. So that must be what changes the COMPS value to list.

Yup, solved. Extracted-subject had underspecified COMPS on the mother.