Chapter 5

Clause layers


5.1    Introduction

This chapter introduces clause (IP) layers. Section 5.2 has rules for building clause structure. Section 5.3 is concerned with matrix interrogative clauses where the subject is not under question. Section 5.4 sees an expansion of potential for clause structure with catenative verbs. Section 5.5 adds rules to join up clause content for statement word order. Section 5.6 looks at ripple effects in the clause caused by existential there.


5.2    Clause structure

The opening elements of a clause are established with the clause_top_layer rules of (5.1) and (5.2) below. These rules have a Displaced parameter, which takes a list value that accumulates indexing information for displaced items. Also, these rules have a clause Type parameter, which needs to be set for the rules of (5.1) to either:

    The eight rules of (5.1) are all non-recursive. They each have something to say about the clause subject. For rule 2, with the Type parameter for the clause set to imperative_clause, there can be no subject. The other rules need to either:

    Rules 7 and 8 differ in how the clause SbjType parameter is set: filled_subject for rule 7, derived_subject for rule 8.

    Rules finding subject content with a call of subject vary in regards to where the subject occurs in the word list and the value taken by the Type parameter of the clause, as follows:

    With rules 3 and 4, the SbjType parameter is limited to either filled_subject or expletive_subject for a subject with final position in the word list identifying a clause whose Type parameter is tag_question.

    With rules 5 and 6, the Type parameter of the clause is matrix_interrogative, with the subject having a position in the word list that is before content identified with either:

    When rules give clause inflection parameter information, this varies:

    When rules give clause voice parameter information [rules 2, 5 and 6], this is always active_voice.

(5.1)
clause_top_layer(statement_order,Displaced,L,L0) -->
  subject(SbjType,L,L1),
  clause_middle_layer(Displaced,SbjType,L1,L0).
clause_top_layer(imperative_clause,Displaced,L,L0) -->
  verb_phrase_layer(Displaced,filled_subject,imperative_inflection,active_voice,L,L0).
clause_top_layer(tag_question,[],L,L0) -->
  do_operator_layer(L,L1),
  {
    member(SbjType,[filled_subject,expletive_subject])
  },
  subject(SbjType,L1,L0).
clause_top_layer(tag_question,[],L,L0) -->
  have_be_or_md_finite_layer(_,L,L1),
  {
    member(SbjType,[filled_subject,expletive_subject])
  },
  subject(SbjType,L1,L0).
clause_top_layer(Type,Displaced,L,L0) -->
  {
    member(Type,[matrix_interrogative,matrix_constituent_interrogative])
  },
  do_operator_layer(L,L2),
  subject(SbjType,L2,L1),
  verb_phrase_layer(Displaced,SbjType,do_supported_infinitive_inflection,active_voice,L1,L0).
clause_top_layer(Type,Displaced,L,L0) -->
  {
    member(Type,[matrix_interrogative,matrix_constituent_interrogative])
  },
  have_be_or_md_finite_layer(Code,L,L2),
  subject(SbjType,L2,L1),
  verb_complements_top_layer(Code,Displaced,SbjType,active_voice,L1,L0).
clause_top_layer(matrix_constituent_interrogative,[np(ICH)|Displaced],[node('NP-SBJ',[ICH])|L],L0) -->
  clause_middle_layer(Displaced,filled_subject,L,L0).
clause_top_layer(matrix_constituent_interrogative,[np(ICH)|Displaced],[node('NP-SBJ',[ICH])|L],L0) -->
  clause_middle_layer(Displaced,derived_subject,L,L0).

    There are also the eleven recursive rules of (5.2) to enable:

(5.2)
clause_top_layer(Type,Displaced,L,L0) -->
  adverbial(L,L2),
  optional_punc(non_final,L2,L1),
  clause_top_layer(Type,Displaced,L1,L0).
