Chapter 6

Clause subordination


6.1    Introduction

This chapter is concerned with integrating clause subordination into a parse. A clause can be subordinate in virtue of being an argument for a containing clause, such as being a subject or object. Section 6.2 considers that-clauses, which are finite clauses that typically function as an argument for a containing clause. Section 6.3 looks at embedded questions, which are also often arguments for a containing clause, but can also be preposition complements.

    When a subordinate clause has a subject role within the containing clause, it will often occur as a notional subject extraposed to the right edge of the containing clause and in co-occurrence with a provisional subject it of the containing clause. Section 6.4 notes how parsing can capture the ripple effect connecting a provisional subject it and an extraposed notional subject. Similarly, section 6.5 shows the tough-construction with its ripple effect connecting a derived subject noun phrase and an extraposed notional subject that is a to-infinitive clause.

    A clause can also be the subordinate component of a subordinate conjunction, which is covered in section 6.6. Section 6.7 includes the possibility of having a participle clause as the required complement of a preposition to give a preposition phrase.

    In section 6.8, subordination is also seen to occur with relative clauses, where a clause possibly with an initial relative pronoun and with an absence elsewhere of a selected clause item acts as a modifier. Section 6.9 adds support for cleft constructions.

    The chapter ends with a look at the V_as_though/as_if/like-construction in section 6.10.


6.2    CP-THT (that-clause)

A that-clause is an embedded clause with a finite verb. This may have the complementizer that (tagged C) as the clause initial word. A that-clause has a maximal constituent with the CP-THT tag that can take function information as a tag extension from the Ext parameter of the cp_that rules of (6.1).

    Rule 1 of (6.1) will construct a CP-THT that has as its only element a finite clause layer (IP-SUB), which in turn contains all the clause content gathered with a clause_that_layer rule of (6.3), including any clause initial complementizer. Presence or absence of an initial complementizer can be determined by the Type parameter, which is set to either:

    If there is conjunction at the highest level of a that-clause, then this happens inside the IP-SUB layer within an ILYR (clause intermediate) layer constructed with rule 2 of (6.1), which in turn calls recursive cp_that_tail of (6.2), which, through additional calls of clause_that_layer, picks up from the word list the content for conjuncts that occur after the first conjunct.

(6.1)
cp_that(Ext,Type,Displaced,[node(Label,[node('IP-SUB',IL)])|L],L) -->
  clause_that_layer(Type,Displaced,IL,[]),
  {
    atom_concat('CP-THT',Ext,Label)
  }.
cp_that(Ext,Type,Displaced,[node(Label,[node('IP-SUB',[node('ILYR',[node('ILYR',IL)|CL])])])|L],L) -->
  clause_that_layer(Type,Displaced,IL,[]),
  cp_that_tail(Type,Displaced,CL,[]),
  {
    atom_concat('CP-THT',Ext,Label)
  }.
