Passivization in argument composition

Following the 10 minute rule I should’ve submitted this several hours ago…

I am analyzing this language as having argument composing 2nd position enclitics that contain subject information. This subject is equated with the subject of its complement (which is the verb). That is, each enclitic has the following specifications (abstracting a bit):

2p-lex-rule :=  [ SYNSEM.LOCAL.CAT.VAL [ SUBJ < #subj >,
                                                  COMPS < #comps . #vcomps > ],
    ARG-ST < #subj,
       #comps &
       [ LOCAL.CAT.VAL [ SUBJ < #subj >,
                                       COMPS #vcomps ] > ].

Each of the second position enclitics inherits from the above rule and adds PNG information to the subject. This has worked fine for active voice sentences.

Now the passive morpheme applies at the level of the 2nd position enclitic. So I need to now say that second position enclitic subject is actually agreeing with the first item of its COMPS’ COMPS list.

After a lot of failed analyses where the ARG1 & ARG2 of the verb ended up coindexed, I decided that I couldn’t have a rule that applied to the above 2p-lex-item, because it already identifies the subject information with the complement’s subject, and there’s no way to undo that with unification.

So what I did is I forced the second position enclitics to go through a passive or no-passive rule and abstracted a little. The new definition:

2p-lex-rule :=  [ SYNSEM.LOCAL.CAT.VAL [ SUBJ < #subj >,
                                                  COMPS.FIRST #comps ],
    ARG-ST < #subj, #comps > ].

2p-no-passive-lex-rule := 2p-lex &
  [ SYNSEM.LOCAL.CAT.VAL [ SUBJ < #subj >,
                           COMPS [ FIRST.LOCAL.CAT.VAL [ SUBJ < #subj >,
                                                         COMPS #vcomps ],
                                   REST #vcomps ] ] ].

2p-passive-lex-rule := 2p-lex &
  [ SYNSEM.LOCAL.CAT.VAL [ SUBJ < #subj >,
                           COMPS [ FIRST.LOCAL.CAT.VAL [ SUBJ < #oldsubj >,
                                                         COMPS [ FIRST #subj,
                                                                 REST #vcomps ] ],
                                   REST [ FIRST #oldsubj,
                                          REST #vcomps ] ] ] ].

I thought this would solve it but I am STILL having the issue that when a verb goes through 2p-passive-lex-rule in the MRS the ARG1 and the ARG2 of the verb end up identified with each other. I’m at my wit’s end. So two questions:

(1) How can I avoid this problem where the verb’s ARGs end up coidentified?
(2) Can this be done in a way that, like I originally imagined, I can keep the original 2p-lex-rule and go through a valence changing rule?

After writing this out I believe I have resolved it. The problem is I was copying up the whole feature structure, including its embedded CONT (which had the old INDEX, which is now identified with the SUBJ’s INDEX). I am now losing the CONT as I copy things up and it’s fine.

Yes, in general, you don’t want to copy up CONT. If you look in matrix.tdl, same-cont-lex-rule actually only copies up the HOOK—and it sounds like that was maybe too much, too, because of XARG?

Also, as a point of style, I would avoid naming lexical types -rule, since they aren’t lexical rules.