clause_top_layer(Type,Displaced,L,L0) -->
  clause_top_layer(Type,Displaced,L,L2),
  optional_punc(non_final,L2,L1),
  adverbial(L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  noun_phrase(Index,interrogative,L,L1),
  clause_top_layer(matrix_constituent_interrogative,[np(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  preposition_phrase(Index,interrogative,L,L1),
  clause_top_layer(matrix_constituent_interrogative,[pp(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  adjective_phrase(Index,interrogative,L,L1),
  clause_top_layer(matrix_constituent_interrogative,[adjp(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  adverb_phrase(Index,interrogative,L,L1),
  clause_top_layer(matrix_constituent_interrogative,[advp(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(matrix_interrogative,Displaced,L,L0) -->
  adverb_phrase('-NIM',interrogative,L,L1),
  clause_top_layer(matrix_constituent_interrogative,Displaced,L1,L0).
clause_top_layer(statement_order,Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  noun_phrase(Index,non_interrogative,L,L2),
  optional_punc(non_final,L2,L1),
  clause_top_layer(statement_order,[np(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(statement_order,Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  preposition_phrase(Index,non_interrogative,L,L2),
  optional_punc(non_final,L2,L1),
  clause_top_layer(statement_order,[pp(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(statement_order,Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  punc(left_quotation_mark,L,L4),
  utterance(Index,L4,L3),
  punc(right_quotation_mark,L3,L2),
  optional_punc(non_final,L2,L1),
  clause_top_layer(statement_order,[utterance(node(ICH,[]))|Displaced],L1,L0).
clause_top_layer(Type,Displaced,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
  clause_top_layer(Type,Displaced,IL,[]),
  clause_top_tail(Type,Displaced,CL,[]).
(5.3)
clause_top_tail(Type,Displaced,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  clause_top_layer(Type,Displaced,IL,[]).
clause_top_tail(Type,Displaced,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  clause_top_layer(Type,Displaced,IL,[]),
  clause_top_tail(Type,Displaced,L,L0).

    Note how, with the recursive rules of (5.2): noun phrases [rules 3 and 8], preposition phrases [rule 4 and 9], adjective phrases [rule 5], adverb phrases [rules 6 and 7] and utterances [rule 10], all of which are parsed as displaced elements, receive an index coindexed with an *ICH* (interpret constituent here marker) that is added to the Displaced parameter to ultimately be inherited as a selected item. A displaced item is inherited as a selected item when either it is:

    Note that rules for displaced items carrying interrogative type information [rules 3–7] change the Type information of the clause from matrix_interrogative to matrix_constituent_interrogative. Consequently, only one displaced element with interrogative type information is possible with a matrix clause. Moreover, when under question, the noun phrase subject of a matrix clause must be the one displaced phrase with interrogative type information.

    Also note how rules 1 and 2 of (5.2) have adverbial calls (from section 2.10) to pick up:

    Rule 2 for clause_top_layer of (5.1) calls verb_phrase_layer of (5.4). This subsequent rule layer is needed to ensure there is a place for introducing inflection and voice information before the verb and its complements are encountered. Having the clause type value imperative_clause, rule 2 of (5.1) gives the values of imperative_inflection for the Infl (inflection) parameter and active_voice for the Voice parameter.

    The full range of options for the Infl parameter are:

Options for the Voice parameter are:

    With (5.4), in addition to passing on information for verb_complements_top_layer [rule 1], there is, provided the clause has imperative inflection, a non-recursive rule [rule 2] to support the presence of an imperative DO with operator function (so tagged DO and with no verb code) possibly followed by a clitic negation (added with optional_clitic_negation from section 2.10).

    Calls to verb_phrase_layer can also be recursive, allowing the parse to either:

(5.4)
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L0) -->
  verb(Infl,Code,L,L1),
  verb_complements_top_layer(Code,Displaced,SbjType,Voice,L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,[node('DO',[node(Word,[])])|L],L0) -->
  {
    SbjType == filled_subject,
    Infl == imperative_inflection,
    Voice == active_voice
  },
  [w('DO','',Word)],
  optional_clitic_negation(L,L1),
  verb_phrase_layer(Displaced,SbjType,infinitive_inflection,Voice,L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L0) -->
  {
    SbjType == filled_subject,
    Infl == infinitive_inflection,
    Voice == active_voice
  },
  neg(L,L1),
  verb_phrase_layer(Displaced,SbjType,Infl,Voice,L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L0) -->
  adverb_phrase('-NIM',general,L,L1),
  verb_phrase_layer(Displaced,SbjType,Infl,Voice,L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L0) -->
  verb_phrase_layer(Displaced,SbjType,Infl,Voice,L,L1),
  adverbial(L1,L0).
verb_phrase_layer(Displaced,SbjType,Infl,Voice,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
  verb_phrase_layer(Displaced,SbjType,Infl,Voice,IL,[]),
  verb_phrase_tail(Displaced,SbjType,Infl,Voice,CL,[]).
(5.5)
verb_phrase_tail(Displaced,SbjType,Infl,Voice,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  verb_phrase_layer(Displaced,SbjType,Infl,Voice,IL,[]).
verb_phrase_tail(Displaced,SbjType,Infl,Voice,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  verb_phrase_layer(Displaced,SbjType,Infl,Voice,IL,[]),
  verb_phrase_tail(Displaced,SbjType,Infl,Voice,L,L0).

    Query (5.6) illustrates how a word list can have content for the top layer of a resulting clause, placed under a clause_top_layer node for presentation as a tree structure.

(5.6)
| ?- tphrase_set_string([w('FRM','Please'), w('VB',';~I','smile')]), parse(clause_top_layer(imperative_clause,[])).

( (FRM Please)
  (VB;~I smile))

yes

Calls to reach the output of (5.6) follow (5.7). Notably, verb_complements_by_code succeeds because it receives the empty word list.

(5.7)
clause_top_layer imperative_clause
adverbial

[w('FRM','Please')]
optional_punc non_final

[]
clause_top_layer imperative_clause
verb_phrase_layer filled_subject imperative_inflection active_voice
verb imperative_inflection ;~I

[w('VB',';~I','smile')]
verb_complements_top_layer ;~I filled_subject active_voice
verb_complements_by_code ;~I filled_subject active_voice

[]

5.3    Matrix interrogatives

This section considers matrix interrogative clauses where the subject is not under question. Prior to its non-interrogative subject, such a clause will have either a finite DO, a finite HAVE, a finite BE, or a modal verb, any of which can be followed by the contracted form of negation (n't). This section adds rules to match these pre-subject components, so they can be integrated into a parse with calls of clause_top_layer from section 5.2 above.


5.3.1    DO operator layer

Having the do_operator_layer rule of (5.8) leads to inclusion of a finite DO and also allows for an optional presence for negation as clitic n't (integrated with optional_clitic_negation from section 2.10).

(5.8)
do_operator_layer([node(Tag,[node(Word,[])])|L],L0) -->
  [w(Tag,'',Word)],
  {
    member(Tag,['DOP','DOD'])
  },
  optional_clitic_negation(L,L0).

    As example content for a constituent question that needs a do_operator_layer call to parse a finite DO, consider (5.9).

(5.9)
| ?- tphrase_set_string([w('WADV','Why'), w('DOD','','did'), w('NEG;_clitic_','n<apos>t'), w('PRO','you'), w('VB',';~I','go')]), parse(clause_top_layer(matrix_interrogative,[])).

( (ADVP-NIM (WADV Why))
  (DOD did)
  (NEG;_clitic_ n<apos>t)
  (NP-SBJ (PRO you))
  (VB;~I go))

yes

Note how operator DO, as seen in (5.9), is distinguished by having no verb code with its word list contribution (w('DOP','','do')) and so occurring with only its word class tag (DOP) in the tree structure.

    Calls to reach the output of (5.9) follow (5.10).

(5.10)
clause_top_layer matrix_interrogative
adverb_phrase -NIM interrogative
adverb_phrase_layer interrogative
adv interrogative

[w('WADV','Why')]
clause_top_layer matrix_constituent_interrogative
do_operator_layer

[w('DOP','','do')]
optional_clitic_negation

[w('NEG;_clitic_','n<apos>t')]
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','you')]
verb_phrase_layer filled_subject infinitive_inflection active_voice
verb infinitive_inflection ;~I

[w('VB',';~I','go')]
verb_complements_top_layer ;~I filled_subject active_voice
verb_complements_by_code ;~I filled_subject active_voice

[]

5.3.2    HAVE, BE or modal verb finite layers

Having the three have_be_or_md_finite_layer rules of (5.11) allows for the inclusion of either:

All three rules allow for an optional presence for negation as clitic n't with calls of optional_clitic_negation from section 2.10.

(5.11)
have_be_or_md_finite_layer(Code,[node(TagCode,[node(Word,[])])|L],L0) -->
  [w(Tag,Code,Word)],
  {
    member(Tag,['HVP','HVD']),
    verb_code('H',finite_inflection,Code),
    atom_concat(Tag,Code,TagCode)
  },
  optional_clitic_negation(L,L0).
have_be_or_md_finite_layer(Code,[node(TagCode,[node(Word,[])])|L],L0) -->
  [w(Tag,Code,Word)],
  {
    member(Tag,['BEP','BED']),
    verb_code('B',finite_inflection,Code),
    atom_concat(Tag,Code,TagCode)
  },
  optional_clitic_negation(L,L0).
have_be_or_md_finite_layer(Code,L,L0) -->
  modal(Code,L,L1),
  optional_clitic_negation(L1,L0).

    As example content for a yes/no question that needs a have_be_or_md_finite_layer call to parse a finite HAVE, consider (5.12).

(5.12)
| ?- tphrase_set_string([w('HVP',';~Tn','Has'), w('PRO','he'), w('D','a'), w('N','fever')]), parse(clause_top_layer(matrix_interrogative,[])).

( (HVP;~Tn Has)
  (NP-SBJ (PRO he))
  (NP-OB1 (D a)
          (N fever)))

yes

Calls to reach the output of (5.12) follow (5.13).

(5.13)
clause_top_layer matrix_interrogative
have_be_or_md_finite_layer ;~Tn

[w('HVP',';~Tn','Has')]
optional_clitic_negation

[]
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','he')]
verb_complements_top_layer ;~Tn filled_subject active_voice
verb_complements_by_code ;~Tn filled_subject active_voice
noun_phrase -OB1 general
noun_phrase_top general
noun_phrase_initial_layer general
determiner_phrase_layer general
det general

[w('D','a')]
internal_np_higher_layer
internal_np_lower_layer
noun

[w('N','fever')]

    As example content for a constituent question that needs a have_be_or_md_finite_layer call to parse a finite BE, consider (5.14).

(5.14)
| ?- tphrase_set_string([w('WPRO','What'), w('BEP',';~Ln','is'), w('PRO','he')]), parse(clause_top_layer(matrix_interrogative,[])).

( (NP-138 (WPRO What))
  (BEP;~Ln is)
  (NP-SBJ (PRO he))
  (NP-PRD2 *ICH*-138))

yes

Calls to reach the output of (5.14) follow (5.15).

(5.15)
clause_top_layer matrix_interrogative
noun_phrase -138 interrogative
noun_phrase_top interrogative
noun_head_full interrogative

[w('WPRO','What')]
clause_top_layer matrix_constituent_interrogative [np(node('*ICH*-138',[]))]
have_be_or_md_finite_layer ;~Ln

[w('BEP',';~Ln','is')]
optional_clitic_negation

[]
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','he')]
verb_complements_top_layer ;~Ln [np(node('*ICH*-138',[]))] filled_subject active_voice
verb_complements_by_code ;~Ln [np(node('*ICH*-138',[]))] filled_subject active_voice

[]

5.4    Clause structure with a main verb and prior catenative verbs

So far we have seen clause structure with only a single verb, but a clause might include a sequence of verbs. The main verb is either the only verb of a clause or the last verb to occur in a sequence of verbs of the same clause. Verbs of a verb sequence that are prior to the main verb are called catenative verbs.

    Section 4.10 provides verb_complements_by_code rules for the full range of catenative verbs. Now we focus on resulting clause structure from catenative verbs with code:


5.4.1    Catenative verbs with bare infinitive complements

The verb_complements_by_code rule of section 4.10 for code ;~cat_Vi involves selection of a bare infinitive clause as its complement with the verb_phrase_layer rules of (5.4) above.

    As an example involving selection of a bare infinitive clause as the complement of a modal verb, consider (5.16).

(5.16)
| ?- tphrase_set_string([w('MD',';~cat_Vi','Can'), w('PRO','I'), w('VB',';~I','help')]), parse(clause_top_layer(matrix_interrogative,[])).

( (MD;~cat_Vi Can)
  (NP-SBJ (PRO I))
  (IP-INF-CAT (VB;~I help)))

yes

Calls to reach the output of (5.16) follow (5.17).

(5.17)
clause_top_layer matrix_interrogative
have_be_or_md_finite_layer ;~cat_Vi
modal ;~cat_Vi

[w('MD',';~cat_Vi','Can')]
optional_clitic_negation

[]
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','I')]
verb_complements_top_layer ;~cat_Vi filled_subject active_voice
verb_complements_by_code ;~cat_Vi filled_subject active_voice
verb_phrase_layer filled_subject infinitive_inflection active_voice
verb_phrase_layer filled_subject infinitive_inflection active_voice
verb infinitive_inflection ;~I

[w('VB',';~I','help')]
verb_complements_top_layer ;~I filled_subject active_voice
verb_complements_by_code ;~I filled_subject active_voice

[]

5.4.2    Catenative verbs with to-infinitive complements

The verb_complements_by_code rule of section 4.10 for code ;~cat_Vt involves selection of a to-infinitive clause as its complement with the to_inf_layer rules of (5.18).

    The first to_inf_layer rule is non-recursive and picks up from the word list an initial to word (see section 2.10) to then call verb_phrase_layer with the clause in a state of being infinitive_inflection and active_voice. The other rules of to_inf_layer are recursive, enabling a parse to:

(5.18)
to_inf_layer(Displaced,SbjType,Voice,L,L0) -->
  {
    Voice == active_voice
  },
  to(L,L1),
  verb_phrase_layer(Displaced,SbjType,infinitive_inflection,Voice,L1,L0).
to_inf_layer(Displaced,SbjType0,Voice,L,L0) -->
  {
    SbjType0 == unfilled_subject,
    Voice == active_voice
  },
  conn(L,L2),
  subject(SbjType,L2,L1),
  to_inf_layer(Displaced,SbjType,Voice,L1,L0).
to_inf_layer(Displaced,SbjType,Voice,[node('NP-LGS',[node('*',[])])|L],L0) -->
  {
    Voice == passive_voice
  },
  to(L,L1),
  verb_phrase_layer(Displaced,SbjType,infinitive_inflection,Voice,L1,L0).
to_inf_layer(Displaced,SbjType,Voice,L,L0) -->
  {
    Voice == lgs_passive_voice
  },
  to(L,L1),
  verb_phrase_layer(Displaced,SbjType,infinitive_inflection,passive_voice,L1,L0).
to_inf_layer(Displaced,SbjType0,Voice,L,L0) -->
  {
    SbjType0 == unfilled_subject,
    Voice == passive_voice
  },
  conn(L,L2),
  noun_phrase('-LGS',general,L2,L1),
  to_inf_layer(Displaced,filled_subject,lgs_passive_voice,L1,L0).
to_inf_layer(Displaced,SbjType,Voice,L,L0) -->
  {
    member(SbjType,[filled_subject,there_subject])
  },
  neg(L,L1),
  to_inf_layer(Displaced,SbjType,Voice,L1,L0).
to_inf_layer(Displaced,SbjType,Voice,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
  to_inf_layer(Displaced,SbjType,Voice,IL,[]),
  to_inf_tail(Displaced,SbjType,Voice,CL,[]).
(5.19)
to_inf_tail(Displaced,SbjType,Voice,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  to_inf_layer(Displaced,SbjType,Voice,IL,[]).
to_inf_tail(Displaced,SbjType,Voice,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  to_inf_layer(Displaced,SbjType,Voice,IL,[]),
  to_inf_tail(Displaced,SbjType,Voice,L,L0).

    As an example involving selection of a to-infinitive clause as the complement of a modal verb, consider (5.20).

(5.20)
| ?- tphrase_set_string([w('MD',';~cat_Vt','Ought'), w('NEG;_clitic_','n<apos>t'), w('PRO','he'), w('TO','to'), w('VB',';~Ip','stand'), w('ADV','up')]), parse(clause_top_layer(matrix_interrogative,[])).

( (MD;~cat_Vt Ought)
  (NEG;_clitic_ n<apos>t)
  (NP-SBJ (PRO he))
  (IP-INF-CAT (TO to)
              (VB;~Ip stand)
              (ADVP-CLR (ADV up))))

yes

Calls to reach the output of (5.20) follow (5.21).

(5.21)
clause_top_layer matrix_interrogative
have_be_or_md_finite_layer ;~cat_Vt
modal ;~cat_Vt

[w('MD',';~cat_Vt','Ought')]
optional_clitic_negation

[w('NEG;_clitic_','n<apos>t')]
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','he')]
verb_complements_top_layer ;~cat_Vt filled_subject active_voice
verb_complements_by_code ;~cat_Vt filled_subject active_voice
to_inf_layer filled_subject
to

[w('TO','to')]
verb_phrase_layer filled_subject infinitive_inflection active_voice
verb infinitive_inflection ;~Ip

[w('VB',';~Ip','stand')]
verb_complements_top_layer ;~Ip filled_subject active_voice
verb_complements_by_code ;~Ip filled_subject active_voice
adverb_phrase -CLR general
adverb_phrase_layer general
adv general

[w('ADV','up')]

5.4.3    Catenative verbs with active voice past participle complements

The verb_complements_by_code rule of section 4.10 for code ;~cat_Ve involves selection of an active past participle (-ed/-en) clause as its complement. This occurs when the word class tag is a form of HAVE (either HVP, HVD, HV, HAG, or HVN).

    An active participle clause is found with ip_ppl_active of (5.22) for overall structure labelled IP-PPL, together with any extension from the Ext parameter. This works with a subsequent call to verb_phrase_layer that sets the clause state to being active_voice. To find a past participle the Infl parameter is set to the value of past_participle.

(5.22)
ip_ppl_active(Ext,Displaced,SbjType,Infl,[node(Label,VL)|L],L) -->
  verb_phrase_layer(Displaced,SbjType,Infl,active_voice,VL,[]),
  {
    atom_concat('IP-PPL',Ext,Label)
  }.

    As an example involving selection of a past participle (-ed/-en) clause as the complement of a catenative verb that is a form of HAVE, consider (5.23).

(5.23)
| ?- tphrase_set_string([w('HVP',';~cat_Ve','Has'), w('PRO','he'), w('VVN',';~I','gone')]), parse(clause_top_layer(matrix_interrogative,[])).

( (HVP;~cat_Ve Has)
  (NP-SBJ (PRO he))
  (IP-PPL-CAT (VVN;~I gone)))

yes

Calls to reach the output of (5.23) follow (5.24).

(5.24)
clause_top_layer matrix_interrogative
have_be_or_md_finite_layer ;~cat_Ve

[w('HVP',';~cat_Ve','Has')]
optional_clitic_negation

[]
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','he')]
verb_complements_top_layer ;~cat_Ve_passive _filled_subject active_voice
verb_complements_by_code ;~cat_Ve filled_subject active_voice
ip_ppl_active -CAT filled_subject past_participle
verb_phrase_layer filled_subject past_participle active_voice
verb past_participle ;~I

[w('VVN',';~I','gone')]
verb_complements_top_layer ;~I filled_subject active_voice
verb_complements_by_code ;~I filled_subject active_voice

[]

5.4.4    Catenative verbs with active voice present participle complements

The verb_complements_by_code rule of section 4.10 for code ;~cat_Vg involves selection of a present participle (-ing) clause as its complement.

    To find a present participle (-ing) clause, the Infl parameter for a call to ip_ppl_active of (5.22) is set to the value of present_participle.

    As an example involving selection of a present participle (-ing) clause as the complement of a catenative verb that is a form of BE, consider (5.25).

(5.25)
| ?- tphrase_set_string([w('BEP',';~cat_Vg','Is'), w('PRO','he'), w('VAG',';~I','going')]), parse(clause_top_layer(matrix_interrogative,[])).

( (BEP;~cat_Vg Is)
  (NP-SBJ (PRO he))
  (IP-PPL-CAT (VAG;~I going)))

yes

Calls to reach the output of (5.25) follow (5.26).

(5.26)
clause_top_layer matrix_interrogative
have_be_or_md_finite_layer ;~cat_Vg

[w('BEP',';~cat_Vg','Is')]
optional_clitic_negation

[]
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','he')]
verb_complements_top_layer ;~cat_Vg filled_subject active_voice
verb_complements_by_code ;~cat_Vg filled_subject active_voice
ip_ppl_active -CAT filled_subject present_participle
verb_phrase_layer filled_subject present_participle active_voice
verb present_participle ;~I

[w('VAG',';~I','going')]
verb_complements_top_layer ;~I filled_subject active_voice
verb_complements_by_code ;~I filled_subject active_voice

[]

5.4.5    Catenative verb with passive voice past participle complements

The verb_complements_by_code rule of section 4.10 for code ;~cat_Ve_passive_ involves selection of a passive past participle (-ed/-en) clause as its complement.

    A passive participle clause is found with ip_ppl_passive of (5.27) for overall structure labelled IP-PPL, together with any extension from the Ext parameter. This works with a subsequent call to verb_phrase_layer that sets the clause state to being passive_voice.

(5.27)
ip_ppl_passive(Ext,Displaced,SbjType,Infl,[node(Label,[node('NP-LGS',[node('*',[])])|VL])|L],L) -->
  verb_phrase_layer(Displaced,SbjType,Infl,passive_voice,VL,[]),
  {
    atom_concat('IP-PPL',Ext,Label)
  }.

    As an example involving selection of a past participle (-ed/-en) clause as the complement of a catenative verb that is a form of BE, consider (5.28).

(5.28)
| ?- tphrase_set_string([w('BED',';~cat_Ve_passive_','Was'), w('PRO','he'), w('VVN',';~Tn','scolded')]), parse(clause_top_layer(matrix_interrogative,[])).

( (BED;~cat_Ve_passive_ Was)
  (NP-SBJ (PRO he))
  (IP-PPL-CAT (NP-LGS *)
              (VVN;~Tn scolded)))

yes

Calls to reach the output of (5.28) follow (5.29).

(5.29)
clause_top_layer matrix_interrogative
have_be_or_md_finite_layer ;~cat_Ve_passive_

[w('BED',';~cat_Ve_passive_','Was')]
optional_clitic_negation

[]
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','he')]
verb_complements_top_layer ;~cat_Ve_passive _filled_subject active_voice
verb_complements_by_code ;~cat_Ve_passive _filled_subject active_voice
ip_ppl_passive -CAT filled_subject past_participle
verb_phrase_layer filled_subject past_participle passive
verb past_participle ;~Tn

[w('VVN',';~Tn','scolded')]
verb_complements_top_layer ;~Tn filled_subject passive
verb_complements_by_code ;~Tn filled_subject passive

[]

5.5    Statement word order with clause middle layers

So far, we have only seen subjects that are created with a subject call as the subject of a matrix interrogative. Statement word order, which also has to include a subject, is accomplished by a non-recursive call of clause_top_layer [rule 1 of (5.1)] that first finds the subject with a subject call, and then goes on to call clause_middle_layer of (5.30). Similarly, there are rules 9 and 10 of (5.1) for parsing matrix interrogatives where the subject is an inherited interrogative noun phrase, which also go on to call clause_middle_layer of (5.30).

    The non-recursive rules of (5.30) set the clause voice parameter to active_voice. They will also either:

    There are also recursive rules allowing initial adverb phrases with -NIM (unselected adverbial) function [rule 4] and coordination at this middle clause level [rule 5] with non-initial conjuncts gathered by calls to clause_middle_tail of (5.31).

(5.30)
clause_middle_layer(Displaced,SbjType,L1,L0) -->
  verb_phrase_layer(Displaced,SbjType,finite_inflection,active_voice,L1,L0).
clause_middle_layer(Displaced,SbjType,L,L0) -->
  do_operator_layer(L,L1),
  verb_phrase_layer(Displaced,SbjType,do_supported_infinitive_inflection,active_voice,L1,L0).
clause_middle_layer(Displaced,SbjType,L,L0) -->
  have_be_or_md_finite_layer(Code,L,L1),
  verb_complements_top_layer(Code,Displaced,SbjType,active_voice,L1,L0).
clause_middle_layer(Displaced,SbjType,L,L0) -->
  adverb_phrase('-NIM',general,L,L1),
  clause_middle_layer(Displaced,SbjType,L1,L0).
clause_middle_layer(Displaced,SbjType,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
  clause_middle_layer(Displaced,SbjType,IL,[]),
  clause_middle_tail(Displaced,SbjType,CL,[]).
(5.31)
clause_middle_tail(Displaced,SbjType,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  clause_middle_layer(Displaced,SbjType,IL,[]).
clause_middle_tail(Displaced,SbjType,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  clause_middle_layer(Displaced,SbjType,IL,[]),
  clause_middle_tail(Displaced,SbjType,L,L0).

    As an example of didn't occurring with statement word order, consider (5.32).

(5.32)
| ?- tphrase_set_string([w('PRO','he'), w('DOD','','did'), w('NEG;_clitic_','n<apos>t'), w('VB',';~Ip','stand'), w('ADV','up')]), parse(clause_top_layer(statement_order,[])).

( (NP-SBJ (PRO he))
  (DOD did)
  (NEG;_clitic_ n<apos>t)
  (VB;~Ip stand)
  (ADVP-CLR (ADV up)))

yes

Calls to reach the output of (5.32) follow (5.33).

(5.33)
clause_top_layer statement_order
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','he')]
clause_middle_layer filled_subject
do_operator_layer

[w('DOD','','did')]
optional_clitic_negation

[w('NEG;_clitic_','n<apos>t')]
verb_phrase_layer filled_subject infinitive_inflection active_voice
verb infinitive_inflection ;~Ip

[w('VB',';~Ip','stand')]
verb_complements_top_layer ;~Ip filled_subject active_voice
verb_complements_by_code ;~Ip filled_subject active_voice
adverb_phrase -CLR general
adverb_phrase_layer general
adv general

[w('ADV','up')]

    As an example with catenative modal ought occurring with statement word order, consider (5.34).

(5.34)
| ?- tphrase_set_string([w('PRO','he'), w('ADV','really'), w('MD',';~cat_Vt','ought'), w('TO','to'), w('VB',';~Ip','stand'), w('ADV','up')]), parse(clause_top_layer(statement_order,[])).

( (NP-SBJ (PRO he))
  (ADVP-NIM (ADV really))
  (MD;~cat_Vt ought)
  (IP-INF-CAT (TO to)
              (VB;~Ip stand)
              (ADVP-CLR (ADV up))))

yes

Calls to reach the output of (5.34) follow (5.35).

(5.35)
clause_top_layer statement_order
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','he')]
clause_middle_layer filled_subject
adverb_phrase
adverb_phrase_layer
adv

[w('ADV','really')]
clause_middle_layer filled_subject
have_be_or_md_finite_layer ;~cat_Vt
modal ;~cat_Vt

[w('MD',';~cat_Vt','ought')]
optional_clitic_negation

[]
verb_complements_top_layer ;~cat_Vt filled_subject active_voice
verb_complements_by_code ;~cat_Vt filled_subject active_voice
to_inf_layer filled_subject
to

[w('TO','to')]
verb_phrase_layer filled_subject infinitive_inflection active_voice
verb infinitive_inflection ;~Ip

[w('VB',';~Ip','stand')]
verb_complements_top_layer ;~Ip filled_subject active_voice
verb_complements_by_code ;~Ip filled_subject active_voice
adverb_phrase -CLR general
adverb_phrase_layer general
adv general

[w('ADV','up')]

    As an example with modal may occurring with statement word order in a clause that also has catenative have followed by catenative been followed by catenative being, consider (5.36).

(5.36)
| ?- tphrase_set_string([w('D','A'), w('N','ship'), w('MD',';~cat_Vi','may'), w('HV',';~cat_Ve','have'), w('BEN',';~cat_Vg','been'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','sunk')]), parse(clause_top_layer(statement_order,[])).

( (NP-SBJ (D A)
          (N ship))
  (MD;~cat_Vi may)
  (IP-INF-CAT (HV;~cat_Ve have)
              (IP-PPL-CAT (BEN;~cat_Vg been)
                          (IP-PPL-CAT (BAG;~cat_Ve_passive_ being)
                                      (IP-PPL-CAT (NP-LGS *)
                                                  (VVN;~Tn sunk))))))

yes

Calls to reach the output of (5.36) follow (5.37).

(5.37)
clause_top_layer statement_order
subject filled_subject
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_phrase_initial_layer non_interrogative
determiner_phrase_layer non_interrogative
det non_interrogative

[w('D','A')]
internal_np_higher_layer
internal_np_lower_layer
noun

[w('N','ship')]
clause_middle_layer filled_subject
have_be_or_md_finite_layer ;~cat_Vi
modal ;~cat_Vi

[w('MD',';~cat_Vi','may')]
optional_clitic_negation

[]
verb_complements_top_layer ;~cat_Vi filled_subject active_voice
verb_complements_by_code ;~cat_Vi filled_subject active_voice
verb_phrase_layer filled_subject infinitive_inflection active_voice
verb infinitive_inflection ;~cat_Ve

[w('HV',';~cat_Ve','have')]
verb_complements_top_layer ;~cat_Ve filled_subject active_voice
verb_complements_by_code ;~cat_Ve filled_subject active_voice
ip_ppl_active -CAT filled_subject en_participle
verb_phrase_layer filled_subject past_participle active_voice
verb past_participle ;~cat_Vg

[w('BEN',';~cat_Vg','been')]
verb_complements_top_layer ;~cat_Vg filled_subject active_voice
verb_complements_by_code ;~cat_Vg filled_subject active_voice
ip_ppl_active -CAT filled_subject present_participle
verb_phrase_layer filled_subject present_participle active_voice
verb present_participle ;~cat_Ve_passive_

[w('BAG',';~cat_Ve_passive_','being')]
verb_complements_top_layer ;~cat_Ve_passive _filled_subject active_voice
verb_complements_by_code ;~cat_Ve_passive _filled_subject active_voice
ip_ppl_passive -CAT filled_subject past_participle
verb_phrase_layer filled_subject past_participle passive
verb past_participle ;~Tn

[w('VVN',';~Tn','sunk')]
verb_complements_top_layer ;~Tn filled_subject passive
verb_complements_by_code ;~Tn filled_subject passive

[]

Question:

Why do the success and failure results of (5.38)–(5.41) obtain?

(5.38)
| ?- tphrase_set_string([w('WPRO','Who'), w('VBD',';~Tn','saw'), w('WPRO','who'), w('PUNC','?')]), parse(sentence).

(CP-QUE (IP-SUB (NP-51 (WPRO Who))
                (NP-SBJ *ICH*-51)
                (VBD;~Tn saw)
                (NP-OB1 (WPRO who)))
        (PUNC ?))
yes
(5.39)
| ?- tphrase_set_string([w('WPRO','Who'), w('WPRO','who'), w('VBD',';~Tn','saw'), w('PUNC','?')]), parse(sentence).

no
(5.40)
| ?- tphrase_set_string([w('WPRO','Who'), w('DOD','','did'), w('NPR','John'), w('VB',';~Tn','see'), w('PUNC','?')]), parse(sentence).

(CP-QUE (IP-SUB (NP-172 (WPRO Who))
                (DOD did)
                (NP-SBJ (NPR John))
                (VB;~Tn see)
                (NP-OB1 *ICH*-172))
        (PUNC ?))
yes
(5.41)
| ?- tphrase_set_string([w('WPRO','Who'), w('DOD','','did'), w('WPRO','who'), w('VB',';~Tn','see'), w('PUNC','?')]), parse(sentence).

no

Question:

Why do the success and failure results of (5.42)–(5.44) obtain?

(5.42)
| ?- tphrase_set_string([w('NPR','John'), w('HVD',';~cat_Ve','had'), w('HVN',';~Tn','had'), w('D','some'), w('N','tea'), w('PUNC','.')]), parse(sentence).

(IP-MAT (NP-SBJ (NPR John))
        (HVD;~cat_Ve had)
        (IP-PPL-CAT (HVN;~Tn had)
                    (NP-OB1 (D some)
                            (N tea)))
        (PUNC .))

yes
(5.43)
| ?- tphrase_set_string([w('NPR','John'), w('HVD',';~cat_Ve','had'), w('HVN',';~cat_Ve','had'), w('HVN',';~Tn','had'), w('D','some'), w('N','tea'), w('PUNC','.')]), parse(sentence).

no
(5.44)
| ?- tphrase_set_string([w('NPR','John'), w('HVD',';~cat_Ve','had'), w('HVN',';~cat_Vt','had'), w('TO','to'), w('HV',';~cat_Ve','have'), w('HVN',';~cat_Vt','had'), w('TO','to'), w('HV',';~cat_Ve','have'), w('HVN',';~Tn','had'), w('D','some'), w('N','tea'), w('PUNC','.')]), parse(sentence).

(IP-MAT (NP-SBJ (NPR John))
        (HVD;~cat_Ve had)
        (IP-PPL-CAT (HVN;~cat_Vt had)
                    (IP-INF-CAT (TO to)
                                (HV;~cat_Ve have)
                                (IP-PPL-CAT (HVN;~cat_Vt had)
                                            (IP-INF-CAT (TO to)
                                                        (HV;~cat_Ve have)
                                                        (IP-PPL-CAT (HVN;~Tn had)
                                                                    (NP-OB1 (D some)
                                                                            (N tea)))))))
        (PUNC .))

yes

Question:

Why do the success and failure results of (5.45)–(5.49) obtain?

(5.45)
| ?- tphrase_set_string([w('DO','','Do'), w('NEG;_clitic_','n<apos>t'), w('BE',';~La','be'), w('ADJ','shy'), w('PUNC','.')]), parse(sentence).

(IP-IMP (DO Do)
        (NEG;_clitic_ n<apos>t)
        (BE;~La be)
        (ADJP-PRD2 (ADJ shy))
        (PUNC .))

yes
(5.46)
| ?- tphrase_set_string([w('PRO','I'), w('DOP','','do'), w('NEG;_clitic_','n<apos>t'), w('BE',';~La','be'), w('ADJ','shy'), w('PUNC','.')]), parse(sentence).

no
(5.47)
| ?- tphrase_set_string([w('PRO','I'), w('HVP',';~cat_Ve','have'), w('BEN',';~La','been'), w('ADJ','busy'), w('PUNC','.')]), parse(sentence).

(IP-MAT (NP-SBJ (PRO I))
        (HVP;~cat_Ve have)
        (IP-PPL-CAT (BEN;~La been)
                    (ADJP-PRD2 (ADJ busy)))
        (PUNC .))

yes
(5.48)
| ?- tphrase_set_string([w('PRO','I'), w('DOP','','do'), w('NEG;_clitic_','n<apos>t'), w('HV',';~cat_Ve','have'), w('BEN',';~LA','been'), w('ADJ','busy'), w('PUNC','.')]), parse(sentence).

no
(5.49)
| ?- tphrase_set_string([w('PRO','I'), w('DOP','','do'), w('NEG;_clitic_','n<apos>t'), w('HV',';~Tn','have'), w('D','any'), w('N','money'), w('PUNC','.')]), parse(sentence).

(IP-MAT (NP-SBJ (PRO I))
        (DOP do)
        (NEG;_clitic_ n<apos>t)
        (HV;~Tn have)
        (NP-OB1 (D any)
                (N money))
        (PUNC .))

yes

Question:

At what levels of the clause structure do the coordinations of (5.50)–(5.53) happen?

(5.50)
[w('NS','Phones'), w('BED',';~cat_Vg','were'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','tapped'), w('CONJ','and'), w('VVN',';~Tn.pr','put'), w('P-ROLE','out_of'), w('N','action'), w('PUNC','.')]
(5.51)
[w('NS','Phones'), w('BED',';~cat_Vg','were'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','tapped'), w('CONJ','and'), w('VAG',';~Ipr','going'), w('P-ROLE','out_of'), w('N','action'), w('PUNC','.')]
(5.52)
[w('NS','Phones'), w('BED',';~cat_Vg','were'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','tapped'), w('CONJ','and'), w('VBD',';~Ipr','went'), w('P-ROLE','out_of'), w('N','action'), w('PUNC','.')]
(5.53)
[w('NS','Phones'), w('BED',';~cat_Vg','were'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','tapped'), w('CONJ','and'), w('NS','computers'), w('VBD',';~Ipr','went'), w('P-ROLE','out_of'), w('N','action'), w('PUNC','.')]

5.6    Existential there

An existential there (tagged EX) starts the ripple effect of needing a locally present verb that is marked with an existential verb code by setting the SbjType parameter of the clause to have there_subject as its value. The existential verb licensed by this SbjType parameter setting might be the main verb (with code ;~ex_V, ;~ex_Vp, or ;~ex_Vpr) or a catenative verb (with code ;~ex_cat_Vt, ;~ex_cat_Vg, or ;~ex_cat_Ve_passive_). Either way, this verb itself gives rise to the additional need for an existential subject (NP-ESBJ) as one of its selected complements.

    As an example with there and an existential verb with code ;~ex_V, consider (5.54).

(5.54)
| ?- tphrase_set_string([w('BEP',';~ex_V','Is'), w('EX','there'), w('D','a'), w('N','doctor')]), parse(clause_top_layer(matrix_interrogative,[])).

( (BEP;~ex_V Is)
  (EX there)
  (NP-ESBJ (D a)
           (N doctor)))

yes

Calls to reach the output of (5.54) follow (5.55).

(5.55)
clause_top_layer matrix_interrogative
have_be_or_md_finite_layer ;~ex_V

[w('BEP',';~ex_V','Is')]
optional_clitic_negation

[]
subject there_subject

[w('EX','there')]
verb_complements_top_layer ;~ex_V there_subject active_voice
verb_complements_by_code ;~ex_V there_subject active_voice
noun_phrase -ESBJ general
noun_phrase_top general
noun_phrase_initial_layer general
determiner_phrase_layer general
det general

[w('D','a')]
internal_np_higher_layer
internal_np_lower_layer
noun

[w('N','doctor')]

    There is in principle no limit to the distance between the instance of there which sets the SbjType parameter of the clause to the there_subject value and the occurrence of the existential verb that needs this parameter setting, provided this happens in the same clause and the there_subject setting of the SbjType parameter is able to hold at the location where the existential verb occurs. As an example of distance, consider (5.56).

(5.56)
| ?- tphrase_set_string([w('EX','there'), w('MD',';~cat_Vt','ought'), w('TO','to'), w('HV',';~cat_Ve','have'), w('BEN',';~ex_V','been'), w('D','a'), w('N','doctor')]), parse(clause_top_layer(statement_order,[])).

( (EX there)
  (MD;~cat_Vt ought)
  (IP-INF-CAT (TO to)
              (HV;~cat_Ve have)
              (IP-PPL-CAT (BEN;~ex_V been)
                          (NP-ESBJ (D a)
                                   (N doctor)))))

yes

Calls to reach the output of (5.56) follow (5.57).

(5.57)
clause_top_layer statement_order
subject there_subject

[w('EX','there')]
clause_middle_layer there_subject
have_be_or_md_finite_layer ;~cat_Vt
modal ;~cat_Vt

[w('MD',';~cat_Vt','ought')]
optional_clitic_negation

[]
verb_complements_top_layer ;~cat_Vt there_subject active_voice
verb_complements_by_code ;~cat_Vt there_subject active_voice
to_inf_layer there_subject
to

[w('TO','to')]
verb_phrase_layer there_subject infinitive_inflection active_voice
verb infinitive_inflection ;~cat_Ve

[w('HV',';~cat_Ve','have')]
verb_complements_top_layer ;~cat_Ve there_subject active_voice
verb_complements_by_code ;~cat_Ve there_subject active_voice
ip_ppl_active -CAT there_subject en_participle
verb_phrase_layer there_subject past_participle active_voice
verb past_participle ;~ex_V

[w('BEN',';~ex_V','been')]
verb_complements_top_layer ;~ex_V there_subject active_voice
verb_complements_by_code ;~ex_V there_subject active_voice
noun_phrase -ESBJ general
noun_phrase_top general
noun_phrase_initial_layer general
determiner_phrase_layer general
det general

[w('D','a')]
internal_np_higher_layer
internal_np_lower_layer
noun

[w('N','doctor')]

    If the existential verb is a catenative verb, then the subject parameter is changed from its there_subject value to having a filled_subject value for the continuation of the parsing of the -CAT complement selected by the catenative verb. We can see this change happen by considering (5.58), with its existential verb that has code ;~ex_cat_Vg.

(5.58)
| ?- tphrase_set_string([w('BEP',';~ex_cat_Vg','Is'), w('EX','there'), w('Q;_nphd_','nobody_else'), w('VAG',';~I','coming')]), parse(clause_top_layer(matrix_interrogative,[])).

( (BEP;~ex_cat_Vg Is)
  (EX there)
  (NP-ESBJ (Q;_nphd_ nobody_else))
  (IP-PPL-CAT (VAG;~I coming)))

yes

Calls to reach the output of (5.58) follow (5.59).

(5.59)
clause_top_layer matrix_interrogative
have_be_or_md_finite_layer ;~ex_cat_Vg

[w('BEP',';~ex_cat_Vg','Is')]
optional_clitic_negation

[]
subject there_subject

[w('EX','there')]
verb_complements_top_layer ;~ex_cat_Vg there_subject active_voice
verb_complements_by_code ;~ex_cat_Vg there_subject active_voice
noun_phrase -ESBJ general
noun_phrase_top general
noun_phrase_initial_layer general
noun_head

[w('Q;_nphd_','nobody_else')]
ip_ppl_active -CAT filled_subject present_participle
verb_phrase_layer filled_subject present_participle active_voice
verb present_participle ;~I

[w('VAG',';~I','coming')]
verb_complements_top_layer ;~I filled_subject active_voice
verb_complements_by_code ;~I filled_subject active_voice

[]

Question:

Consider (5.60)–(5.62) taken from Lumsden (1988, p. 4), illustrating the ‘left most be condition’. What are the parse results, if any? Do the results reflect your expectations, and can you describe the cause of any parse failure?

(5.60)
[w('EX','There'), w('BED',';~ex_cat_Vg','was'), w('D','a'), w('N','man'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','interrogated'), w('PUNC','.')]
(5.61)
[w('EX','There'), w('BED',';~cat_Vg','was'), w('BAG',';~ex_cat_Ve_passive_','being'), w('D','a'), w('N','man'), w('VVN',';~Tn','interrogated'), w('PUNC','.')]
(5.62)
[w('EX','There'), w('BED',';~cat_Vt','was'), w('TO','to'), w('HV',';~cat_Ve','have'), w('BEN',';~ex_cat_Ve_passive_','been'), w('D','a'), w('N','man'), w('VVN',';~Tn','interrogated'), w('PUNC','.')]