(6.2)
cp_that_tail(Type,Displaced,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  clause_that_layer(Type,Displaced,IL,[]).
cp_that_tail(Type,Displaced,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  clause_that_layer(Type,Displaced,IL,[]),
  cp_that_tail(Type,Displaced,L,L0).

    The internal content for (a conjunct of) a that-clause is gathered with the clause_that_layer rules of (6.3). The rule followed can depend on:

Rule 1 applies if the word list has no that-complementizer and no clause subject and there is a noun phrase to inherit from the Displaced parameter. Rule 2 applies if there is a that-complementizer and content from the word list for a clause with subject. Rule 3 applies if there is no that-complementizer but there is content from the word list for a clause with subject.

(6.3)
clause_that_layer(without_c,[np(ICH)|Displaced],[node('NP-SBJ',[ICH])|L],L0) -->
  clause_middle_layer(Displaced,filled_subject,L,L0).
clause_that_layer(with_c,Displaced,L,L0) -->
  comp(L,L1),
  clause_top_layer(statement_order,Displaced,L1,L0).
clause_that_layer(without_c,Displaced,L,L0) -->
  clause_top_layer(statement_order,Displaced,L,L0).

    As an example with a that-clause that is the object complement of think, consider (6.4).

(6.4)
| ?- tphrase_set_string([w('WPRO','Who'), w('DOP','','do'), w('PRO','you'), w('VB',';~Tf','think'), w('MD',';~cat_Vi','will'), w('VB',';~Ip','arrive'), w('ADV','early'), w('PUNC','?')]), parse(sentence).

(CP-QUE (IP-SUB (NP-349 (WPRO Who))
                (DOP do)
                (NP-SBJ (PRO you))
                (VB;~Tf think)
                (CP-THT-OB1 (IP-SUB (NP-SBJ *ICH*-349)
                                    (MD;~cat_Vi will)
                                    (IP-INF-CAT (VB;~Ip arrive)
                                                (ADVP-CLR (ADV early))))))
        (PUNC ?))

yes

The calls of (6.5) show cp_that taking -OB1 function information as an extension to the CP-THT tag and inheriting a Displaced parameter that contains np(node('*ICH*-163',[])). This inherited np(node('*ICH*-163',[])) is then removed from the Displaced parameter so that it can function as the subject of the that-clause through a call of rule 1 of clause_that_layer, which goes on to call clause_middle_layer.

(6.5)
sentence
clause_top_layer matrix_interrogative
noun_phrase -163 interrogative
noun_phrase_top interrogative
noun_head_full interrogative

[w('WPRO','Who')]
clause_top_layer matrix_constituent_interrogative [np(node('*ICH*-163',[]))]
operator_layer

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

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

[w('PRO','you')]
verb_phrase_layer [np(node('*ICH*-163',[]))] filled_subject infinitive_inflection active_voice
verb infinitive_inflection ;~Tf

[w('VB',';~Tf','think')]
verb_complements_top_layer ;~Tf [np(node('*ICH*-163',[]))] filled_subject active_voice
verb_complements_by_code ;~Tf [np(node('*ICH*-163',[]))] filled_subject active_voice
cp_that -OB1 [np(node('*ICH*-163',[]))]
clause_that_layer [np(node('*ICH*-163',[]))]
clause_middle_layer filled_subject
have_be_or_md_finite_layer ;~cat_Vi
modal ;~cat_Vi

[w('MD',';~cat_Vi','will')]
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 ;~Ip

[w('VB',';~Ip','arrive')]
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','early')]
punc final_question

[w('PUNC','?')]

Question

Example (6.6) differs from (6.4) above by including a complementizer (w('C','that')) with the consequence that parsing fails. (This is an example of the so-called that-trace effect.) In contrast, (6.7) can be successfully parsed despite the inclusion of a complementizer. Why does this contrast occur?

(6.6)
[w('WPRO','Who'), w('DOP','','do'), w('PRO','you'), w('VB',';~Tf','think'), w('C','that'), w('MD',';~cat_Vi','will'), w('VB',';~Ip','arrive'), w('ADV','early'), w('PUNC','?')]
(6.7)
[w('WPRO','Who'), w('DOP','','do'), w('PRO','you'), w('VB',';~Tf','think'), w('C','that'), w('PRO','you'), w('MD',';~cat_Vi','will'), w('VB',';~Tni','see'), w('VB',';~Ip','arrive'), w('ADV','early'), w('PUNC','?')]

6.3    CP-QUE projections that are embedded question clauses

An embedded question clause is formed by having an initial clause component that is either:

(i)
an embedded question clause marker tagged WQ, which is either whether or if
(ii)
a phrase with interrogative type information

A clause with (i) is an embedded yes/no question. A clause with (ii) is a constituent question. The internal clause can be missing a selected item when case (ii) holds. In addition to the possibilities of (i) and (ii), internally an embedded question clause can be either:

    The maximal constituent of an embedded question clause has the CP-QUE tag, together with any extension from the Ext parameter taken by cp_embedded_que of (6.8). A cp_embedded_que call can involve a subsequent call of clause_embedded_que_finite_top_layer to gather under an immediately embedded IP-SUB projection the content of either:

A cp_embedded_que call can also involve a subsequent call of clause_embedded_que_to_inf_top_layer to gather under an immediately embedded IP-INF projection the content of either:

(6.8)
cp_embedded_que(Ext,Displaced,[node(Label,[node('IP-SUB',IL)])|L],L) -->
  clause_embedded_que_finite_top_layer(Displaced,IL,[]),
  {
    atom_concat('CP-QUE',Ext,Label)
  }.
cp_embedded_que(Ext,Displaced,[node(Label,[node('IP-SUB',[node('ILYR',[node('ILYR',IL)|CL])])])|L],L) -->
  clause_embedded_que_finite_top_layer(Displaced,IL,[]),
  cp_embedded_que_finite_tail(Displaced,CL,[]),
  {
    atom_concat('CP-QUE',Ext,Label)
  }.
cp_embedded_que(Ext,Displaced,[node(Label,[node('IP-INF',IL)])|L],L) -->
  clause_embedded_que_to_inf_top_layer(Displaced,IL,[]),
  {
    atom_concat('CP-QUE',Ext,Label)
  }.
cp_embedded_que(Ext,Displaced,[node(Label,[node('IP-INF',[node('ILYR',[node('ILYR',IL)|CL])])])|L],L) -->
  clause_embedded_que_to_inf_top_layer(Displaced,IL,[]),
  cp_embedded_que_to_inf_tail(Displaced,CL,[]),
  {
    atom_concat('CP-QUE',Ext,Label)
  }.
(6.9)
cp_embedded_que_finite_tail(Displaced,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  clause_embedded_que_finite_top_layer(Displaced,IL,[]).
cp_embedded_que_finite_tail(Displaced,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  clause_embedded_que_finite_top_layer(Displaced,IL,[]),
  cp_embedded_que_finite_tail(Displaced,L,L0).
(6.10)
cp_embedded_que_to_inf_tail(Displaced,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  clause_embedded_que_to_inf_top_layer(Displaced,IL,[]).
cp_embedded_que_to_inf_tail(Displaced,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  clause_embedded_que_to_inf_top_layer(Displaced,IL,[]),
  cp_embedded_que_to_inf_tail(Displaced,L,L0).

6.3.1    Embedded question clauses that are finite clauses with statement word order

The content of an embedded question clause that is a finite clause with statement word order is gathered with clause_embedded_que_finite_top_layer of (6.11). This gives rules that differ in how the embedded question is introduced:

(6.11)
clause_embedded_que_finite_top_layer(Displaced,L,L0) -->
  comp_wq(L,L1),
  clause_top_layer(statement_order,Displaced,L1,L0).
clause_embedded_que_finite_top_layer(Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  noun_phrase(Index,interrogative,L,L1),
  clause_embedded_que_finite_lower_layer([np(node(ICH,[]))|Displaced],L1,L0).
clause_embedded_que_finite_top_layer(Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  adverb_phrase(Index,interrogative,L,L1),
  clause_top_layer(statement_order,[advp(node(ICH,[]))|Displaced],L1,L0).
clause_embedded_que_finite_top_layer(Displaced,L,L0) -->
  adverb_phrase('-NIM',interrogative,L,L1),
  clause_top_layer(statement_order,Displaced,L1,L0).

    Calls to clause_embedded_que_finite_lower_layer of (6.12) differ on how the displaced noun phrase of the embedded question clause will be integrated:

(6.12)
clause_embedded_que_finite_lower_layer([np(ICH)|Displaced],[node('NP-SBJ',[ICH])|L],L0) -->
  clause_middle_layer(Displaced,filled_subject,L,L0).
clause_embedded_que_finite_lower_layer(Displaced,L,L0) -->
  clause_top_layer(statement_order,Displaced,L,L0).

    As an example with an embedded question clause that is a finite clause with an initial embedded question clause marker and that is the object complement of asked, consider (6.13).

(6.13)
| ?- tphrase_set_string([w('PRO','He'), w('VBD',';~Dn.w','asked'), w('PRO','her'), w('WQ','whether'), w('PRO','she'), w('MD',';~cat_Vi','would'), w('VB',';~Ip','arrive'), w('ADV','early'), w('PUNC','.')]), parse(sentence).

(IP-MAT (NP-SBJ (PRO He))
        (VBD;~Dn.w asked)
        (NP-OB2 (PRO her))
        (CP-QUE-OB1 (IP-SUB (WQ whether)
                            (NP-SBJ (PRO she))
                            (MD;~cat_Vi would)
                            (IP-INF-CAT (VB;~Ip arrive)
                                        (ADVP-CLR (ADV early)))))
        (PUNC .))

yes

Calls to reach the output of (6.13) follow (6.14).

(6.14)
sentence
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')]
verb_phrase_layer filled_subject finite_inflection active_voice
verb finite_inflection ;~Dn.w

[w('VBD',';~Dn.w','asked')]
verb_complements_top_layer ;~Dn.w filled_subject active_voice
verb_complements_by_code ;~Dn.w filled_subject active_voice
noun_phrase -OB2 general
noun_phrase_top general
noun_head_full general

[w('PRO','her')]
cp_embedded_que -OB1
clause_embedded_que_finite_top_layer
comp_wq

[w('WQ','whether')]
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','she')]
clause_middle_layer filled_subject
have_be_or_md_finite_layer ;~cat_Vi
modal ;~cat_Vi

[w('MD',';~cat_Vi','would')]
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 ;~Ip

[w('VB',';~Ip','arrive')]
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','early')]
punc final

[w('PUNC','.')]

Question:

Why do the success and failure results of (6.15)–(6.17) obtain?

(6.15)
| ?- tphrase_set_string([w('PRO','They'), w('VBP',';~Tw','know'), w('WPRO','who'), w('PRO','they'), w('MD',';~cat_Vi','should'), w('VB',';~Tn','invite'), w('PUNC','.')]), parse(sentence).

(IP-MAT (NP-SBJ (PRO They))
        (VBP;~Tw know)
        (CP-QUE-OB1 (IP-SUB (NP-419 (WPRO who))
                            (NP-SBJ (PRO they))
                            (MD;~cat_Vi should)
                            (IP-INF-CAT (VB;~Tn invite)
                                        (NP-OB1 *ICH*-419))))
        (PUNC .))
yes
(6.16)
| ?- tphrase_set_string([w('PRO','They'), w('VBP',';~Tw','know'), w('WPRO','who'), w('WPRO','who'), w('MD',';~cat_Vi','should'), w('VB',';~Tn','invite'), w('PUNC','.')]), parse(sentence).

no
(6.17)
| ?- tphrase_set_string([w('PRO','They'), w('VBP',';~Tw','know'), w('WPRO','who'), w('MD',';~cat_Vi','should'), w('VB',';~Tn','invite'), w('WPRO','who'), w('PUNC','.')]), parse(sentence).

(IP-MAT (NP-SBJ (PRO They))
        (VBP;~Tw know)
        (CP-QUE-OB1 (IP-SUB (NP-599 (WPRO who))
                            (NP-SBJ *ICH*-599)
                            (MD;~cat_Vi should)
                            (IP-INF-CAT (VB;~Tn invite)
                                        (NP-OB1 (WPRO who)))))
        (PUNC .))

yes

6.3.2    Embedded question clauses that are to-infinitive clauses

The content of an embedded question clause that is a to-infinitive clause is gathered with clause_embedded_que_to_inf_top_layer of (6.18). These rules find clause content with to_inf_layer of section 5.4.2 but differ in how the embedded question is introduced:

(6.18)
clause_embedded_que_to_inf_top_layer(Displaced,L,L0) -->
  comp_wq(L,L1),
  to_inf_layer(Displaced,filled_subject,active_voice,L1,L0).
clause_embedded_que_to_inf_top_layer(Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  noun_phrase(Index,interrogative,L,L1),
  to_inf_layer([np(node(ICH,[]))|Displaced],filled_subject,active_voice,L1,L0).
clause_embedded_que_to_inf_top_layer(Displaced,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  adverb_phrase(Index,interrogative,L,L1),
  to_inf_layer([advp(node(ICH,[]))|Displaced],filled_subject,active_voice,L1,L0).
clause_embedded_que_to_inf_top_layer(Displaced,L,L0) -->
  adverb_phrase('-NIM',interrogative,L,L1),
  to_inf_layer(Displaced,filled_subject,active_voice,L1,L0).

    As an example with an embedded question clause that is a to-infinitive clause with an initial displaced noun phrase containing a WH-pronoun (WPRO) and that is the object complement of wondered, consider (6.19).

(6.19)
| ?- tphrase_set_string([w('PRO','She'), w('VBD',';~Tw','wondered'), w('WPRO','what'), w('TO','to'), w('DO',';~Tn','do'), w('PUNC','.')]), parse(sentence).

(IP-MAT (NP-SBJ (PRO She))
        (VBD;~Tw wondered)
        (CP-QUE-OB1 (IP-INF (NP-453 (WPRO what))
                            (TO to)
                            (DO;~Tn do)
                            (NP-OB1 *ICH*-453)))
        (PUNC .))

yes

Calls to reach the output of (6.19) follow (6.20).

(6.20)
sentence
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','She')]
clause_middle_layer filled_subject
verb_phrase_layer filled_subject finite_inflection active_voice
verb finite_inflection ;~Tw

[w('VBD',';~Tw','wondered')]
verb_complements_top_layer ;~Tw filled_subject active_voice
verb_complements_by_code ;~Tw filled_subject active_voice
cp_embedded_que -OB1
clause_embedded_que_to_inf_top_layer
noun_phrase -453 interrogative
noun_phrase_top interrogative
noun_head_full interrogative

[w('WPRO','what')]
to_inf_layer [np(node('*ICH*-453',[]))] filled_subject active_voice
to

[w('TO','to')]
verb_phrase_layer [np(node('*ICH*-453',[]))] filled_subject infinitive_inflection active_voice
verb infinitive_inflection ;~Tn

[w('DO',';~Tn','do')]
verb_complements_top_layer ;~Tn [np(node('*ICH*-453',[]))] filled_subject active_voice
verb_complements_by_code ;~Tn [np(node('*ICH*-453',[]))] filled_subject active_voice

[]
punc final

[w('PUNC','.')]

6.3.3    Embedded questions as preposition complements

We have seen that there are:

  • embedded question clauses that are finite clauses with statement word order
  • embedded question clauses that are to-infinitive clauses.
  • Both types are able to be preposition complements.

        As an example of a preposition complement that is an embedded question finite clause with statement word order, consider (6.21).

    (6.21)
    | ?- tphrase_set_string([w('ADJ','concerned'), w('P-ROLE','with'), w('WADV','how'), w('PRO','we'), w('MD',';~cat_Vi','can'), w('VB',';~Tn','save'), w('NS','hedgehogs')]), parse(adjective_phrase('-PRD2',general)).

    (ADJP-PRD2 (ADJ concerned)
               (PP (P-ROLE with)
                   (CP-QUE (IP-SUB (ADVP-NIM (WADV how))
                                   (NP-SBJ (PRO we))
                                   (MD;~cat_Vi can)
                                   (IP-INF-CAT (VB;~Tn save)
                                               (NP-OB1 (NS hedgehogs)))))))

    yes

    Calls to reach the output of (6.21) follow (6.22).

    (6.22)
    adjective_phrase -PRD2 general
    adjective_phrase_layer general
    adjective_phrase_layer general
    adj general

    [w('ADJ','concerned')]
    preposition_phrase general
    preposition_phrase_layer general
    role

    [w('P-ROLE','with')]
    cp_embedded_que
    clause_embedded_que_finite_top_layer
    adverb_phrase -NIM interrogative
    adverb_phrase_layer interrogative
    adv interrogative

    [w('WADV','how')]
    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','we')]
    clause_middle_layer filled_subject
    have_be_or_md_finite_layer ;~cat_Vi
    modal ;~cat_Vi

    [w('MD',';~cat_Vi','can')]
    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 ;~Tn

    [w('VB',';~Tn','save')]
    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
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('NS','hedgehogs')]

        As an example of a preposition complement that is an embedded question to-infinitive clause, consider (6.23).

    (6.23)
    | ?- tphrase_set_string([w('D','the'), w('N','choice'), w('P-ROLE','of'), w('WADV','where'), w('TO','to'), w('VB',';~Tn','buy'), w('PRO;_genm_','my'), w('N','home')]), parse(noun_phrase('',general)).

    (NP (D the)
        (N choice)
        (PP (P-ROLE of)
            (CP-QUE (IP-INF (ADVP-NIM (WADV where))
                            (TO to)
                            (VB;~Tn buy)
                            (NP-OB1 (NP-GENV (PRO;_genm_ my))
                                    (N home))))))

    yes

    Calls to reach the output of (6.23) follow (6.24).

    (6.24)
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

    [w('N','choice')]
    preposition_phrase general
    preposition_phrase_layer general
    role

    [w('P-ROLE','of')]
    cp_embedded_que
    clause_embedded_que_to_inf_top_layer
    adverb_phrase -NIM interrogative
    adverb_phrase_layer interrogative
    adv interrogative

    [w('WADV','where')]
    to_inf_layer filled_subject active_voice
    to

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

    [w('VB',';~Tn','buy')]
    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_layer general
    noun_phrase_genm_layer general
    pronoun_genm general

    [w('PRO;_genm_','my')]
    internal_np_higher_layer
    internal_np_lower_layer
    noun

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

    6.4    The combination of a provisional it and a notional subject

    Rule 4 of the subject definition from section 2.5 picks up a word with word class PRO;_provisional_ which can only be an instance of it. In doing so, the SbjType parameter for the clause is set to provisional_subject. This begins a ripple effect, with provisional_subject needing to change to filled_subject. This change is made by rule 3 of verb_complements_top_layer from section 4.1, repeated here as (6.25), which needs to find a notional subject (-NSBJ) to the right of all the other selected complements of the verb.

    (6.25)
    verb_complements_top_layer(Code,Displaced,provisional_subject,Voice,L-L0) -->
      verb_complements_top_layer(Code,Displaced,filled_subject,Voice,L-L1),
      notional_item('-NSBJ',L1-L0).

        A notional subject is found with a call to notional_item of (6.26), which will be a clause with an -NSBJ extension that is either:

    (6.26)
    notional_item(Ext,L,L0) -->
      cp_that(Ext,_,[],L,L0).
    notional_item(Ext,L,L0) -->
      cp_embedded_que(Ext,[],L,L0).
    notional_item(Ext,L,L0) -->
      ip_to_inf(Ext,[],L,L0).
    notional_item(Ext,L,L0) -->
      ip_ppl_active(Ext,[],filled_subject,present_participle,L,L0).

    6.4.1    The notional subject as a that-clause

    As an example with the combination of a provisional it and a that-clause notional subject, consider (6.27).

    (6.27)
    | ?- tphrase_set_string([w('PRO;_provisional_','It'), w('BED',';~La','was'), w('ADJ','good'), w('C','that'), w('PRO','he'), w('DOD','did'), w('NEG;_clitic_','n<apos>t'), w('VB',';~I','come'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (PRO;_provisional_ It))
            (BED;~La was)
            (ADJP-PRD2 (ADJ good))
            (CP-THT-NSBJ (IP-SUB (C that)
                                 (NP-SBJ (PRO he))
                                 (DOD did)
                                 (NEG;_clitic_ n<apos>t)
                                 (VB;~I come)))
            (PUNC .))

    yes

    Calls to reach the output of (6.27) follow (6.28).

    (6.28)
    sentence
    clause_top_layer statement_order
    subject provisional

    [w('PRO;_provisional_','It')]
    clause_middle_layer provisional
    have_be_or_md_finite_layer ;~La

    [w('BED',';~La','was')]
    optional_clitic_negation

    []
    verb_complements_top_layer ;~La provisional active_voice
    verb_complements_top_layer ;~La provisional active_voice
    verb_complements_by_code ;~La filled_subject active_voice
    adjective_phrase -PRD2 general
    adjective_phrase_layer general
    adj general

    [w('ADJ','good')]
    notional_subject
    cp_that -NSBJ
    clause_that_layer
    comp

    [w('C','that')]
    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
    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 ;~I

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

    []
    punc final

    [w('PUNC','.')]

    6.4.2    The notional subject as a to-infinitive clause

    Rule 3 for notional_item of (6.26) above calls the ip_to_inf rule of (6.29), which subsequently finds content for a to-infinitive clause with a call to to_inf_top_layer of (6.30). This gives overall structure labelled IP-INF, together with any extension from the Ext parameter.

    (6.29)
    ip_to_inf(Ext,Displaced,[node(Label,VL)|L],L) -->
      to_inf_top_layer(Displaced,VL,[]),
      {
        atom_concat('IP-INF',Ext,Label)
      }.
    (6.30)
    to_inf_top_layer(Displaced,L,L0) -->
      to_inf_layer(Displaced,unfilled_subject,active_voice,L,L0).
    to_inf_top_layer(Displaced,L,L0) -->
      to_inf_layer(Displaced,filled_subject,active_voice,L,L0).

    Both rules of to_inf_top_layer call to_inf_layer of section 5.4.2. They differ in the values taken by the SbjType parameter:

  • unfilled_subject
  • filled_subject
  •     As an example with the combination of a provisional it and a to-infinitive clause notional subject, consider (6.27).

    (6.31)
    | ?- tphrase_set_string([w('PRO;_provisional_','It'), w('ADV','always'), w('VBP',';~Dn.n','gives'), w('PRO','me'), w('D','a'), w('N','twist'), w('ADV','inside'), w('TO','to'), w('VB',';~Tn','hear'), w('PRO','it'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (PRO;_provisional_ It))
            (ADVP-NIM (ADV always))
            (VBP;~Dn.n gives)
            (NP-OB2 (PRO me))
            (NP-OB1 (D a)
                    (N twist))
            (ADVP-NIM (ADV inside))
            (IP-INF-NSBJ (TO to)
                         (VB;~Tn hear)
                         (NP-OB1 (PRO it)))
            (PUNC .))

    yes

    Calls to reach the output of (6.31) follow (6.32).

    (6.32)
    sentence
    clause_top_layer statement_order
    subject provisional

    [w('PRO;_provisional_','It')]
    clause_middle_layer provisional
    adverb_phrase -NIM general
    adverb_phrase_layer general
    adv general

    [w('ADV','always')]
    clause_middle_layer provisional
    verb_phrase_layer _provisional finite_inflection active_voice
    verb finite_inflection ;~Dn.n

    [w('VBP',';~Dn.n','gives')]
    verb_complements_top_layer ;~Dn.n provisional active_voice
    verb_complements_top_layer ;~Dn.n filled_subject active_voice
    verb_complements_top_layer ;~Dn.n filled_subject active_voice
    verb_complements_by_code ;~Dn.n filled_subject active_voice
    noun_phrase -OB2 general
    noun_phrase_top general
    noun_head_full general

    [w('PRO','me')]
    noun_phrase -OB1 general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

    [w('N','twist')]
    adverbial
    adverb_phrase -NIM general
    adverb_phrase_layer general
    adv general

    [w('ADV','inside')]
    notional_item -NSBJ
    ip_to_inf -NSBJ
    to_inf_top_layer
    to_inf_layer filled_subject active_voice
    to

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

    [w('VB',';~Tn','hear')]
    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_head_full general

    [w('PUNC','.')]
    punc final

    [w('PUNC','.')]

    6.5    The tough-construction

    Rule 6 of the subject definition from section 2.5 picks up content for a non_interrogative noun phrase with subject function information (NP-SBJ). In doing so, the SbjType parameter for the clause is set to derived_subject. The same SbjType parameter setting is made with rule 10 of clause_top_layer from section 5.2 for the inclusion of a derived subject as an interrogative noun phrase.

        A derived_subject setting for the SbjType parameter of the clause begins a ripple effect that leads to a tough-construction, with the derived_subject setting needing to change to the filled_subject setting. This change is made by rule 2 of verb_complements_top_layer from section 4.1, repeated here as (6.33), which needs to find a notional subject that comes after the selected complement of a linking verb with code ;~La, which will be an adjective phrase with subject predicative function.

    (6.33)
    verb_complements_top_layer(';~La',Displaced,derived_subject,active_voice,L,L0) -->
      verb_complements_top_layer(';~La',[],filled_subject,active_voice,L,[node('IP-INF-NSBJ',VL)|L0]),
      {
        member(SbjType,[filled_subject,unfilled_subject])
      },
      to_inf_layer(Displaced,SbjType,passive_voice,VL,[]).

    The notional subject for (6.33) isbe a to-infinitive clause (IP-INF-NSBJ) with content found by calling to_inf_layer of section 5.4.2. Notably, internally to the to-infinitive clause, the Voice parameter is set to passive_voice, while the SbjType parameter can be set to either filled_subject or unfilled_subject.

        As an example with a derived subject to trigger a tough-construction that leads to a to-infinitive clause notional subject where the SbjType parameter is set to filled_subject, consider (6.34).

    (6.34)
    | ?- tphrase_set_string([w('D','The'), w('N','breaststroke'), w('BEP',';~La','is'), w('ADJ','hard'), w('TO','to'), w('VB',';~Tn','explain'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (D The)
                    (N breaststroke))
            (BEP;~La is)
            (ADJP-PRD2 (ADJ hard))
            (IP-INF-NSBJ (NP-LGS *)
                         (TO to)
                         (VB;~Tn explain))
            (PUNC .))

    yes

    Calls to reach the output of (6.34) follow (6.35).

    (6.35)
    sentence
    clause_top_layer statement_order
    subject derived_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_interrogative
    det non_interrogative

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

    [w('N','breaststroke')]
    clause_middle_layer derived_subject
    verb_phrase_layer derived_subject finite_inflection active_voice
    verb finite_inflection ;~La

    [w('BEP',';~La','is')]
    verb_complements_top_layer ;~La derived_subject active_voice
    verb_complements_top_layer ;~La filled_subject active_voice
    verb_complements_by_code ;~La filled_subject active_voice
    adjective_phrase -PRD2 general
    adjective_phrase_layer general
    adj general

    [w('ADJ','hard')]
    to_inf_layer filled_subject passive_voice
    to

    [w('TO','to')]
    verb_phrase_layer filled_subject infinitive_inflection passive_voice
    verb infinitive_inflection ;~Tn

    [w('VB',';~Tn','explain')]
    verb_complements_top_layer ;~Tn filled_subject passive_voice
    verb_complements_by_code ;~Tn filled_subject passive_voice

    []
    punc final

    [w('PUNC','.')]

        As an example with a derived subject to trigger a tough-construction that leads to a to-infinitive clause notional subject where the SbjType parameter is set to unfilled_subject and where there is inheritance of information about a displaced item, consider (6.36).

    (6.36)
    | ?- tphrase_set_string([w('P-ROLE','With'), w('WD','which'), w('N','word'), w('N','analysis'), w('MD',';~cat_Vi','would'), w('D','this'), w('N','sentence'), w('BE',';~La','be'), w('ADJ','possible'), w('P-CONN','for'), w('D','the'), w('N','system'), w('TO','to'), w('VB',';~Tn.pr','parse'), w('PUNC','?')]), parse(sentence).

    (CP-QUE (IP-SUB (PP-1168 (P-ROLE With)
                             (NP (WD which)
                                 (N word)
                                 (N analysis)))
                    (MD;~cat_Vi would)
                    (NP-SBJ (D this)
                            (N sentence))
                    (IP-INF-CAT (BE;~La be)
                                (ADJP-PRD2 (ADJ possible))
                                (IP-INF-NSBJ (P-CONN for)
                                             (NP-LGS (D the)
                                                     (N system))
                                             (TO to)
                                             (VB;~Tn.pr parse)
                                             (PP-CLR *ICH*-1168))))
            (PUNC ?))

    yes

    Calls to reach the output of (6.36) follow (6.37).

    (6.37)
    sentence
    clause_top_layer matrix_interrogative
    preposition_phrase -3689 interrogative
    preposition_phrase_layer interrogative
    role

    [w('P-ROLE','With')]
    noun_phrase interrogative
    noun_phrase_top interrogative
    noun_phrase_initial_layer interrogative
    determiner_layer interrogative
    det interrogative

    [w('WD','which')]
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('N','word')]
    internal_np_lower_layer
    noun

    [w('N','analysis')]
    clause_top_layer matrix_constituent_interrogative [pp(node('*ICH*-3689',[]))]
    have_be_or_md_finite_layer ;~cat_Vi
    modal ;~cat_Vi

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

    []
    subject derived_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_interrogative
    det non_interrogative

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

    [w('N','sentence')]
    verb_complements_top_layer ;~cat_Vi [pp(node('*ICH*-3689',[]))] derived_subject active_voice
    verb_complements_by_code ;~cat_Vi [pp(node('*ICH*-3689',[]))] derived_subject active_voice
    verb_phrase_layer [pp(node('*ICH*-3689',[]))] derived_subject infinitive_inflection active_voice
    verb infinitive_inflection ;~La

    [w('BE',';~La','be')]
    verb_complements_top_layer ;~La [pp(node('*ICH*-3689',[]))] derived_subject active_voice
    verb_complements_top_layer ;~La filled_subject active_voice
    verb_complements_by_code ;~La filled_subject active_voice
    adjective_phrase -PRD2 general
    adjective_phrase_layer general
    adj general

    [w('ADJ','possible')]
    to_inf_layer [pp(node('*ICH*-3689',[]))] unfilled_subject passive_voice
    conn

    [w('P-CONN','for')]
    noun_phrase -LGS general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

    [w('N','system')]
    to_inf_layer [pp(node('*ICH*-3689',[]))] filled_subject lgs_passive_voice
    to

    [w('TO','to')]
    verb_phrase_layer [pp(node('*ICH*-3689',[]))] filled_subject infinitive_inflection passive_voice
    verb infinitive_inflection ;~Tn.pr

    [w('VB',';~Tn.pr','parse')]
    verb_complements_top_layer ;~Tn.pr [pp(node('*ICH*-3689',[]))] filled_subject passive_voice
    verb_complements_by_code ;~Tn.pr [pp(node('*ICH*-3689',[]))] filled_subject passive_voice

    []
    punc final

    [w('PUNC','?')]

        This change is made by rule 3 of verb_complements_top_layer from section 4.1, repeated here as (6.38). Like (6.33), this needs to find a notional subject that comes after the selected complement of a linking verb with code ;~La, which will be an adjective phrase with subject predicative function.

    (6.38)
    verb_complements_top_layer(';~La',Displaced,derived_subject,active_voice,L,L0) -->
      verb_complements_top_layer(';~La',[],filled_subject,active_voice,L,[node('IP-INF-NSBJ',VL)|L0]),
      to_inf_layer(Displaced,filled_subject,active_voice,VL,[]).
    (6.39)
    | ?- tphrase_set_string([w('NPR','Voyager'), w('BEP',';~La','is'), w('ADJ','likely'), w('TO','to'), w('VB',';~In/pr','survive'), w('D','a'), w('ADJ','billion'), w('NS','years'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (NPR Voyager))
            (BEP;~La is)
            (ADJP-PRD2 (ADJ likely))
            (IP-INF-NSBJ (TO to)
                         (VB;~In/pr survive)
                         (NP-CLR (D a)
                                 (ADJP (ADJ billion))
                                 (NS years)))
            (PUNC .))

    yes

    Calls to reach the output of (6.39) follow (6.40).

    (6.40)
    sentence
    clause_top_layer statement_order
    subject derived_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('NPR','Voyager')]
    clause_middle_layer derived_subject
    verb_phrase_layer derived_subject finite_inflection active_voice
    verb finite_inflection ;~La

    [w('BEP',';~La','is')]
    verb_complements_top_layer ;~La derived_subject active_voice
    verb_complements_top_layer ;~La filled_subject active_voice
    verb_complements_by_code ;~La filled_subject active_voice
    adjective_phrase -PRD2 general
    adjective_phrase_layer general
    adj general

    [w('ADJ','likely')]
    to_inf_layer filled_subject active_voice
    to

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

    [w('VB',';~In/pr','survive')]
    verb_complements_top_layer ;~In/pr filled_subject active_voice
    verb_complements_by_code ;~In/pr filled_subject active_voice
    noun_phrase -CLR general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

    [w('D','a')]
    internal_np_higher_layer
    adjective_phrase general
    adjective_phrase_layer general
    adj

    [w('ADJ','billion')]
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('NS','years')]
    punc final

    [w('PUNC','.')]

    Question

    (6.41)
    [w('PRO;_provisional_','It'), w('BEP',';~La','is'), w('ADJ','likely'), w('P-CONN','for'), w('D','the'), w('N','spacecraft'), w('TO','to'), w('VB',';~I','survive'), w('PUNC','.')]
    (6.42)
    [w('NPR','Voyager'), w('BEP',';~La','is'), w('ADJ','likely'), w('P-CONN','for'), w('D','the'), w('N','spacecraft'), w('TO','to'), w('VB',';~I','survive'), w('PUNC','.')]

    6.6    Subordinate conjunction

    This section focuses on rules able to integrate the subordinate clause component of subordinate conjunctions. These subordinate clauses can reside in containing clauses at locations where preposition phrases with an adverbial function role and adverb phrases are also able to occur, which are typically clause initial or clause final positions. Integration from a containing clause happens when the containing clause is parsed with clause_top_layer or verb_phrase_layer rules (both from section 5.2) that call adverbial from section 2.10. To detect the subordinate clause of a subordinate conjunction, adverbial calls the scon_clause rules of (6.43).

        The rules of (6.43) differ in regards to the type of the subordinate clause contained, that is, either:

    There is also:

    (6.43)
    scon_clause([node('PP-SCON',PL)|L],L) -->
      conn(PL,[node('IP-ADV',IL)]),
      clause_top_layer(statement_order,[],IL,[]).
    scon_clause([node('PP-SCON',PL)|L],L) -->
      conn(PL,[node('IP-INF2;IP-INF',VL)]),
      to_inf_layer([],filled_subject,active_voice,VL,[]).
    scon_clause([node('PP-SCON',PL)|L],L) -->
      conn(PL,[node('IP-PPL2;IP-PPL',IL)]),
      ip_ppl_adverbial_layer(filled_subject,IL,[]).
    scon_clause([node('PP-SCON',PL)|L],L) -->
      conn(PL,[node('IP-PPL3',IL)]),
      ip_ppl_adverbial_layer(unfilled_subject,IL,[]).
    scon_clause([node('PP',[PP1|CL])|L],L) -->
      scon_clause([PP1],[]),
      scon_clause_tail(CL,[]).
    (6.44)
    scon_clause_tail([node('CONJP',[CONJ,PP])|L],L) -->
      conj(CONJ),
      scon_clause([PP],[]).
    scon_clause_tail([PU,node('CONJP',[PP])|L],L0) -->
      punc(non_final,[PU],[]),
      scon_clause([PP],[]),
      scon_clause_tail(L,L0).

    6.6.1    Subordinate conjunction with finite adverbial clauses

    As an example with a finite adverbial clause (IP-ADV) introduced by the subordinate conjunction word (P-CONN) because, consider (6.45).

    (6.45)
    | ?- tphrase_set_string([w('VB',';~I','Tread'), w('ADV','softly'), w('P-CONN','because'), w('PRO','you'), w('VBP',';~Ipr','tread'), w('P-ROLE','on'), w('PRO;_genm_','my'), w('NS','dreams'), w('PUNC','.')]), parse(sentence).

    (IP-IMP (VB;~I Tread)
            (ADVP-NIM (ADV softly))
            (PP-SCON (P-CONN because)
                     (IP-ADV (NP-SBJ (PRO you))
                             (VBP;~Ipr tread)
                             (PP-CLR (P-ROLE on)
                                     (NP (NP-GENV (PRO;_genm_ my))
                                         (NS dreams)))))
            (PUNC .))

    yes

    Calls to reach the result of (6.45) follow (6.46).

    (6.46)
    sentence
    verb_phrase_layer filled_subject imperative_inflection active_voice
    verb_phrase_layer filled_subject imperative_inflection active_voice
    verb_phrase_layer filled_subject imperative_inflection active_voice
    verb imperative_inflection ;~I

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

    []
    adverbial
    adverb_phrase -NIM general
    adverb_phrase_layer general
    adv general

    [w('ADV','softly')]
    adverbial
    scon_clause
    conn

    [w('P-CONN','because')]
    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','you')]
    clause_middle_layer filled_subject
    verb_phrase_layer filled_subject finite_inflection active_voice
    verb finite_inflection ;~Ipr

    [w('VBP',';~Ipr','tread')]
    verb_complements_top_layer ;~Ipr filled_subject active_voice
    verb_complements_by_code ;~Ipr filled_subject active_voice
    preposition_phrase -CLR general
    preposition_phrase_layer general
    role

    [w('P-ROLE','on')]
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    noun_phrase_genm_layer general
    pronoun_genm general

    [w('PRO;_genm_','my')]
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('NS','dreams')]
    punc_final

    [w('PUNC','.')]

    6.6.2    Subordinate conjunction with to-infinitive clauses

    As an example with a to-infinitive clause (IP-INF) introduced by the subordinate conjunction word (P-CONN) in_order, consider (6.47).

    (6.47)
    | ?- tphrase_set_string([w('PRO','I'), w('VBP',';~Tt','need'), w('TO','to'), w('VB',';~Tn','spread'), w('PRO;_genm_','my'), w('NS','wings'), w('CONJ','and'), w('VB',';~I','fly'), w('PUNC',','), w('P-CONN','in_order'), w('TO','to'), w('VB',';~Ip','come'), w('ADV','back'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (PRO I))
            (VBP;~Tt need)
            (IP-INF-OB1 (TO to)
                        (ILYR (ILYR (VB;~Tn spread)
                                    (NP-OB1 (NP-GENV (PRO;_genm_ my))
                                            (NS wings)))
                              (CONJP (CONJ and)
                                     (ILYR (VB;~I fly)))))
            (PUNC ,)
            (PP-SCON (P-CONN in_order)
                     (IP-INF2;IP-INF (TO to)
                                     (VB;~Ip come)
                                     (ADVP-CLR (ADV back))))
            (PUNC .))

    yes

    Calls to reach the output of (6.47) follow (6.48).

    (6.48)
    sentence
    clause_top_layer statement_order
    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','I')]
    clause_middle_layer filled_subject
    verb_phrase_layer filled_subject finite_inflection active_voice
    verb finite_inflection ;~Tt

    [w('VBP',';~Tt','need')]
    verb_complements_top_layer ;~Tt filled_subject active_voice
    verb_complements_by_code ;~Tt filled_subject active_voice
    ip_to_inf -OB1
    to_inf_top_layer
    to_inf_layer filled_subject active_voice
    to

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

    [w('VB',';~Tn','spread')]
    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_layer general
    noun_phrase_genm_layer general
    pronoun_genm general

    [w('PRO;_genm_','my')]
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('NS','wings')]
    verb_phrase_tail filled_subject infinitive_inflection active_voice
    conj

    [w('CONJ','and')]
    verb_phrase_layer filled_subject infinitive_inflection active_voice
    verb infinitive_inflection ;~I

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

    []
    optional_punc non_final
    punc non_final

    [w('PUNC',',')]
    adverbial
    scon_clause
    conn

    [w('P-CONN','in_order')]
    to_inf_layer filled_subject active_voice
    to

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

    [w('VB',';~Ip','come')]
    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','back')]
    punc final

    [w('PUNC','.')]

    6.6.2    Subordinate conjunction with participle clauses

    The ip_ppl_active rule from section 5.4.3 creates complements for catenative verbs (IP-PPL-CAT), notional subjects (IP-PPL-NSBJ), and objects (IP-PPL-OB1). But subordinate conjunction creates the opportunity for more content to be part of a participle clause. The extra possibilities are created with the ip_ppl_adverbial_layer rules of (6.49). These rules add the possibility of:

    Also, in addition to the participle clause being a present participle clause with rule 3, there is also the possibility for the participle clause to be:

    Finally, rules 1–5 can enter into coordination with one another through rule 6, with non-initial conjuncts gathered by calls to ip_ppl_adverbial_tail of (6.50).

    (6.49)
    ip_ppl_adverbial_layer(SbjType0,L,L0) -->
      {
        SbjType0 == unfilled_subject
      },
      subject(SbjType,L,L1),
      ip_ppl_adverbial_layer(SbjType,L1,L0).
    ip_ppl_adverbial_layer(SbjType,[node('HAG;~cat_Ve',[node(Word,[])])|L],L0) -->
      [w('HAG',';~cat_Ve',Word)],
      ip_ppl_active('-CAT',[],SbjType,past_participle,L,L0).
    ip_ppl_adverbial_layer(SbjType,L,L0) -->
      verb_phrase_layer([],SbjType,present_participle,active_voice,L,L0).
    ip_ppl_adverbial_layer(SbjType,L,L0) -->
      verb_phrase_layer([],SbjType,past_participle,active_voice,L,L0).
    ip_ppl_adverbial_layer(SbjType,[node('NP-LGS',[node('*',[])])|L],L0) -->
      verb_phrase_layer([],SbjType,past_participle,passive_voice,L,L0).
    ip_ppl_adverbial_layer(SbjType,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
      ip_ppl_adverbial_layer(SbjType,IL,[]),
      ip_ppl_adverbial_tail(SbjType,CL,[]).
    (6.50)
    ip_ppl_adverbial_tail(SbjType,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
      conj(CONJ),
      ip_ppl_adverbial_layer(SbjType,IL,[]).
    ip_ppl_adverbial_tail(SbjType,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
      punc(non_final,[PU],[]),
      ip_ppl_adverbial_layer(SbjType,IL,[]),
      ip_ppl_adverbial_tail(SbjType,L,L0).

        As an example with a present participle (-ing) clause (IP-PPL) introduced by the subordinate conjunction word (P-CONN) without from a sentence initial position, consider (6.51).

    (6.51)
    | ?-  tphrase_set_string([w('P-CONN','Without'), w('BAG',';~cat_Ve_passive_','being'), w('VVN',';~Tn','told'), w('PUNC',','), w('D','the'), w('N','chauffeur'), w('VBD',';~Ip','drove'), w('ADV','away'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (PP-SCON (P-CONN Without)
                     (IP-PPL2;IP-PPL (BAG;~cat_Ve_passive_ being)
                                     (IP-PPL-CAT (NP-LGS *)
                                                 (VVN;~Tn told))))
            (PUNC ,)
            (NP-SBJ (D the)
                    (N chauffeur))
            (VBD;~Ip drove)
            (ADVP-CLR (ADV away))
            (PUNC .))

    yes

    Calls to reach the output of (6.51) follow (6.52).

    (6.52)
    sentence
    clause_top_layer statement_order
    adverbial
    scon_clause
    conn

    [w('P-CONN','Without')]
    ip_ppl_adverbial_layer filled_subject
    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_voice
    verb past_participle ;~Tn

    [w('VVN',';~Tn','told')]
    verb_complements_top_layer ;~Tn filled_subject passive_voice
    verb_complements_by_code ;~Tn filled_subject passive_voice

    []
    optional_punc non_final
    punc non_final

    [w('PUNC',',')]
    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_layer non_interrogative
    det non_interrogative

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

    [w('N','chauffeur')]
    clause_middle_layer filled_subject
    verb_phrase_layer filled_subject finite_inflection active_voice
    verb finite_inflection ;~Ip

    [w('VBD',';~Ip','drove')]
    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','away')]
    punc final

    [w('PUNC','.')]

        As an example with a present participle (-ing) clause (IP-PPL) introduced by the subordinate conjunction word (P-CONN) after from a sentence final position, consider (6.53).

    (6.53)
    | ?-  tphrase_set_string([w('NPR','Blunt'), w('ADV','finally'), w('VBD',';~I','confessed'), w('P-CONN','after'), w('HAG',';~cat_Ve','having'), w('BEN',';~cat_Ve_passive_','been'), w('VVN',';~Dn.n','granted'), w('N','immunity'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (NPR Blunt))
            (ADVP-NIM (ADV finally))
            (VBD;~I confessed)
            (PP-SCON (P-CONN after)
                     (IP-PPL2;IP-PPL (HAG;~cat_Ve having)
                                     (IP-PPL-CAT (BEN;~cat_Ve_passive_ been)
                                                 (IP-PPL-CAT (NP-LGS *)
                                                             (VVN;~Dn.n granted)
                                                             (NP-OB1 (N immunity))))))
            (PUNC .))

    yes

    Calls to reach the output of (6.53) follow (6.54).

    (6.54)
    sentence
    clause_top_layer statement_order
    subject filled_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('NPR','Blunt')]
    clause_middle_layer filled_subject
    verb_phrase_layer filled_subject finite_inflection active_voice
    adverb_phrase -NIM general
    adverb_phrase_layer general
    adv general

    [w('ADV','finally')]
    verb_phrase_layer filled_subject finite_inflection active_voice
    verb finite_inflection ;~I

    [w('VBD',';~I','confessed')]
    verb_complements_top_layer ;~I filled_subject active_voice
    verb_complements_top_layer ;~I filled_subject active_voice
    verb_complements_by_code ;~I filled_subject active_voice

    []
    adverbial
    scon_clause
    conn

    [w('P-CONN','after')]
    ip_ppl_adverbial_layer filled_subject
    ip_ppl_active -CAT filled_subject past_participle
    verb_phrase_layer filled_subject past_participle active_voice
    verb past_participle ;~cat_Ve_passive_

    [w('BEN',';~cat_Ve_passive_','been')]
    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_voice
    verb past_participle ;~Dn.n

    [w('VVN',';~Dn.n','granted')]
    verb_complements_top_layer ;~Dn.n filled_subject passive_voice
    verb_complements_by_code ;~Dn.n filled_subject passive_voice
    noun_phrase -OB1 general
    noun_phrase_top general
    noun_phrase_initial_layer general
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('N','immunity')]
    punc final

    [w('PUNC','.')]

        As an example with a past participle (-ed/-en) clause (IP-PPL) introduced by the subordinate conjunction word (P-CONN) With from a sentence initial position, consider (6.55).

    (6.55)
    | ?-  tphrase_set_string([w('P-CONN','With'), w('PRO;_genm_','their'), w('N','load'), w('P-ROLE','of'), w('NS','bombs'), w('VVN',';~I','gone'), w('PUNC',','), w('D','the'), w('NS','planes'), w('VBD',';~Ip','moved'), w('ADV','swiftly'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (PP-SCON (P-CONN With)
                     (IP-PPL3 (NP-SBJ (NP-GENV (PRO;_genm_ their))
                                      (N load)
                                      (PP (P-ROLE of)
                                          (NP (NS bombs))))
                              (VVN;~I gone)))
            (PUNC ,)
            (NP-SBJ (D the)
                    (NS planes))
            (VBD;~Ip moved)
            (ADVP-CLR (ADV swiftly))
            (PUNC .))

    yes

    Calls to reach the output of (6.55) follow (6.56).

    (6.56)
    sentence
    clause_top_layer statement_order
    adverbial
    scon_clause
    conn

    [w('P-CONN','With')]
    ip_ppl_adverbial_layer unfilled_subject
    subject filled_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_interrogative
    noun_phrase_genm_layer general
    pronoun_genm general

    [w('PRO;_genm_','their')]
    internal_np_higher_layer
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('N','load')]
    preposition_phrase general
    preposition_phrase_layer general
    role

    [w('P-ROLE','of')]
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('NS','bombs')]
    ip_ppl_adverbial_layer filled_subject
    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

    []
    optional_punc non_final
    punc non_final

    [w('PUNC',',')]
    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_layer non_interrogative
    det non_interrogative

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

    [w('NS','planes')]
    clause_middle_layer filled_subject
    verb_phrase_layer filled_subject finite_inflection active_voice
    verb finite_inflection ;~Ip

    [w('VBD',';~Ip','moved')]
    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','swiftly')]
    punc final

    [w('PUNC','.')]

        As an example with a past participle (-ed/-en) clause (IP-PPL) introduced by the subordinate conjunction word (P-CONN) as_if from a sentence final position, consider (6.57).

    (6.57)
    | ?-  tphrase_set_string([w('NPR','Jones'), w('VBD',';~I','sighed'), w('P-CONN','as_if'), w('VVN',';~Tn','relieved'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (NPR Jones))
            (VBD;~I sighed)
            (PP-SCON (P-CONN as_if)
                     (IP-PPL2;IP-PPL (NP-LGS *)
                                     (VVN;~Tn relieved)))
            (PUNC .))

    yes

    Calls to reach the output of (6.57) follow (6.58).

    (6.58)
    sentence
    clause_top_layer statement_order
    subject filled_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('NPR','Jones')]
    clause_middle_layer filled_subject
    verb_phrase_layer filled_subject finite_inflection active_voice
    verb finite_inflection ;~I

    [w('VBD',';~I','sighed')]
    verb_complements_top_layer ;~I filled_subject active_voice
    verb_complements_top_layer ;~I filled_subject active_voice
    verb_complements_by_code ;~I filled_subject active_voice

    []
    adverbial
    scon_clause
    conn

    [w('P-CONN','as_if')]
    ip_ppl_adverbial_layer filled_subject
    verb_phrase_layer filled_subject past_participle passive_voice
    verb past_participle ;~Tn

    [w('VVN',';~Tn','relieved')]
    verb_complements_top_layer ;~Tn filled_subject passive_voice
    verb_complements_by_code ;~Tn filled_subject passive_voice

    []
    punc final

    [w('PUNC','.')]

    Question:

    Why do the success and failure results of (6.59)–(6.61) obtain?

    (6.59)
    | ?- tphrase_set_string([w('NPR','John'), w('BED',';~cat_Vg','was'), w('HAG',';~Tn','having'), w('D','some'), w('N','tea'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (NPR John))
            (BED;~cat_Vg was)
            (IP-PPL-CAT (HAG;~Tn having)
                        (NP-OB1 (D some)
                                (N tea)))
            (PUNC .))

    yes
    (6.60)
    | ?- tphrase_set_string([w('NPR','John'), w('BED',';~cat_Vg','was'), w('HAG',';~cat_Ve','having'), w('BEN',';~cat_Vg','been'), w('HAG',';~Tn','having'), w('D','some'), w('N','tea'), w('PUNC','.')]), parse(sentence).

    no
    (6.61)
    | ?- tphrase_set_string([w('NPR','John'), w('BED',';~La','was'), w('ADJ','happy'), w('P-CONN','_*_'), w('HAG',';~cat_Ve','having'), w('BEN',';~cat_Vg','been'), w('HAG',';~Tn','having'), w('D','some'), w('N','tea'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (NPR John))
            (BED;~La was)
            (ADJP-PRD2 (ADJ happy))
            (PP-SCON (P-CONN _*_)
                     (IP-PPL2;IP-PPL (HAG;~cat_Ve having)
                                     (IP-PPL-CAT (BEN;~cat_Vg been)
                                                 (IP-PPL-CAT (HAG;~Tn having)
                                                             (NP-OB1 (D some)
                                                                     (N tea))))))
            (PUNC .))

    yes

    6.7    Participle clauses as preposition complements

    Section 6.6.2 showed how a participle clause can be added to a containing clause with subordinate conjunction. Such participle clauses were able to have subjects and were able to have having act as a catenative verb that selects a past participle (-ed/-en) clause as its complement. It is also possible for this same kind of extended participle clause to be introduced as the required complement of a preposition to give a preposition phrase with the same distribution as preposition phrases that contain noun phrases. This possibility is achieved with preposition_phrase_layer rule of section 3.5.

        As an example with a present participle (-ing) clause (IP-PPL) introduced by the preposition word (P-ROLE) like, consider (6.62).

    (6.62)
    | ?- tphrase_set_string([w('PRO','It'), w('VBD',';~Ipr','sounded'), w('P-ROLE','like'), w('D','a'), w('N','man'), w('VAG',';~Tn','kicking'), w('D','a'), w('N','melon'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (PRO It))
            (VBD;~Ipr sounded)
            (PP-CLR (P-ROLE like)
                    (IP-PPL3 (NP-SBJ (D a)
                                     (N man))
                             (VAG;~Tn kicking)
                             (NP-OB1 (D a)
                                     (N melon))))
            (PUNC .))

    (IP-MAT (NP-SBJ (PRO It))
            (VBD;~Ipr sounded)
            (PP-CLR (P-ROLE like)
                    (NP (D a)
                        (N man)
                        (IP-PPL (VAG;~Tn kicking)
                                (NP-OB1 (D a)
                                        (N melon)))))
            (PUNC .))

    yes

        The parse of (6.62) returns two results. It is the first result that illustrates the possibility of a present participle (-ing) clause being introduced as the required complement of a preposition to form a preposition phrase. Note how, with this structure, there is a subject internal to the present participle clause. Calls to reach this first output follow (6.63).

    (6.63)
    sentence
    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','It')]
    clause_middle_layer filled_subject
    verb_phrase_layer filled_subject finite_inflection active_voice
    verb finite_inflection ;~Ipr

    [w('VBD',';~Ipr','sounded')]
    verb_complements_top_layer ;~Ipr filled_subject active_voice
    verb_complements_by_code ;~Ipr filled_subject active_voice
    preposition_phrase -CLR general
    preposition_phrase_layer general
    role

    [w('P-ROLE','like')]
    ip_ppl_adverbial_layer unfilled_subject
    subject filled_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_interrogative
    det non_interrogative

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

    [w('N','man')]
    ip_ppl_adverbial_layer filled_subject
    verb_phrase_layer filled_subject present_participle active_voice
    verb present_participle ;~Tn

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

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

    [w('N','melon')]
    punc final

    [w('PUNC','.')]

        The second result of (6.62) illustrates the possibility of an alternative analysis where the present participle clause forms a reduced relative clause. Rule support for reduced relative clauses is introduced in the next section.

        As an example with a past participle (-ed/-en) clause (IP-PPL) introduced by the preposition word (P-ROLE) from, consider (6.64).

    (6.64)
    | ?- tphrase_set_string([w('PRO','You'), w('VBP',';~Tn','cook'), w('PRO','them'), w('P-ROLE','from'), w('VVN',';~Tn','frozen'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (PRO You))
            (VBP;~Tn cook)
            (NP-OB1 (PRO them))
            (PP-NIM (P-ROLE from)
                    (IP-PPL2;IP-PPL (NP-LGS *)
                                    (VVN;~Tn frozen)))
            (PUNC .))

    yes

    Calls to reach the output of (6.64) follow (6.65).

    (6.65)
    sentence
    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','You')]
    clause_middle_layer filled_subject
    verb_phrase_layer filled_subject finite_inflection active_voice
    verb finite_inflection ;~Tn

    [w('VBP',';~Tn','cook')]
    verb_complements_top_layer ;~Tn filled_subject active_voice
    verb_complements_top_layer ;~Tn filled_subject active_voice
    verb_complements_by_code ;~Tn filled_subject active_voice
    verb_complements_by_code ;~Tn filled_subject active_voice
    noun_phrase -OB1 general
    noun_phrase_top general
    noun_head_full general

    [w('PRO','them')]
    adverbial
    preposition_phrase -NIM general
    preposition_phrase_layer general
    role

    [w('P-ROLE','from')]
    ip_ppl_adverbial_layer filled_subject
    verb_phrase_layer filled_subject past_participle passive_voice
    verb past_participle ;~Tn

    [w('VVN',';~Tn','frozen')]
    verb_complements_top_layer ;~Tn filled_subject passive_voice
    verb_complements_by_code ;~Tn filled_subject passive_voice

    []
    punc final

    [w('PUNC','.')]

    6.8    Relative clauses

    A relative clause occurs inside a noun phrase alongside but after the noun phrase head for which it acts as a modifier, with the noun phrase head contributing a role within the relative clause. This necessitates the wherewithal to integrate the role inside the relative clause with the external noun phrase head. Ways of integration provided by the rules of (6.66) are:

    (6.66)
    relative_clause([node('IP-REL',IL)|L],L) -->
      relative_clause_finite_top_layer(IL,[]).
    relative_clause([node('IP-INF-REL',IL)|L],L) -->
      relative_clause_to_inf_top_layer(IL,[]).
    relative_clause(L,L0) -->
      ip_ppl_active('',[],filled_subject,present_participle,L,L0).
    relative_clause(L,L0) -->
      ip_ppl_passive('',[],filled_subject,past_participle,L,L0).

    6.8.1    Relative clauses that are finite clauses

    A relative clause that is a finite clause introduced with rule 2 of (6.66) above will, with the rules of (6.67), establish its internal link to the head of the external noun phrase either:

    There is also:

    With the coordination of rule 7, each conjunct is itself a finite clause with its own way from the rules of (6.67) for establishing its internal link to the head of the external noun phrase.

        It follows that a relative clause that is a finite clause is marked either:

    An initial phrase of type relative will contain a relative word of which there are different kinds (see section 2.2):

        The relative_clause_finite_top_layer rules of (6.67) collect content for a relative clause that either has a relative word [rules 1–4] or involves a trace [rule 5], or contains coordination [rule 6] from recursive calls to relative_clause_finite_top_tail of (6.68) to pick up subsequent conjuncts, where each conjunct has internally either its own relative pronoun or its own trace.

    (6.67)
    relative_clause_finite_top_layer(L,L0) -->
      {
        gensym('-',Index),
        atom_concat('*ICH*',Index,ICH)
      },
      noun_phrase(Index,relative,L,L1),
      relative_clause_finite_inside([np(node(ICH,[]))],L1,L0).
    relative_clause_finite_top_layer(L,L0) -->
      {
        gensym('-',Index),
        atom_concat('*ICH*',Index,ICH)
      },
      preposition_phrase(Index,relative,L,L1),
      clause_top_layer(statement_order,[pp(node(ICH,[]))],L1,L0).
    relative_clause_finite_top_layer(L,L0) -->
      preposition_phrase('-NIM',relative,L,L1),
      clause_top_layer(statement_order,[],L1,L0).
    relative_clause_finite_top_layer(L,L0) -->
      {
        gensym('-',Index),
        atom_concat('*ICH*',Index,ICH)
      },
      adverb_phrase(Index,relative,L,L1),
      clause_top_layer(statement_order,[advp(node(ICH,[]))],L1,L0).
    relative_clause_finite_top_layer(L,L0) -->
      adverb_phrase('-NIM',relative,L,L1),
      clause_top_layer(statement_order,[],L1,L0).
    relative_clause_finite_top_layer(L,L0) -->
      clause_top_layer(statement_order,[np(node('*T*',[]))],L,L0).
    relative_clause_finite_top_layer([node('NP-NIM',[node('*T*',[])])|L],L0) -->
      clause_top_layer(statement_order,[],L,L0).
    relative_clause_finite_top_layer([node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
      relative_clause_finite_top_layer(IL,[]),
      relative_clause_finite_top_tail(CL,[]).
    (6.68)
    relative_clause_finite_top_tail([node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
      conj(CONJ),
      relative_clause_finite_top_layer(IL,[]).
    relative_clause_finite_top_tail([PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
      punc(non_final,[PU],[]),
      relative_clause_finite_top_layer(IL,[]),
      relative_clause_finite_top_tail(L,L0).

        Rule 1 of (6.67) gives the option of a noun phrase with relative type information and so with a relative word inside. Then there is creation of an index that is entered as np(ICH) into the list of inherited displaced items for the call to relative_clause_finite_inside of (6.69) to inherit as the subject for the relative clause [rule 1], or as a non-subject [rule 2].

    (6.69)
    relative_clause_finite_inside([np(ICH)],[node('NP-SBJ',[ICH])|L],L0) -->
      clause_middle_layer([],filled_subject,L,L0).
    relative_clause_finite_inside(Displaced,L,L0) -->
      clause_top_layer(statement_order,Displaced,L,L0).

        As an example with relative pronoun (RPRO) that creating a non-subject dependency internally to a relative clause, consider (6.70).

    (6.70)
    | ?- tphrase_set_string([w('D','a'), w('N','fence'), w('RPRO','that'), w('D','a'), w('N','horse'), w('VBD',';~Ipr','jumped'), w('P-ROLE','over')]), parse(noun_phrase('',general)).

    (NP (D a)
        (N fence)
        (IP-REL (NP-124 (RPRO that))
                (NP-SBJ (D a)
                        (N horse))
                (VBD;~Ipr jumped)
                (PP-CLR (P-ROLE over)
                        (NP *ICH*-124))))

    yes

    Calls to reach the output of (6.70) follow (6.71).

    (6.71)
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

    [w('N','fence')]
    relative_clause
    relative_clause_finite_top_layer
    noun_phrase -124 relative
    noun_phrase_top relative
    noun_head_full relative

    [w('RPRO','that')]
    relative_clause_finite_inside [np(node('*ICH*-124',[]))]
    clause_top_layer statement_order [np(node('*ICH*-124',[]))]
    subject filled_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_interrogative
    det non_interrogative

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

    [w('N','horse')]
    clause_middle_layer [np(node('*ICH*-124',[]))] filled_subject
    verb_phrase_layer [np(node('*ICH*-124',[]))] filled_subject finite_inflection active_voice
    verb finite_inflection ;~Ipr

    [w('VBD',';~Ipr','jumped')]
    verb_complements_top_layer ;~Ipr [np(node('*ICH*-124',[]))] filled_subject active_voice
    verb_complements_by_code ;~Ipr [np(node('*ICH*-124',[]))] filled_subject active_voice
    role

    [w('P-ROLE','over')]

        As an example with relative pronoun (RPRO) which as part of a preposition phrase with an initial placement inside the relative clause, consider (6.72).

    (6.72)
    | ?- tphrase_set_string([w('D','a'), w('N','fence'), w('P-ROLE','over'), w('RPRO','which'), w('D','a'), w('N','horse'), w('VBD',';~Ipr','jumped')]), parse(noun_phrase('',general)).

    (NP (D a)
        (N fence)
        (IP-REL (PP-138 (P-ROLE over)
                        (NP (RPRO which)))
                (NP-SBJ (D a)
                        (N horse))
                (VBD;~Ipr jumped)
                (PP-CLR *ICH*-138)))

    yes

    Calls to reach the output of (6.72) follow (6.73).

    (6.73)
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det

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

    [w('N','fence')]
    relative_clause
    relative_clause_finite_top_layer
    preposition_phrase -138 relative
    preposition_phrase_layer relative
    role

    [w('P-ROLE','over')]
    noun_phrase relative
    noun_phrase_top relative
    noun_head_full relative

    [w('RPRO','which')]
    relative_clause_finite_inside [pp(node('*ICH*-138',[]))]
    clause_top_layer statement_order [pp(node('*ICH*-138',[]))]
    subject filled_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_interrogative
    det non_interrogative

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

    [w('N','horse')]
    clause_middle_layer [pp(node('*ICH*-138',[]))] filled_subject
    verb_phrase_layer [pp(node('*ICH*-138',[]))] filled_subject finite_inflection active_voice
    verb finite_inflection ;~Ipr

    [w('VBD',';~Ipr','jumped')]
    verb_complements_top_layer ;~Ipr [pp(node('*ICH*-138',[]))] filled_subject active_voice
    verb_complements_by_code ;~Ipr [pp(node('*ICH*-138',[]))] filled_subject active_voice

    []

        As an example with genitive relative pronoun (RPRO;_genm_) whose as part of a preposition phrase with an initial placement inside the relative clause, consider (6.74).

    (6.74)
    | ?- tphrase_set_string([w('D','the'), w('N','gardener'), w('P-ROLE','over'), w('RPRO;_genm_','whose'), w('N','fence'), w('D','a'), w('N','horse'), w('VBD',';~Ipr','jumped')]), parse(noun_phrase('',general)).

    (NP (D the)
        (N gardener)
        (IP-REL (PP-145 (P-ROLE over)
                        (NP (NP-GENV (RPRO;_genm_ whose))
                            (N fence)))
                (NP-SBJ (D a)
                        (N horse))
                (VBD;~Ipr jumped)
                (PP-CLR *ICH*-145)))

    yes

    Calls to reach the output of (6.74) follow (6.75).

    (6.75)
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det

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

    [w('N','gardener')]
    relative_clause
    relative_clause_finite_top_layer
    preposition_phrase -145 relative
    preposition_phrase_layer relative
    role

    [w('P-ROLE','over')]
    noun_phrase relative
    noun_phrase_top relative
    noun_phrase_initial_layer relative
    determiner_layer relative
    noun_phrase_genm_layer relative
    pronoun_genm relative

    [w('RPRO;_genm_','whose')]
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('N','fence')]
    relative_clause_finite_inside [pp(node('*ICH*-145',[]))]
    clause_top_layer statement_order [pp(node('*ICH*-145',[]))]
    subject filled_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_interrogative
    det non_interrogative

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

    [w('N','horse')]
    clause_middle_layer [pp(node('*ICH*-145',[]))] filled_subject
    verb_phrase_layer [pp(node('*ICH*-145',[]))] filled_subject finite_inflection active_voice
    verb finite_inflection ;~Ipr

    [w('VBD',';~Ipr','jumped')]
    verb_complements_top_layer ;~Ipr [pp(node('*ICH*-145',[]))] filled_subject active_voice
    verb_complements_by_code ;~Ipr [pp(node('*ICH*-145',[]))] filled_subject active_voice

    []

        As an example of a non-subject dependency internal to a relative clause without a relative pronoun, consider (6.76).

    (6.76)
    | ?- tphrase_set_string([w('D','a'), w('N','fence'), w('D','a'), w('N','horse'), w('VBD',';~Ipr','jumped'), w('P-ROLE','over')]), parse(noun_phrase('',general)).

    (NP (D a)
        (N fence)
        (IP-REL (NP-SBJ (D a)
                        (N horse))
                (VBD;~Ipr jumped)
                (PP-CLR (P-ROLE over)
                        (NP *T*))))

    yes

    Calls to reach the output of (6.76) follow (6.77).

    (6.77)
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

    [w('N','fence')]
    relative_clause
    relative_clause_finite_top_layer
    clause_top_layer statement_order [pp(node('*T*',[]))]
    subject filled_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_interrogative
    det non_interrogative

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

    [w('N','horse')]
    clause_middle_layer [pp(node('*T*',[]))] filled_subject
    verb_phrase_layer [pp(node('*T*',[]))] filled_subject finite_inflection active_voice
    verb finite_inflection ;~Ipr

    [w('VBD',';~Ipr','jumped')]
    verb_complements_top_layer ;~Ipr [pp(node('*T*',[]))] filled_subject active_voice
    verb_complements_by_code ;~Ipr [pp(node('*T*',[]))] filled_subject active_voice
    role

    [w('P-ROLE','over')]

        As an example with relative pronoun (RPRO) which creating a subject dependency internally to a relative clause, consider (6.78).

    (6.78)
    | ?- tphrase_set_string([w('D','a'), w('N','horse'), w('RPRO','which'), w('BED',';~cat_Ve_passive_','was'), w('VVN',';~Tn.pr','jumped'), w('P-ROLE','over'), w('D','a'), w('N','fence')]), parse(noun_phrase('',general)).

    (NP (D a)
        (N horse)
        (IP-REL (NP-209 (RPRO which))
                (NP-SBJ *ICH*-209)
                (BED;~cat_Ve_passive_ was)
                (IP-PPL-CAT (NP-LGS *)
                            (VVN;~Tn.pr jumped)
                            (PP-CLR (P-ROLE over)
                                    (NP (D a)
                                    (N fence))))))

    yes

    Calls to reach the output of (6.78) follow (6.79).

    (6.79)
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det

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

    [w('N','horse')]
    relative_clause
    relative_clause_finite_top_layer
    noun_phrase -209 relative
    noun_phrase_top relative
    noun_head_full relative

    [w('RPRO','which')]
    relative_clause_finite_inside [np(node('*ICH*-209',[]))]
    clause_middle_layer filled_subject
    have_be_or_md_finite_layer ;~cat_Ve_passive_

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

    []
    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_voice
    verb past_participle ;~Tn.pr

    [w('VVN',';~Tn.pr','jumped')]
    verb_complements_top_layer ;~Tn.pr filled_subject passive_voice
    verb_complements_by_code ;~Tn.pr filled_subject passive_voice
    preposition_phrase -CLR general
    preposition_phrase_layer general
    role

    [w('P-ROLE','over')]
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

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

    Question:

    Consider (6.80)–(6.83) taken from Gazdar et al (1985, p. 178). (Examples (6.80)–(6.82) are from Williams (1978, p. 34), with (6.83) attributed to Paul Hirshbuhler.) What are the parse results, if any? Do the results reflect your expectations, and can you describe how they arise?

    (6.80)
    [w('PRO','I'), w('VBP',';~Tn','know'), w('D','a'), w('N','man'), w('RPRO','who'), w('NPR','Bill'), w('VBD',';~Tn','saw'), w('CONJ','and'), w('NPR','Mary'), w('VBD',';~Tn','liked'), w('PUNC','.')]
    (6.81)
    [w('PRO','I'), w('VBP',';~Tn','know'), w('D','a'), w('N','man'), w('RPRO','who'), w('VBD',';~Tn','saw'), w('NPR','Bill'), w('CONJ','and'), w('VBD',';~Tn','liked'), w('NPR','Mary'), w('PUNC','.')]
    (6.82)
    [w('PRO','I'), w('VBP',';~Tn','know'), w('D','a'), w('N','man'), w('RPRO','who'), w('NPR','Bill'), w('VBD',';~Tn','saw'), w('CONJ','and'), w('VBD',';~Tn','liked'), w('NPR','Mary'), w('PUNC','.')]
    (6.83)
    [w('PRO','I'), w('VBP',';~Tn','know'), w('D','a'), w('N','man'), w('RPRO','who'), w('NPR','Mary'), w('VBP',';~Tn','likes'), w('CONJ','and'), w('VBP',';~Tf','hopes'), w('MD',';~cat_Vi','will'), w('VB',';~I','win'), w('PUNC','.')]

    6.8.2    Relative clauses that are to-infinitive clauses

    A relative clause that is a to-infinitive clause introduced with rule 2 of (6.66) above will, with the rules of (6.84), establish its internal link to the head of the external noun phrase either:

    There is also:

    With the coordination of rule 5, each conjunct is itself a to-infinitive clause with its own way from the rules of (6.84) for establishing its internal link to the head of the external noun phrase.

    (6.84)
    relative_clause_to_inf_top_layer(L,L0) -->
      {
        gensym('-',Index),
        atom_concat('*ICH*',Index,ICH)
      },
      preposition_phrase(Index,relative,L,L1),
      to_inf_top_layer([pp(node(ICH,[]))],L1,L0).
    relative_clause_to_inf_top_layer(L,L0) -->
      preposition_phrase('-NIM',relative,L,L1),
      to_inf_top_layer([],L1,L0).
    relative_clause_to_inf_top_layer(L,L0) -->
      to_inf_top_layer([np(node('*T*',[]))],L,L0).
    relative_clause_to_inf_top_layer([node('NP-SBJ',[node('*T*',[])])|L],L0) -->
      to_inf_layer([],filled_subject,active_voice,L,L0).
    relative_clause_to_inf_top_layer([node('NP-NIM',[node('*T*',[])])|L],L0) -->
      to_inf_top_layer([],L,L0).
    relative_clause_to_inf_top_layer([node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
      relative_clause_to_inf_top_layer(IL,[]),
      relative_clause_to_inf_top_tail(CL,[]).
    (6.85)
    relative_clause_to_inf_top_tail([node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
      conj(CONJ),
      relative_clause_to_inf_top_layer(IL,[]).
    relative_clause_to_inf_top_tail([PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
      punc(non_final,[PU],[]),
      relative_clause_to_inf_top_layer(IL,[]),
      relative_clause_to_inf_top_tail(L,L0).

        As an example of a relative clause that is a to-infinitive clause with a non-subject internal dependency and with an internal for introduced subject, consider (6.86).

    (6.86)
    | ?- tphrase_set_string([w('D','a'), w('N','horse'), w('P-CONN','for'), w('PRO','me'), w('TO','to'), w('VB',';~Tn.pr','jump'), w('P-ROLE','over'), w('D','a'), w('N','fence')]), parse(noun_phrase('',general)).

    (NP (D a)
        (N horse)
        (IP-INF-REL (P-CONN for)
                    (NP-SBJ (PRO me))
                    (TO to)
                    (VB;~Tn.pr jump)
                    (NP-OB1 *T*)
                    (PP-CLR (P-ROLE over)
                            (NP (D a)
                                (N fence)))))

    yes

    Calls to reach the output of (6.86) follow (6.87).

    (6.87)
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

    [w('N','horse')]
    relative_clause
    relative_clause_to_inf_top_layer
    to_inf_top_layer [pp(node('*T*',[]))]
    to_inf_layer [pp(node('*T*',[]))] unfilled_subject
    conn

    [w('P-CONN','for')]
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_head_full non_interrogative

    [w('PRO','me')]
    to_inf_layer [pp(node('*T*',[]))] filled_subject
    to

    [w('TO','to')]
    verb_phrase_layer [pp(node('*T*',[]))] filled_subject infinitive_inflection active_voice
    verb infinitive_inflection ;~Tn.pr

    [w('VB',';~Tn.pr','jump')]
    verb_complements_top_layer ;~Tn.pr [pp(node('*T*',[]))] filled_subject active_voice
    verb_complements_by_code ;~Tn.pr [pp(node('*T*',[]))] filled_subject active_voice
    preposition_phrase -CLR general
    preposition_phrase_layer general
    role

    [w('P-ROLE','over')]
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

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

        As word list content for a noun modifier that is a to-infinitive clause without an internal for introduced subject and without a non-subject selected internal dependency, consider (6.88).

    (6.88)
    | ?- tphrase_set_string([w('D','the'), w('N','intention/time/person'), w('TO','to'), w('VB',';~Tn.pr','jump'), w('D','a'), w('N','horse'), w('P-ROLE','over'), w('D','a'), w('N','fence')]), parse(noun_phrase('',general)).

    (NP (D the)
        (N intention/time/person)
        (IP-INF (TO to)
                (VB;~Tn.pr jump)
                (NP-OB1 (D a)
                        (N horse))
                (PP-CLR (P-ROLE over)
                        (NP (D a)
                            (N fence)))))
    (NP (D the)
        (N intention/time/person)
        (IP-INF-REL (NP-NIM *T*)
                    (TO to)
                    (VB;~Tn.pr jump)
                    (NP-OB1 (D a)
                            (N horse))
                    (PP-CLR (P-ROLE over)
                            (NP (D a)
                                (N fence)))))
    (NP (D the)
        (N intention/time/person)
        (IP-INF-REL (NP-SBJ *T*)
                    (TO to)
                    (VB;~Tn.pr jump)
                    (NP-OB1 (D a)
                            (N horse))
                    (PP-CLR (P-ROLE over)
                            (NP (D a)
                                (N fence)))))

    yes

    There are three parse structures in the results of (6.88), differing in the structure and content of the to-infinitive clause, which is either:


    Question

    Zandvoort (1969, p. 56) points out that the passive infinitive may vary with the active infinitive when functioning as a relative clause, especially after there is and there was. With parse results for (6.89) and (6.90), say why this is so.

    (6.89)
    [w('EX','There'), w('BED',';~ex_V','was'), w('Q','no'), w('N','time'), w('TO','to'), w('VB',';~Tn','lose'), w('PUNC','.')]
    (6.90)
    [w('EX','There'), w('BED',';~ex_V','was'), w('Q','no'), w('N','time'), w('TO','to'), w('BE',';~cat_Ve_passive_','be'), w('VVN',';~Tn','lost'), w('PUNC','.')]

    6.8.3    Reduced relative clauses that are present participle clauses

    Reduced relative clauses can have the form of present participle clauses occurring directly inside a noun phrase whose noun head is modified, so that inside the relative clause there is a present participle (-ing) verb and its complements, but no finite verb and no clause subject.

        As an example of a reduced relative clause consisting of a present participle clause, consider (6.91).

    (6.91)
    | ?- tphrase_set_string([w('D','a'), w('N','horse'), w('VAG',';~Ipr','jumping'), w('P-ROLE','over'), w('D','a'), w('N','fence')]), parse(noun_phrase('',general)).

    (NP (D a)
        (N horse)
        (IP-PPL (VAG;~Ipr jumping)
                (PP-CLR (P-ROLE over)
                        (NP (D a)
                            (N fence)))))

    yes

    Calls to reach the output of (6.91) follow (6.92).

    (6.92)
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

    [w('N','horse')]
    relative_clause
    ip_ppl_active filled_subject present_participle
    verb_phrase_layer filled_subject present_participle active_voice
    verb present_participle ;~Ipr

    [w('VAG',';~Ipr','jumping')]
    verb_complements_top_layer ;~Ipr filled_subject active_voice
    verb_complements_by_code ;~Ipr filled_subject active_voice
    preposition_phrase -CLR general
    preposition_phrase_layer general
    role

    [w('P-ROLE','over')]
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

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

    6.8.4    Reduced relative clauses that are past participle clauses

    In addition to being present participle clauses, reduced relative clauses can also have the form of past participle clauses occurring directly inside a noun phrase whose noun head is modified, so that inside the relative clause there is a past participle (-ed/-en) verb and its complements, but no finite verb and no clause subject.

        As an example of a reduced relative clause consisting of a past participle clause, consider (6.93).

    (6.93)
    | ?- tphrase_set_string([w('D','a'), w('N','horse'), w('VVN',';~Tn.pr','jumped'), w('P-ROLE','over'), w('D','a'), w('N','fence')]), parse(noun_phrase('',general)).

    (NP (D a)
        (N horse)
        (IP-PPL (NP-LGS *)
                (VVN;~Tn.pr jumped)
                (PP-CLR (P-ROLE over)
                        (NP (D a)
                            (N fence)))))

    yes

    Calls to reach the output of (6.93) follow (6.94).

    (6.94)
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

    [w('N','horse')]
    relative_clause
    ip_ppl_passive filled_subject past_participle
    verb_phrase_layer filled_subject past_participle passive_voice
    verb past_participle ;~Tn.pr

    [w('VVN',';~Tn.pr','jumped')]
    verb_complements_top_layer ;~Tn.pr filled_subject passive_voice
    verb_complements_by_code ;~Tn.pr filled_subject passive_voice
    preposition_phrase -CLR general
    preposition_phrase_layer general
    role

    [w('P-ROLE','over')]
    noun_phrase general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

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

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

    6.9    Cleft constructions

    Support for cleft constructions can be added with the extra verb_complements_by_code rules of (6.95).

    (6.95)
    verb_complements_by_code(Code,Displaced,cleft_subject,active_voice,L,L0) -->
      neg(L,L1),
      verb_complements_by_code(Code,Displaced,cleft_subject,active_voice,L1,L0).
    verb_complements_by_code(';~cleft_Vn',[],cleft_subject,active_voice,L,L0) -->
      noun_phrase('-FOC',general,L,[node('IP-CLF',IL)|L0]),
      relative_clause_finite_top_layer(IL,[]).
    verb_complements_by_code(';~cleft_Vn',[np(ICH)],cleft_subject,active_voice,[node('NP-FOC',[ICH]),node('IP-CLF',IL)|L],L) -->
      relative_clause_finite_top_layer(IL,[]).

        The first rule of (6.95) is recursive, allowing for negation.

        The second and third rules of (6.95), requiring the verb code to be ;~cleft_Vn, select as complements:

        All of the rules of (6.95) require the SbjType parameter of the clause to be set to the value of cleft_subject. This SbjType parameter setting is possible with the first subject rule in section 2.5 picking up a word with word class PRO;_cleft_, which can only ever be an instance of it.

        As an example with a cleft construction, consider (6.96).

    (6.96)
    | ?- tphrase_set_string([w('PRO;_cleft_','It'), w('BED',';~cleft_Vn','was'), w('D','an'), w('ADJ','atomic'), w('N','fission'), w('PRO','we'), w('VBD',';~Tn','saw'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (PRO;_cleft_ It))
            (BED;~cleft_Vn was)
            (NP-FOC (D an)
                    (ADJP (ADJ atomic))
                    (N fission))
            (IP-CLF (NP-SBJ (PRO we))
                    (VBD;~Tn saw)
                    (NP-OB1 *T*))
            (PUNC .))

    yes

    Calls to reach the output of (6.96) follow (6.97).

    (6.97)
    sentence
    clause_top_layer statement_order
    subject cleft_subject

    [w('PRO;_cleft_','It')]
    clause_middle_layer cleft_subject
    verb_phrase_layer cleft_subject finite_inflection active_voice
    verb finite_inflection ;~cleft_Vn

    [w('BED',';~cleft_Vn','was')]
    verb_complements_top_layer ;~cleft_Vn cleft_subject active_voice
    verb_complements_by_code ;~cleft_Vn cleft_subject active_voice
    noun_phrase -FOC general
    noun_phrase_top general
    noun_phrase_initial_layer general
    determiner_layer general
    det general

    [w('D','an')]
    internal_np_higher_layer
    adjective_phrase general
    adjective_phrase_layer general
    adj

    [w('ADJ','atomic')]
    internal_np_higher_layer
    internal_np_lower_layer
    noun

    [w('N','fission')]
    relative_clause_finite_top_layer
    clause_top_layer statement_order [pp(node('*T*',[]))]
    subject filled_subject
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_head_full non_interrogative

    [w('PRO','we')]
    clause_middle_layer [pp(node('*T*',[]))] filled_subject
    verb_phrase_layer [pp(node('*T*',[]))] filled_subject finite_inflection active_voice
    verb finite_inflection ;~Tn

    [w('VBD',';~Tn','saw')]
    verb_complements_top_layer ;~Tn [pp(node('*T*',[]))] filled_subject active_voice
    verb_complements_by_code ;~Tn [pp(node('*T*',[]))] filled_subject active_voice

    []
    punc final

    [w('PUNC','.')]

    6.10    V_as_though/as_if/like-construction

    The V_as_though/as_if/like-construction involves a verb with a selected adverbial clause.

    Code ;~V_as_though/as_if/like selects an adverbial clause (PP-SCON-MNR) introduced by a subordinating conjunction word (P-CONN), e.g., as_though/as_if/like.

    (6.98)
    verb_complements_by_code(';~V_as_though/as_if/like',Displaced,there_subject,active_voice,[node('PP-CLR',PL)|L],L) -->
      role(PL,[node('IP-ADV',IL)]),
      subject(there_subject,IL,L1),
      clause_middle_layer(Displaced,there_subject,L1,[]).
    verb_complements_by_code(';~V_as_though/as_if/like',Displaced,expletive_subject,active_voice,[node('PP-CLR',PL)|L],L) -->
      role(PL,[node('IP-ADV',IL)]),
      clause_top_layer(statement_order,Displaced,IL,[]).
    verb_complements_by_code(';~V_as_though/as_if/like',Displaced,filled_subject,active_voice,[node('PP-CLR',PL)|L],L) -->
      role(PL,[node('IP-ADV',IL)]),
      clause_top_layer(statement_order,Displaced,IL,[]).

        As an example, consider (6.99).

    (6.99)
    | ?- tphrase_set_string([w('PRO;_expletive_','It'), w('VBP',';~V_as_though/as_if/like','looks'), w('P-ROLE','like'), w('EX','there'), w('BEP',';~cat_Vg','is'), w('VAG',';~cat_Vt','going'), w('TO','to'), w('BE',';~ex_V','be'), w('D','a'), w('N','storm'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (PRO;_expletive_ It))
            (VBP;~V_as_though/as_if/like looks)
            (PP-CLR (P-ROLE like)
                    (IP-ADV (EX there)
                            (BEP;~cat_Vg is)
                            (IP-PPL-CAT (VAG;~cat_Vt going)
                                        (IP-INF-CAT (TO to)
                                                    (BE;~ex_V be)
                                                    (NP-ESBJ (D a)
                                                             (N storm))))))
            (PUNC .))

    yes

    Calls to reach the output of (6.99) follow (6.100).

    (6.100)
    sentence
    clause_top_layer statement_order
    subject expletive_subject

    [w('PRO;_expletive_','It')]
    clause_middle_layer expletive_subject
    verb_phrase_layer expletive_subject finite_inflection active_voice
    verb finite_inflection ;~V_as_though/as_if/like

    [w('VBP',';~V_as_though/as_if/like','looks')]
    verb_complements_top_layer ;~V_as_though/as_if/like expletive_subject active_voice
    verb_complements_by_code ;~V_as_though/as_if/like expletive_subject active_voice
    role

    [w('P-ROLE','like')]
    clause_top_layer statement_order
    subject there_subject

    [w('EX','there')]
    clause_middle_layer there_subject
    verb_phrase_layer there_subject finite_inflection active_voice
    verb finite_inflection ;~cat_Vg

    [w('BEP',';~cat_Vg','is')]
    verb_complements_top_layer ;~cat_Vg there_subject active_voice
    verb_complements_by_code ;~cat_Vg there_subject active_voice
    ip_ppl_active -CAT there_subject present_participle
    verb_phrase_layer there_subject present_participle active_voice
    verb present_participle ;~cat_Vt

    [w('VAG',';~cat_Vt','going')]
    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 active_voice
    to

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

    [w('BE',';~ex_V','be')]
    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_layer general
    det

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

    [w('N','storm')]
    punc final

    [w('PUNC','.')]

        As another example, consider (6.101).

    (6.101)
    | ?- tphrase_set_string([w('EX','There'), w('VBP',';~V_as_though/as_if/like','looks'), w('P-ROLE','like'), w('EX','there'), w('BEP',';~cat_Vg','is'), w('VAG',';~cat_Vt','going'), w('TO','to'), w('BE',';~ex_V','be'), w('D','a'), w('N','storm'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (EX There)
            (VBP;~V_as_though/as_if/like looks)
            (PP-CLR (P-ROLE like)
                    (IP-ADV (EX there)
                            (BEP;~cat_Vg is)
                            (IP-PPL-CAT (VAG;~cat_Vt going)
                                        (IP-INF-CAT (TO to)
                                                    (BE;~ex_V be)
                                                    (NP-ESBJ (D a)
                                                             (N storm))))))
            (PUNC .))

    yes

    Calls to reach the output of (6.101) follow (6.102).

    (6.102)
    sentence
    clause_top_layer statement_order
    subject there_subject

    [w('EX','There')]
    clause_middle_layer there_subject
    verb_phrase_layer there_subject finite_inflection active_voice
    verb finite_inflection ;~V_as_though/as_if/like

    [w('VBP',';~V_as_though/as_if/like','looks')]
    verb_complements_top_layer ;~V_as_though/as_if/like there_subject active_voice
    verb_complements_by_code ;~V_as_though/as_if/like there_subject active_voice
    role

    [w('P-ROLE','like')]
    subject there_subject

    [w('EX','there')]
    clause_middle_layer there_subject
    verb_phrase_layer there_subject finite_inflection active_voice
    verb finite_inflection ;~cat_Vg

    [w('BEP',';~cat_Vg','is')]
    verb_complements_top_layer ;~cat_Vg there_subject active_voice
    verb_complements_by_code ;~cat_Vg there_subject active_voice
    ip_ppl_active -CAT there_subject present_participle
    verb_phrase_layer there_subject present_participle active_voice
    verb present_participle ;~cat_Vt

    [w('VAG',';~cat_Vt','going')]
    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 active_voice
    to

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

    [w('BE',';~ex_V','be')]
    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_layer general
    det

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

    [w('N','storm')]
    punc final

    [w('PUNC','.')]