So to follow up on this, in matrix.tdl we currently have these two very similar rules:
(1) The (presumably older) subject extraction type:
; ERB 2004-08-26 Remove [MC -] on mother; probably specific
; to analysis of subject extraction for English.
; ASF 2011-10-05 Added supertype 'head-compositional' to basic-extracted-subj-phrase
; in order to make sure matrix.tdl provides the right semantics for extracted subjects.
basic-extracted-subj-phrase := basic-extracted-arg-phrase & head-compositional &
[ SYNSEM.LOCAL.CAT.VAL [ SUBJ < >,
SPR < >,
COMPS < > ],
HEAD-DTR.SYNSEM [ LOCAL.CAT [ VAL [ SUBJ < gap &
[ LOCAL #local & local &
[ CONT.HOOK.INDEX ref-ind ] ] >,
COMPS olist ],
MC na ],
NON-LOCAL.SLASH.LIST < #local > ],
C-CONT [ RELS <! !>,
HCONS <! !>,
ICONS <! !> ] ].
(Note especially the [ MC - ] comment.)
(2) The special rule for the information structure library:
; SSH 2013-04-08 non-canonical and non-matrix clausal head-comp-phrase
; This type cannot be a root node by itself ([MC -]).
; This typed phrase is supposed to be combined with a filler-phrase.
basic-head-comp-nmc-phrase := head-valence-phrase & head-compositional &
[ SYNSEM phr-synsem &
[ LOCAL.CAT [ MC -,
VAL [ SUBJ < >,
SPR #spr ],
HC-LIGHT #light ],
LIGHT #light ],
[ LOCAL.CAT [ VAL [ SUBJ < [ LOCAL #slash ] >,
SPR #spr ],
POSTHEAD #ph ],
NON-LOCAL.SLASH 1-dlist & [ LIST < #slash > ] ],
C-CONT [ RELS <! !>, HCONS <! !>, ICONS <! !> ] ].
Now, despite its name, the rule above is doing subject extraction in practice. Also in practice, it is used as a supertype for the following sort of head-complement rules:
head-comp-nmc-phrase := basic-head-comp-nmc-phrase & head-initial &
[ SYNSEM [ R-PERIPH -,
LOCAL.CAT.VAL.COMPS #comps ],
HEAD-DTR.SYNSEM [ LOCAL.CAT.VAL.COMPS < #synsem . #comps >,
NON-LOCAL.SLASH.LIST < [ CONT.HOOK.ICONS-KEY focus-or-topic ] > ],
NON-HEAD-DTR.SYNSEM #synsem ].
With this, you get parses like the following, for a language with a basic SVO word order and clause-final focus position (the sentence is Ivan book reads):
Note how there is actually implicit subject extraction happening in this tree. There is no non-branching extraction rule (the second V is the lexical rule) and yet the top S is licensed by the Head-Filler rule (the bottom one by the special Head-Complement which inherits from the special subject extraction).
So again my question is whether this is expected behavior?