Chapter 6

Clause subordination


6.1    Introduction

This chapter details cases of clause subordination.

    When a clause provides the argument content for a containing clause, such as being the direct object, it is subordinate. Rules for clause arguments are discussed in section 6.2 (that-clauses), section 6.3 (to-infinitive clauses) and section 6.4 (embedded questions). Section 6.4 also notes the possibility for embedded questions to serve as the complement component of preposition phrases.

    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.5 notes how parsing captures this co-occurrence as a ripple effect. Section 6.6 shows examples where a derived subject noun phrase co-occurs with an extraposed notional subject that is a to-infinitive clause.

    As a contrast to having embedded to-infinitive clauses that are extraposed notional subjects, section 6.7 looks at the catenative adjective construction, where an embedded to-infinitive clause acts to extend the embedding clause.

    A clause can also be the subordinate component of a subordinate conjunction, as section 6.8 shows. Section 6.9 includes the possibility of having a participle clause as the selected complement of a preposition to give a preposition phrase.

    Section 6.10 covers clause subordination with relative clauses, where a clause acts as a noun phrase internal modifier with an internal absence of a selected clause item and possibly with an initial phrase containing a relative pronoun. Section 6.11 adds support for cleft constructions.

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


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 depend on 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 internal) 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,Store,[node(Label,[node('IP-SUB',IL)])|L],L) -->
  {
    atom_concat('CP-THT',Ext,Label)
  },
  clause_that_layer(Type,Store,IL,[]).
cp_that(Ext,Type,Store,[node(Label,[node('IP-SUB',[node('ILYR',[node('ILYR',IL)|CL])])])|L],L) -->
  {
    atom_concat('CP-THT',Ext,Label)
  },
  clause_that_layer(Type,Store,IL,[]),
  cp_that_tail(Type,Store,CL,[]).
(6.2)
cp_that_tail(Type,Store,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  clause_that_layer(Type,Store,IL,[]).
cp_that_tail(Type,Store,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  clause_that_layer(Type,Store,IL,[]),
  cp_that_tail(Type,Store,L,L0).

    The internal content for (a conjunct of) a that-clause follows from the clause_that_layer rules of (6.3). The exact rule called can depend on:

The rules of (6.3) apply is follows:

(6.3)
clause_that_layer(without_c,[np(ICH)|Store],[node('NP-SBJ',[ICH])|L],L0) -->
  {
    member(SbjType,[filled_sbj,derived_sbj])
  },
  clause_middle_layer(Store,SbjType,L,L0).
clause_that_layer(with_c,Store,L,L0) -->
  comp(L,L1),
  clause_top_layer(statement_order,Store,L1,L0).
clause_that_layer(without_c,Store,L,L0) -->
  clause_top_layer(statement_order,Store,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('RP','early'), w('PUNC','?')]), parse(sentence).

(CP-QUE-MAT (IP-SUB (NP-588 (WPRO Who))
                    (DOP do)
                    (NP-SBJ (PRO you))
                    (VB;~Tf think)
                    (CP-THT-OB1 (IP-SUB (NP-SBJ *ICH*-163)
                                        (MD;~cat_Vi will)
                                        (IP-INF-CAT (VB;~Ip arrive)
                                                    (ADVP-CLR (RP 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 Store parameter that contains np(node('*ICH*-163',[])). A call of [rule 1] of clause_that_layer removes np(node('*ICH*-163',[])) from the Store parameter so that it can function as the subject of the that-clause followed by a clause_middle_layer call.

(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_sbj
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_sbj infinitive active
verb infinitive ;~Tf

[w('VB',';~Tf','think')]
verb_complements_top_layer ;~Tf [np(node('*ICH*-163',[]))] filled_sbj active
verb_complements_by_code ;~Tf [np(node('*ICH*-163',[]))] filled_sbj active
cp_that -OB1 [np(node('*ICH*-163',[]))]
clause_that_layer [np(node('*ICH*-163',[]))]
clause_middle_layer filled_sbj
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_sbj active
verb_complements_by_code ;~cat_Vi filled_sbj active
verb_phrase_layer filled_sbj infinitive active
verb infinitive ;~Ip

[w('VB',';~Ip','arrive')]
verb_complements_top_layer ;~Ip filled_sbj active
verb_complements_by_code ;~Ip filled_sbj active
adverb_phrase -CLR particle
adverb_phrase_layer particle
adv particle

[w('RP','early')]
punc final_question

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

    More examples where a that-clause is an object argument are seen in sections 4.4.4 (with code ;~Tf), 4.5.2 (with code ;~Dn.f) and 4.5.8 (with code ;~Dpr.f).

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, parsing succeeds for (6.7) 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('RP','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('RP','early'), w('PUNC','?')]

6.3    IP-INF with to inside (to-infinitive clause)

A to-infinitive clause is a non-finite clause with a to word (see section 2.10) and a following verb in the infinitive form. In addition to being able to extend the same clause as part of a catenative construction (as seen in section 5.4.2), a to-infinitive clause can also form a distinct clause that is an argument for a containing clause. Examples where a to-infinitive clause is an object argument are seen in sections 4.4.7 (with code ;~Tt), 4.4.8 (with code ;~Tnt), 4.5.5 (with code ;~Dn.t) and 4.6.1 (with code ;~Cn.a when there is a provisional object it).

    The rules of to_inf_layer in (6.8) create to-infinitive clauses. The first three rules are non-recursive and pick up from the word list an initial to word. These three rules differ as follows:

    There are two rules to enable introduction of a clause initial connective particle (which is always for) followed by content for a subject element from which the SbjType replaces an inherited unfilled_sbj value. These two rules differ as follows:

    There is also [rule 6] to start a conjunction structure where to_inf_layer adds all conjuncts with calls to to_inf_tail of (6.9) gathering non-initial conjuncts.

(6.8)
to_inf_layer(Store,SbjType,Voice,L,L0) -->
  {
    Voice == active
  },
  to(L,L1),
  verb_phrase_layer(Store,SbjType,infinitive,Voice,L1,L0).
to_inf_layer(Store,SbjType,Voice,[node('NP-LGS',[node('*',[])])|L],L0) -->
  {
    Voice == passive
  },
  to(L,L1),
  verb_phrase_layer(Store,SbjType,infinitive,Voice,L1,L0).
to_inf_layer(Store,SbjType,Voice,L,L0) -->
  {
    Voice == lgs_passive
  },
  to(L,L1),
  verb_phrase_layer(Store,SbjType,infinitive,passive,L1,L0).
to_inf_layer(Store,SbjType0,Voice,L,L0) -->
  {
    SbjType0 == unfilled_sbj,
    Voice == active
  },
  conn(L,L2),
  subject(SbjType,L2,L1),
  to_inf_layer(Store,SbjType,Voice,L1,L0).
to_inf_layer(Store,SbjType0,Voice,L,L0) -->
  {
    SbjType0 == unfilled_sbj,
    Voice == passive
  },
  conn(L,L2),
  noun_phrase('-LGS',non_privileged,L2,L1),
  to_inf_layer(Store,filled_sbj,lgs_passive,L1,L0).
to_inf_layer(Store,SbjType,Voice,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
  to_inf_layer(Store,SbjType,Voice,IL,[]),
  to_inf_tail(Store,SbjType,Voice,CL,[]).
(6.9)
to_inf_tail(Store,SbjType,Voice,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  to_inf_layer(Store,SbjType,Voice,IL,[]).
to_inf_tail(Store,SbjType,Voice,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  to_inf_layer(Store,SbjType,Voice,IL,[]),
  to_inf_tail(Store,SbjType,Voice,L,L0).

6.4    CP-QUE projections that are embedded question clauses

An embedded question clause has 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.10). 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.10)
cp_embedded_que(Ext,Store,[node(Label,[node('IP-SUB',IL)])|L],L) -->
  {
    atom_concat('CP-QUE',Ext,Label)
  },
  clause_embedded_que_finite_top_layer(Store,IL,[]).
cp_embedded_que(Ext,Store,[node(Label,[node('IP-SUB',[node('ILYR',[node('ILYR',IL)|CL])])])|L],L) -->
  {
    atom_concat('CP-QUE',Ext,Label)
  },
  clause_embedded_que_finite_top_layer(Store,IL,[]),
  cp_embedded_que_finite_tail(Store,CL,[]).
cp_embedded_que(Ext,Store,[node(Label,[node('IP-INF',IL)])|L],L) -->
  {
    atom_concat('CP-QUE',Ext,Label)
  },
  clause_embedded_que_to_inf_top_layer(Store,IL,[]).
cp_embedded_que(Ext,Store,[node(Label,[node('IP-INF',[node('ILYR',[node('ILYR',IL)|CL])])])|L],L) -->
  {
    atom_concat('CP-QUE',Ext,Label)
  },
  clause_embedded_que_to_inf_top_layer(Store,IL,[]),
  cp_embedded_que_to_inf_tail(Store,CL,[]).
(6.11)
cp_embedded_que_finite_tail(Store,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  clause_embedded_que_finite_top_layer(Store,IL,[]).
cp_embedded_que_finite_tail(Store,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  clause_embedded_que_finite_top_layer(Store,IL,[]),
  cp_embedded_que_finite_tail(Store,L,L0).
(6.12)
cp_embedded_que_to_inf_tail(Store,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
  conj(CONJ),
  clause_embedded_que_to_inf_top_layer(Store,IL,[]).
cp_embedded_que_to_inf_tail(Store,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
  punc(non_final,[PU],[]),
  clause_embedded_que_to_inf_top_layer(Store,IL,[]),
  cp_embedded_que_to_inf_tail(Store,L,L0).

    As a variation of cp_embedded_que, there is also cp_embedded_que3 of (6.13). This creates an embedded question with control always blocked, including when the embedded question is a to-infinitive clause.

(6.13)
cp_embedded_que3(Ext,Store,[node(Label,[node('IP-SUB',IL)])|L],L) -->
  {
    atom_concat('CP-QUE',Ext,Label)
  },
  clause_embedded_que_finite_top_layer(Store,IL,[]).
cp_embedded_que3(Ext,Store,[node(Label,[node('IP-SUB',[node('ILYR',[node('ILYR',IL)|CL])])])|L],L) -->
  {
    atom_concat('CP-QUE',Ext,Label)
  },
  clause_embedded_que_finite_top_layer(Store,IL,[]),
  cp_embedded_que_finite_tail(Store,CL,[]).
cp_embedded_que3(Ext,Store,[node(Label,[node('IP-INF3',IL)])|L],L) -->
  {
    atom_concat('CP-QUE',Ext,Label)
  },
  clause_embedded_que_to_inf_top_layer(Store,IL,[]).
cp_embedded_que3(Ext,Store,[node(Label,[node('IP-INF3',[node('ILYR',[node('ILYR',IL)|CL])])])|L],L) -->
  {
    atom_concat('CP-QUE',Ext,Label)
  },
  clause_embedded_que_to_inf_top_layer(Store,IL,[]),
  cp_embedded_que_to_inf_tail(Store,CL,[]).

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

The clause_embedded_que_finite_top_layer rules of (6.14) collect the content of an embedded question clause that is a finite clause with statement word order. This gives rules that differ in how they introduce the embedded question:

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

    Calls to clause_embedded_que_finite_lower_layer of (6.15) differ in their treatment of the stored noun phrase index of the embedded question:

(6.15)
clause_embedded_que_finite_lower_layer([np(ICH)|Store],[node('NP-SBJ',[ICH])|L],L0) -->
  {
    member(SbjType,[filled_sbj,derived_sbj])
  },
  clause_middle_layer(Store,SbjType,L,L0).
clause_embedded_que_finite_lower_layer(Store,L,L0) -->
  clause_top_layer(statement_order,Store,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.16).

(6.16)
| ?- 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('RP','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 (RP early)))))
        (PUNC .))

yes

Calls to reach the output of (6.16) follow (6.17).

(6.17)
sentence
clause_top_layer statement_order
subject filled_sbj
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','He')]
verb_phrase_layer filled_sbj finite active
verb finite ;~Dn.w

[w('VBD',';~Dn.w','asked')]
verb_complements_top_layer ;~Dn.w filled_sbj active
verb_complements_by_code ;~Dn.w filled_sbj active
noun_phrase -OB2 non_privileged
noun_phrase_top non_privileged
noun_head_full non_privileged

[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_sbj
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','she')]
clause_middle_layer filled_sbj
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_sbj active
verb_complements_by_code ;~cat_Vi filled_sbj active
verb_phrase_layer filled_sbj infinitive active
verb infinitive ;~Ip

[w('VB',';~Ip','arrive')]
verb_complements_top_layer ;~Ip filled_sbj active
verb_complements_by_code ;~Ip filled_sbj active
adverb_phrase -CLR particle
adverb_phrase_layer particle
adv particle

[w('RP','early')]
punc final

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

Question

Why do the success and failure results of (6.18)–(6.20) obtain?

(6.18)
| ?- 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.19)
| ?- 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.20)
| ?- 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.4.2    Embedded question clauses that are to-infinitive clauses

The clause_embedded_que_to_inf_top_layer rules of (6.21) collect the content of an embedded question clause that is a to-infinitive clause. These rules find clause content with to_inf_layer of section 6.3 but differ in how they introduce the embedded question:

(6.21)
clause_embedded_que_to_inf_top_layer(Store,L,L0) -->
  comp_wq(L,L1),
  to_inf_layer(Store,filled_sbj,active,L1,L0).
clause_embedded_que_to_inf_top_layer(Store,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  noun_phrase(Index,interrogative,L,L1),
  to_inf_layer([np(node(ICH,[]))|Store],filled_sbj,active,L1,L0).
clause_embedded_que_to_inf_top_layer(Store,L,L0) -->
  {
    gensym('-',Index),
    atom_concat('*ICH*',Index,ICH)
  },
  adverb_phrase(Index,interrogative,L,L1),
  to_inf_layer([advp(node(ICH,[]))|Store],filled_sbj,active,L1,L0).
clause_embedded_que_to_inf_top_layer(Store,L,L0) -->
  adverb_phrase('-NIM',interrogative,L,L1),
  to_inf_layer(Store,filled_sbj,active,L1,L0).

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

(6.22)
| ?- 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.22) follow (6.23).

(6.23)
sentence
clause_top_layer statement_order
subject filled_sbj
noun_phrase -SBJ non_interrogative
noun_phrase_top non_interrogative
noun_head_full non_interrogative

[w('PRO','She')]
clause_middle_layer filled_sbj
verb_phrase_layer filled_sbj finite active
verb finite ;~Tw

[w('VBD',';~Tw','wondered')]
verb_complements_top_layer ;~Tw filled_sbj active
verb_complements_by_code ;~Tw filled_sbj active
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_sbj active
to

[w('TO','to')]
verb_phrase_layer [np(node('*ICH*-453',[]))] filled_sbj infinitive active
verb infinitive ;~Tn

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

[]
punc final

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

6.4.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 can be preposition complements.

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

    (6.24)
    | ?- 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',[],non_privileged)).

    (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.24) follow (6.25).

    (6.25)
    adjective_phrase -PRD2 non_privileged
    adjective_phrase_layer non_interrogative
    adjective_phrase_layer non_interrogative
    adj non_interrogative

    [w('ADJ','concerned')]
    preposition_phrase non_privileged
    preposition_phrase_layer non_privileged
    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_sbj
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_head_full non_interrogative

    [w('PRO','we')]
    clause_middle_layer filled_sbj
    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_sbj active
    verb_complements_by_code ;~cat_Vi filled_sbj active
    verb_phrase_layer filled_sbj infinitive active
    verb infinitive ;~Tn

    [w('VB',';~Tn','save')]
    verb_complements_top_layer ;~Tn filled_sbj active
    verb_complements_by_code ;~Tn filled_sbj active
    noun_phrase -OB1 non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    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.26).

    (6.26)
    | ?- 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('',non_privileged)).

    (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.26) follow (6.27).

    (6.27)
    noun_phrase non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det non_privileged

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

    [w('N','choice')]
    preposition_phrase non_privileged
    preposition_phrase_layer non_privileged
    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_sbj active
    to

    [w('TO','to')]
    verb_phrase_layer filled_sbj infinitive active
    verb infinitive ;~Tn

    [w('VB',';~Tn','buy')]
    verb_complements_top_layer ;~Tn filled_sbj active
    verb_complements_by_code ;~Tn filled_sbj active
    noun_phrase -OB1 non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    noun_phrase_genm_layer non_privileged
    pronoun_genm non_privileged

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

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

    6.5    The combination of a provisional it and a notional subject

    The subject definition from section 2.5 has [rule 4] to pick up an instance of it as a PRO;_provisional_ word. In doing so, SbjType for the clause becomes provisional_sbj. This starts a ripple effect, with provisional_sbj having to become filled_sbj. This happens with [rule 3] of verb_complements_top_layer from section 4.1, repeated as (6.28).

    (6.28)
    verb_complements_top_layer(Code,Store,SbjType,Voice,L,L0) -->
      {
        \+ sub_atom(Code,0,6,_,';~cat_'),
        SbjType = provisional_sbj
      },
      verb_complements_top_layer(Code,Store,filled_sbj,Voice,L,L1),
      notional_item('-NSBJ',L1,L0).

    A call of (6.28) needs to find a notional subject (-NSBJ) to the right of a non-catenative verb together with all its other complements.

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

    (6.29)
    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_sbj,ing_participle,L,L0).

        As a variation of notional_item, there is also notional_item3 of (6.30). This creates a notional item as an object in calls of verb_complements_by_code with verb code ';~Cn.a' (see section 4.6.1) or ';~Cn.n' (see section 4.6.2).

    (6.30)
    notional_item3(Ext,L,L0) -->
      cp_that(Ext,_,[],L,L0).
    notional_item3(Ext,L,L0) -->
      cp_embedded_que3(Ext,[],L,L0).
    notional_item3(Ext0,L,L0) -->
      {
        atom_concat('3',Ext0,Ext)
      },
      ip_to_inf(Ext,[],L,L0).
    notional_item3(Ext0,L,L0) -->
      {
        atom_concat('3',Ext0,Ext)
      },
      ip_ppl_active(Ext,[],filled_sbj,ing_participle,L,L0).

    6.5.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.31).

    (6.31)
    | ?- 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.31) follow (6.32).

    (6.32)
    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
    verb_complements_top_layer ;~La filled_sbj active
    verb_complements_by_code ;~La filled_sbj active
    adjective_phrase -PRD2 non_privileged
    adjective_phrase_layer non_interrogative
    adj non_interrogative

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

    [w('C','that')]
    clause_top_layer statement_order
    subject filled_sbj
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_head_full non_interrogative

    [w('PRO','he')]
    clause_middle_layer filled_sbj
    operator_layer

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

    [w('NEG;_clitic_','n<apos>t')]
    verb_phrase_layer filled_sbj infinitive active
    verb infinitive ;~I

    [w('VB',';~I','come')]
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_by_code ;~I filled_sbj active

    []
    punc final

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

    6.5.2    The notional subject as a to-infinitive clause

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

    (6.33)
    ip_to_inf(Ext,Store,[node(Label,VL)|L],L) -->
      {
        atom_concat('IP-INF',Ext,Label)
      },
      to_inf_top_layer(Store,VL,[]).
    (6.34)
    to_inf_top_layer(Store,L,L0) -->
      to_inf_layer(Store,unfilled_sbj,active,L,L0).
    to_inf_top_layer(Store,L,L0) -->
      to_inf_layer(Store,filled_sbj,active,L,L0).

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

  • [rule 1] unfilled_sbj
  • [rule 2] filled_sbj
  •     As an example with the combination of a provisional it and a to-infinitive clause notional subject, consider (6.35).

    (6.35)
    | ?- tphrase_set_string([w('PRO;_provisional_','It'), w('BED',';~cat_Ve_passive_','was'), w('VVN',';~Tn','attempted'), w('TO','to'), w('VB',';~Tn','form'), w('D','a'), w('ADJ','new'), w('N','plan'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (PRO;_provisional_ It))
            (BED;~cat_Ve_passive_ was)
            (IP-PPL-CAT (NP-LGS *)
                        (VVN;~Tn attempted)
                        (IP-INF-NSBJ (TO to)
                                     (VB;~Tn form)
                                     (NP-OB1 (D a)
                                             (ADJP (ADJ new))
                                             (N plan))))
            (PUNC .))

    yes

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

    (6.36)
    sentence
    clause_top_layer statement_order
    subject provisional

    [w('PRO;_provisional_','It')]
    clause_middle_layer provisional
    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 _provisional active
    verb_complements_by_code ;~cat_Ve_passive _provisional active
    ip_ppl_passive -CAT provisional en_participle
    verb_phrase_layer provisional en_participle passive
    verb en_participle ;~Tn

    [w('VVN',';~Tn','attempted')]
    verb_complements_top_layer ;~Tn provisional passive
    verb_complements_top_layer ;~Tn filled_sbj passive
    verb_complements_by_code ;~Tn filled_sbj passive

    []
    notional_item -NSBJ
    ip_to_inf -NSBJ
    to_inf_top_layer
    to_inf_layer filled_sbj active
    to

    [w('TO','to')]
    verb_phrase_layer filled_sbj infinitive active
    verb infinitive ;~Tn

    [w('VB',';~Tn','form')]
    verb_complements_top_layer ;~Tn filled_sbj active
    verb_complements_by_code ;~Tn filled_sbj active
    noun_phrase -OB1 non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det non_privileged

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

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

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

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

    6.6    The combination of a derived subject and an infinitive clause notional subject

    The subject definition from section 2.5 has [rule 6] to pick up content for a non_interrogative noun phrase with subject function information (NP-SBJ). In doing so, SbjType for the clause becomes derived_sbj. This SbjType setting also occurs with [rule 10] of clause_top_layer from section 5.2 for a derived subject that is an interrogative noun phrase. Once there is the derived_sbj setting, there is the start of a ripple effect, with derived_sbj having to become filled_sbj.

    6.6.1    A double passive

    Change from derived_sbj to filled_sbj can happen with [rule 2] of verb_complements_top_layer from section 4.1, repeated as (6.37).

    (6.37)
    verb_complements_top_layer(Code,Store,SbjType,Voice,L,L0) -->
      {
        Code = ';~cat_Ve_passive_',
        SbjType = derived_sbj
      },
      verb_complements_top_layer(Code,[],filled_sbj,Voice,L,[node('IP-INF-NSBJ',VL)|L0]),
      to_inf_layer(Store,filled_sbj,active,VL,[]).

        The rule of (6.37) needs to find a notional subject that comes after a catenative verb and its passive complement. The notional subject has to be a to-infinitive clause (IP-INF-NSBJ) with internal content found by calling to_inf_layer of section 6.3 with active as the Voice setting and filled_sbj as the SbjType setting.

        The word list of (6.38) gives an example of a double passive from Kruisinga (1931, p.333) (see also Poutsma 1926, p.462). An alternative construction with a double passive is seen in section 4.4.8.

    (6.38)
    | ?- tphrase_set_string([w('D','A'), w('ADJ','new'), w('N','plan'), w('BED',';~cat_Ve_passive_','was'), w('VVN',';~Tn','attempted'), w('TO','to'), w('BE',';~cat_Ve_passive_','be'), w('VVN',';~Tn','formed'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (D A)
                    (ADJP (ADJ new))
                    (N plan))
            (BED;~cat_Ve_passive_ was)
            (IP-PPL-CAT (NP-LGS *)
                        (VVN;~Tn attempted))
            (IP-INF-NSBJ (TO to)
                         (BE;~cat_Ve_passive_ be)
                         (IP-PPL-CAT (NP-LGS *)
                                     (VVN;~Tn formed)))
            (PUNC .))

    yes

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

    (6.39)
    sentence
    clause_top_layer statement_order
    subject derived_sbj
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_privileged
    det non_privileged

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

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

    [w('N','plan')]
    clause_middle_layer derived_sbj
    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 _derived_sbj active
    verb_complements_by_code ;~cat_Ve_passive _derived_sbj active
    ip_ppl_passive -CAT derived_sbj en_participle
    verb_phrase_layer derived_sbj en_participle passive
    verb en_participle ;~Tn

    [w('VVN',';~Tn','attempted')]
    verb_complements_top_layer ;~Tn derived_sbj passive
    verb_complements_top_layer ;~Tn filled_sbj passive
    verb_complements_by_code ;~Tn filled_sbj passive

    []
    notional_item -NSBJ
    ip_to_inf -NSBJ
    to_inf_top_layer
    to_inf_layer filled_sbj active
    to

    [w('TO','to')]
    verb_phrase_layer filled_sbj infinitive active
    verb infinitive ;~cat_Ve_passive_

    [w('BE',';~cat_Ve_passive_','be')]
    verb_complements_top_layer ;~cat_Ve_passive _filled_sbj active
    verb_complements_by_code ;~cat_Ve_passive _filled_sbj active
    ip_ppl_passive -CAT filled_sbj en_participle
    verb_phrase_layer filled_sbj en_participle passive
    verb en_participle ;~Tn

    [w('VVN',';~Tn','formed')]
    verb_complements_top_layer ;~Tn filled_sbj passive
    verb_complements_by_code ;~Tn filled_sbj passive

    []
    punc final

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

    6.6.2    The tough-construction

    A derived_sbj setting having to become a filled_sbj setting can also start the ripple effect of a tough-construction (see Poutsma 1926, p.363,457). This happens with [rule 3] of verb_complements_top_layer from section 4.1, repeated as (6.40).

    (6.40)
    verb_complements_top_layer(Code,Store,SbjType,Voice,L,L0) -->
      {
        Code = ';~La',
        SbjType = derived_sbj,
        Voice = active,
        member(SbjType1,[filled_sbj,unfilled_sbj])
      },
      verb_complements_top_layer(Code,[],filled_sbj,Voice,L,[node('IP-INF-NSBJ',VL)|L0]),
      to_inf_layer(Store,SbjType1,passive,VL,[]).

        The rule of (6.40) 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. Also, the notional subject is a to-infinitive clause (IP-INF-NSBJ) with internal content found by calling to_inf_layer of section 6.3 with passive as the Voice setting while the SbjType sets to either filled_sbj or unfilled_sbj.

        As an example with a derived subject triggering a tough-construction that leads to a to-infinitive clause notional subject where the Voice setting is passive and the SbjType sets to unfilled_sbj, consider (6.41).

    (6.41)
    | ?- tphrase_set_string( [w('D','The'), w('N','breaststroke'), w('BEP',';~La','is'), w('ADJ','hard'), w('P-CONN','for'), w('PRO','me'), 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 (P-CONN for)
                         (NP-LGS (PRO me))
                         (TO to)
                         (VB;~Tn explain))
            (PUNC .))

    yes

    Calls to reach the output of (6.41) follow (6.42).

    (6.42)
    sentence
    clause_top_layer statement_order
    subject derived_sbj
    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_sbj
    verb_phrase_layer derived_sbj finite active
    verb finite ;~La

    [w('BEP',';~La','is')]
    verb_complements_top_layer ;~La derived_sbj active
    verb_complements_top_layer ;~La filled_sbj active
    verb_complements_by_code ;~La filled_sbj active
    adjective_phrase -PRD2 non_privileged
    adjective_phrase_layer non_interrogative
    adj non_interrogative

    [w('ADJ','hard')]
    to_inf_layer unfilled_sbj passive
    conn

    [w('P-CONN','for')]
    noun_phrase -LGS non_privileged
    noun_phrase_top non_privileged
    noun_head_full non_privileged

    [w('PRO','me')]
    to_inf_layer filled_sbj lgs_passive
    to

    [w('TO','to')]
    verb_phrase_layer filled_sbj infinitive passive
    verb infinitive ;~Tn

    [w('VB',';~Tn','explain')]
    verb_complements_top_layer ;~Tn filled_sbj passive
    verb_complements_by_code ;~Tn filled_sbj passive

    []
    punc final

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

    6.7    The catenative adjective construction

    This section looks at the catenative adjective construction. Here, there is an embedded to-infinitive clause that is not an extraposed notional subject but rather serves to extend the embedding clause in a way analogous to the extension of clause structure seen with catenative verbs in section 5.4.

        As an example, consider (6.43).

    (6.43)
    | ?- tphrase_set_string([w('NPR','Voyager'), w('BEP',';~La','is'), w('ADJ;_cat_','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;_cat_ likely)
                       (IP-INF (TO to)
                               (VB;~In/pr survive)
                               (NP-CLR (D a)
                                       (ADJP (ADJ billion))
                                       (NS years))))
            (PUNC .))

    yes

    Calls to reach the output of (6.43) follow (6.44).

    (6.44)
    sentence
    clause_top_layer statement_order
    subject derived_sbj
    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_sbj
    verb_phrase_layer derived_sbj finite active
    verb finite ;~La

    [w('BEP',';~La','is')]
    verb_complements_top_layer ;~La derived_sbj active
    verb_complements_top_layer ;~La filled_sbj active
    verb_complements_by_code ;~La filled_sbj active
    adjective_phrase -PRD2 filled_sbj
    adjective_phrase_layer filled_sbj
    adj catenative

    [w('ADJ;_cat_','likely')]
    to_inf_layer filled_sbj active
    to

    [w('TO','to')]
    verb_phrase_layer filled_sbj infinitive active
    verb infinitive ;~In/pr

    [w('VB',';~In/pr','survive')]
    verb_complements_top_layer ;~In/pr filled_sbj active
    verb_complements_by_code ;~In/pr filled_sbj active
    noun_phrase -CLR non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det non_privileged

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

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

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

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

    Question

    Consider (6.45)–(6.47). What are the parse results, if any? Can you describe the cause of any parse failure?

    (6.45)
    [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.46)
    [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.47)
    [w('NPR','Voyager'), w('BEP',';~La','is'), w('ADJ;_cat_','likely'), w('P-CONN','for'), w('D','the'), w('N','spacecraft'), w('TO','to'), w('VB',';~I','survive'), w('PUNC','.')]

    6.8    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 with clause_top_layer or verb_phrase_layer rules (both from section 5.2) that subsequently call adverbial from section 2.10. To detect the subordinate clause of a subordinate conjunction, adverbial calls the scon_clause rules of (6.48).

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

    There is also:

    (6.48)
    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_sbj,active,VL,[]).
    scon_clause([node('PP-SCON',PL)|L],L) -->
      conn(PL,[node('IP-PPL2;IP-PPL',IL)]),
      {
        member(Infl,[hag_participle,en_participle,ing_participle])
      },
      ip_ppl_adverbial_layer(filled_sbj,Infl,IL,[]).
    scon_clause([node('PP-SCON',PL)|L],L) -->
      conn(PL,[node('IP-PPL3',IL)]),
      {
        member(Infl,[hag_participle,en_participle,ing_participle])
      },
      ip_ppl_adverbial_layer(unfilled_sbj,Infl,IL,[]).
    scon_clause([node('PP',[PP1|CL])|L],L) -->
      scon_clause([PP1],[]),
      scon_clause_tail(CL,[]).
    (6.49)
    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.8.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.50).

    (6.50)
    | ?- 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.50) follow (6.51).

    (6.51)
    sentence
    verb_phrase_layer filled_sbj imperative active
    verb_phrase_layer filled_sbj imperative active
    verb_phrase_layer filled_sbj imperative active
    verb imperative ;~I

    [w('VB',';~I','Tread')]
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_by_code ~I filled_sbj active

    []
    adverbial
    adverb_phrase -NIM non_privileged
    adverb_phrase_layer non_privileged
    adv non_privileged

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

    [w('P-CONN','because')]
    clause_top_layer statement_order
    subject filled_sbj
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_head_full non_interrogative

    [w('PRO','you')]
    clause_middle_layer filled_sbj
    verb_phrase_layer filled_sbj finite active
    verb finite ;~Ipr

    [w('VBP',';~Ipr','tread')]
    verb_complements_top_layer ;~Ipr filled_sbj active
    verb_complements_by_code ;~Ipr filled_sbj active
    preposition_phrase -CLR non_privileged
    preposition_phrase_layer non_privileged
    role

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

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

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

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

    6.8.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.52).

    (6.52)
    | ?- 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('RP','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 (RP back))))
            (PUNC .))

    yes

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

    (6.53)
    sentence
    clause_top_layer statement_order
    clause_top_layer statement_order
    subject filled_sbj
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_head_full non_interrogative

    [w('PRO','I')]
    clause_middle_layer filled_sbj
    verb_phrase_layer filled_sbj finite active
    verb finite ;~Tt

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

    [w('TO','to')]
    verb_phrase_layer filled_sbj infinitive active
    verb_phrase_layer filled_sbj infinitive active
    verb infinitive ;~Tn

    [w('VB',';~Tn','spread')]
    verb_complements_top_layer ;~Tn filled_sbj active
    verb_complements_by_code ;~Tn filled_sbj active
    noun_phrase -OB1 non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    noun_phrase_genm_layer non_privileged
    pronoun_genm non_privileged

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

    [w('NS','wings')]
    verb_phrase_tail filled_sbj infinitive active
    conj

    [w('CONJ','and')]
    verb_phrase_layer filled_sbj infinitive active
    verb infinitive ;~I

    [w('VB',';~I','fly')]
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_by_code ;~I filled_sbj active

    []
    optional_punc_non_final
    punc non_final

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

    [w('P-CONN','in_order')]
    to_inf_layer filled_sbj active
    to

    [w('TO','to')]
    verb_phrase_layer filled_sbj infinitive active
    verb infinitive ;~Ip

    [w('VB',';~Ip','come')]
    verb_complements_top_layer ;~Ip filled_sbj active
    verb_complements_by_code ;~Ip filled_sbj active
    adverb_phrase -CLR particle
    adverb_phrase_layer particle
    adv particle

    [w('RP','back')]
    punc final

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

    6.8.3    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 offers an opportunity for more content to be part of a participle clause.

        The possibilities for extra content arise with the ip_ppl_adverbial_layer rules of (6.54). These rules add the possibility of:

    [rule 2] requires a hag_participle setting for the Infl parameter, which is only possible with subordinate conjunction.

        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.55).

    (6.54)
    ip_ppl_adverbial_layer(SbjType0,Infl,L,L0) -->
      {
        SbjType0 == unfilled_sbj
      },
      subject(SbjType,L,L1),
      ip_ppl_adverbial_layer(SbjType,Infl,L1,L0).
    ip_ppl_adverbial_layer(SbjType,Infl,[node('HAG;~cat_Ve',[node(Word,[])])|L],L0) -->
      {
        Infl == hag_participle
      },
      [w('HAG',';~cat_Ve',Word)],
      ip_ppl_active('-CAT',[],SbjType,en_participle,L,L0).
    ip_ppl_adverbial_layer(SbjType,Infl,L,L0) -->
      {
        Infl == ing_participle
      },
      verb_phrase_layer([],SbjType,Infl,active,L,L0).
    ip_ppl_adverbial_layer(SbjType,Infl,L,L0) -->
      {
        Infl == en_participle
      },
      verb_phrase_layer([],SbjType,Infl,active,L,L0).
    ip_ppl_adverbial_layer(SbjType,Infl,[node('NP-LGS',[node('*',[])])|L],L0) -->
      {
        Infl == en_participle
      },
      verb_phrase_layer([],SbjType,Infl,passive,L,L0).
    ip_ppl_adverbial_layer(SbjType,Infl,[node('ILYR',[node('ILYR',IL)|CL])|L],L) -->
      ip_ppl_adverbial_layer(SbjType,Infl,IL,[]),
      ip_ppl_adverbial_tail(SbjType,Infl,CL,[]).
    (6.55)
    ip_ppl_adverbial_tail(SbjType,Infl,[node('CONJP',[CONJ,node('ILYR',IL)])|L],L) -->
      conj(CONJ),
      ip_ppl_adverbial_layer(SbjType,Infl,IL,[]).
    ip_ppl_adverbial_tail(SbjType,Infl,[PU,node('CONJP',[node('ILYR',IL)])|L],L0) -->
      punc(non_final,[PU],[]),
      ip_ppl_adverbial_layer(SbjType,Infl,IL,[]),
      ip_ppl_adverbial_tail(SbjType,Infl,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.56).

    (6.56)
    | ?-  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('RP','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 (RP away))
            (PUNC .))

    yes

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

    (6.57)
    sentence
    clause_top_layer statement_order
    adverbial
    scon_clause
    conn

    [w('P-CONN','Without')]
    ip_ppl_adverbial_layer filled_sbj ing_participle
    verb_phrase_layer filled_sbj ing_participle active
    verb ing_participle ;~cat_Ve_passive_

    [w('BAG',';~cat_Ve_passive_','being')]
    verb_complements_top_layer ;~cat_Ve_passive _filled_sbj active
    verb_complements_by_code ;~cat_Ve_passive _filled_sbj active
    ip_ppl_passive -CAT filled_sbj en_participle
    verb_phrase_layer filled_sbj en_participle passive
    verb en_participle ;~Tn

    [w('VVN',';~Tn','told')]
    verb_complements_top_layer ;~Tn filled_sbj passive
    verb_complements_by_code ;~Tn filled_sbj passive

    []
    optional_punc_non_final
    punc non_final

    [w('PUNC',',')]
    clause_top_layer statement_order
    subject filled_sbj
    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_sbj
    verb_phrase_layer filled_sbj finite active
    verb finite ;~Ip

    [w('VBD',';~Ip','drove')]
    verb_complements_top_layer ;~Ip filled_sbj active
    verb_complements_by_code ;~Ip filled_sbj active
    adverb_phrase -CLR particle
    adverb_phrase_layer particle
    adv particle

    [w('RP','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.58).

    (6.58)
    | ?-  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.58) follow (6.59).

    (6.59)
    sentence
    clause_top_layer statement_order
    subject filled_sbj
    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_sbj
    verb_phrase_layer filled_sbj finite active
    adverb_phrase -NIM non_privileged
    adverb_phrase_layer non_privileged
    adv non_privileged

    [w('ADV','finally')]
    verb_phrase_layer filled_sbj finite active
    verb finite ;~I

    [w('VBD',';~I','confessed')]
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_by_code ;~I filled_sbj active

    []
    adverbial
    scon_clause
    conn

    [w('P-CONN','after')]
    ip_ppl_adverbial_layer filled_sbj hag_participle

    [w('HAG',';~cat_Ve','having')]
    ip_ppl_active -CAT filled_sbj en_participle
    verb_phrase_layer filled_sbj en_participle active
    verb en_participle ;~cat_Ve_passive_

    [w('BEN',';~cat_Ve_passive_','been')]
    verb_complements_top_layer ;~cat_Ve_passive _filled_sbj active
    verb_complements_by_code ;~cat_Ve_passive _filled_sbj active
    ip_ppl_passive -CAT filled_sbj en_participle
    verb_phrase_layer filled_sbj en_participle passive
    verb en_participle ;~Dn.n

    [w('VVN',';~Dn.n','granted')]
    verb_complements_top_layer ;~Dn.n filled_sbj passive
    verb_complements_by_code ;~Dn.n filled_sbj passive
    noun_phrase -OB1 non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    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.60).

    (6.60)
    | ?-  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',';~I','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;~I moved)
            (ADVP-NIM (ADV swiftly))
            (PUNC .))

    yes

    Calls to reach the output of (6.60) follow (6.61).

    (6.61)
    sentence
    clause_top_layer statement_order
    adverbial
    scon_clause
    conn

    [w('P-CONN','With')]
    ip_ppl_adverbial_layer unfilled_sbj en_participle
    subject filled_sbj
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_phrase_initial_layer non_interrogative
    determiner_layer non_interrogative
    noun_phrase_genm_layer non_privileged
    pronoun_genm non_privileged

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

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

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

    [w('NS','bombs')]
    ip_ppl_adverbial_layer filled_sbj en_participle
    verb_phrase_layer filled_sbj en_participle active
    verb en_participle ;~I

    [w('VVN',';~I','gone')]
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_by_code ;~I filled_sbj active

    []
    optional_punc_non_final
    punc non_final

    [w('PUNC',',')]
    clause_top_layer statement_order
    subject filled_sbj
    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_sbj
    verb_phrase_layer filled_sbj finite active
    verb finite ;~I

    [w('VBD',';~I','moved')]
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_by_code ;~I filled_sbj active

    []
    adverbial
    adverb_phrase -NIM non_privileged
    adverb_phrase_layer non_privileged
    adv non_privileged

    [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.62).

    (6.62)
    | ?-  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.62) follow (6.63).

    (6.63)
    sentence
    clause_top_layer statement_order
    subject filled_sbj
    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_sbj
    verb_phrase_layer filled_sbj finite active
    verb finite ;~I

    [w('VBD',';~I','sighed')]
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_by_code ;~I filled_sbj active

    []
    adverbial
    scon_clause
    conn

    [w('P-CONN','as_if')]
    ip_ppl_adverbial_layer filled_sbj en_participle
    verb_phrase_layer filled_sbj en_participle passive
    verb en_participle ;~Tn

    [w('VVN',';~Tn','relieved')]
    verb_complements_top_layer ;~Tn filled_sbj passive
    verb_complements_by_code ;~Tn filled_sbj passive

    []
    punc final

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

    Question

    Why do the success and failure results of (6.64)–(6.66) obtain?

    (6.64)
    | ?- 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.65)
    | ?- 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.66)
    | ?- 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.9    Present participle clauses as preposition complements

    It is possible for a present participle (-ing) clause to be the selected complement of a preposition. This follows from the preposition_phrase_layer rule of section 3.5. As an example, consider (6.67).

    (6.67)
    | ?- tphrase_set_string([w('PRO','I'), w('VBD',';~I','arrived'), w('P-ROLE','without'), w('PRO','her'), w('VAG',';~Tn','noticing'), w('PRO','me'), w('PUNC','.')]), parse(sentence).

    (IP-MAT (NP-SBJ (PRO I))
            (VBD;~I arrived)
            (PP-NIM (P-ROLE without)
                    (IP-PPL3 (NP-SBJ (PRO her))
                             (VAG;~Tn noticing)
                             (NP-OB1 (PRO me))))
            (PUNC .))

    yes

    The present participle (-ing) clause is the selected complement of a preposition and has an internal subject. Calls to reach the output follow (6.68).

    (6.68)
    sentence
    clause_top_layer statement_order
    subject filled_sbj
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_head_full non_interrogative

    [w('PRO','I')]
    clause_middle_layer filled_sbj
    verb_phrase_layer filled_sbj finite active
    verb finite ;~I

    [w('VBD',';~I','arrived')]
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_top_layer ;~I filled_sbj active
    verb_complements_by_code ;~I filled_sbj active

    []
    adverbial
    preposition_phrase -NIM non_privileged
    preposition_phrase_layer non_privileged
    role

    [w('P-ROLE','without')]
    ip_ppl_adverbial_layer unfilled_sbj ing_participle
    subject filled_sbj
    noun_phrase -SBJ non_interrogative
    noun_phrase_top non_interrogative
    noun_head_full non_interrogative

    [w('PRO','her')]
    ip_ppl_adverbial_layer filled_sbj ing_participle
    verb_phrase_layer filled_sbj ing_participle active
    verb ing_participle ;~Tn

    [w('VAG',';~Tn','noticing')]
    verb_complements_top_layer ;~Tn filled_sbj active
    verb_complements_by_code ;~Tn filled_sbj active
    noun_phrase -OB1 non_privileged
    noun_phrase_top non_interrogative
    noun_head_full non_interrogative

    [w('PRO','me')]
    punc final

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

    6.10    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.69) are:

    (6.69)
    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_sbj,ing_participle,L,L0).
    relative_clause(L,L0) -->
      ip_ppl_passive('',[],filled_sbj,en_participle,L,L0).

    6.10.1    Relative clauses that are finite clauses

    A relative clause that is a finite clause introduced with [rule 2] of (6.69) above will, with the rules of (6.70), 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.70) for establishing its internal link to the head of the external noun phrase.

        It follows that a relative clause that is a finite clause has 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.70) collect content for a relative clause that either:

  • has a relative word [rules 1–4]
  • involves a trace [rule 5]
  • contains coordination [rule 6]
  • (6.70)
    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,[]).

        Coordination with [rule 6] of (6.70) involves recursive calls to relative_clause_finite_top_tail of (6.71) to pick up subsequent conjuncts, where each conjunct has internally either its own relative pronoun or its own trace.

    (6.71)
    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.70) 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 goes as np(ICH) into the list of inherited stored items for the call to relative_clause_finite_inside of (6.72) to inherit as the subject for the relative clause [rule 1] or as a non-subject [rule 2].

    (6.72)
    relative_clause_finite_inside([np(ICH)],[node('NP-SBJ',[ICH])|L],L0) -->
      {
        member(SbjType,[filled_sbj,derived_sbj])
      },
      clause_middle_layer([],SbjType,L,L0).
    relative_clause_finite_inside(Store,L,L0) -->
      clause_top_layer(statement_order,Store,L,L0).

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

    (6.73)
    | ?- 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('',non_privileged)).

    (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.73) follow (6.74).

    (6.74)
    noun_phrase non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det non_privileged

    [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_sbj
    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_sbj
    verb_phrase_layer [np(node('*ICH*-124',[]))] filled_sbj finite active
    verb finite ;~Ipr

    [w('VBD',';~Ipr','jumped')]
    verb_complements_top_layer ;~Ipr [np(node('*ICH*-124',[]))] filled_sbj active
    verb_complements_by_code ;~Ipr [np(node('*ICH*-124',[]))] filled_sbj active
    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.75).

    (6.75)
    | ?- 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('',non_privileged)).

    (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.75) follow (6.76).

    (6.76)
    noun_phrase non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    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_sbj
    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_sbj
    verb_phrase_layer [pp(node('*ICH*-138',[]))] filled_sbj finite active
    verb finite ;~Ipr

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

    []

        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.77).

    (6.77)
    | ?- 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('',non_privileged)).

    (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.77) follow (6.78).

    (6.78)
    noun_phrase non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    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_sbj
    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_sbj
    verb_phrase_layer [pp(node('*ICH*-145',[]))] filled_sbj finite active
    verb finite ;~Ipr

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

    []

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

    (6.79)
    | ?- 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('',non_privileged)).

    (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.79) follow (6.80).

    (6.80)
    noun_phrase non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det non_privileged

    [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_sbj
    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_sbj
    verb_phrase_layer [pp(node('*T*',[]))] filled_sbj finite active
    verb finite ;~Ipr

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

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

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

    (6.81)
    | ?- 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('',non_privileged)).

    (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.81) follow (6.82).

    (6.82)
    noun_phrase non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    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_sbj
    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_sbj active
    verb_complements_by_code ;~cat_Ve_passive _filled_sbj active
    ip_ppl_passive -CAT filled_sbj en_participle
    verb_phrase_layer filled_sbj en_participle passive
    verb en_participle ;~Tn.pr

    [w('VVN',';~Tn.pr','jumped')]
    verb_complements_top_layer ;~Tn.pr filled_sbj passive
    verb_complements_by_code ;~Tn.pr filled_sbj passive
    preposition_phrase -CLR non_privileged
    preposition_phrase_layer non_privileged
    role

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

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

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

    Question

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

    (6.83)
    [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.84)
    [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.85)
    [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.86)
    [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.10.2    Relative clauses that are to-infinitive clauses

    A relative clause that is a to-infinitive clause introduced with [rule 2] of (6.69) above will, with the rules of (6.87), 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.87) for establishing its internal link to the head of the external noun phrase.

    (6.87)
    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_sbj,active,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.88)
    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.89).

    (6.89)
    | ?- 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('',non_privileged)).

    (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.89) follow (6.90).

    (6.90)
    noun_phrase non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det non_privileged

    [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_sbj active
    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_sbj active
    to

    [w('TO','to')]
    verb_phrase_layer [pp(node('*T*',[]))] filled_sbj infinitive active
    verb infinitive ;~Tn.pr

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

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

    [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.91).

    (6.91)
    | ?- 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('',non_privileged)).

    (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.91), 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.92) and (6.93), say why this is so.

    (6.92)
    [w('EX','There'), w('BED',';~ex_V','was'), w('Q','no'), w('N','time'), w('TO','to'), w('VB',';~Tn','lose'), w('PUNC','.')]
    (6.93)
    [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.10.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 as a modifier of the noun head. Inside the reduced 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.94).

    (6.94)
    | ?- 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('',non_privileged)).

    (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.94) follow (6.95).

    (6.95)
    noun_phrase non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det non_privileged

    [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_sbj ing_participle
    verb_phrase_layer filled_sbj ing_participle active
    verb ing_participle ;~Ipr

    [w('VAG',';~Ipr','jumping')]
    verb_complements_top_layer ;~Ipr filled_sbj active
    verb_complements_by_code ;~Ipr filled_sbj active
    preposition_phrase -CLR non_privileged
    preposition_phrase_layer non_privileged
    role

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

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

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

    6.10.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 as a modifier of the noun head. Inside the reduced 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.96).

    (6.96)
    | ?- 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('',non_privileged)).

    (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.96) follow (6.97).

    (6.97)
    noun_phrase non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det non_privileged

    [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_sbj en_participle
    verb_phrase_layer filled_sbj en_participle passive
    verb en_participle ;~Tn.pr

    [w('VVN',';~Tn.pr','jumped')]
    verb_complements_top_layer ;~Tn.pr filled_sbj passive
    verb_complements_by_code ;~Tn.pr filled_sbj passive
    preposition_phrase -CLR non_privileged
    preposition_phrase_layer non_privileged
    role

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

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

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

    6.11    Cleft constructions

    The extra verb_complements_by_code rules of (6.98) allow coverage of cleft constructions.

    (6.98)
    verb_complements_by_code(';~cleft_Vn',[],cleft_sbj,active,L,L0) -->
      noun_phrase('-FOC',non_privileged,L,[node('IP-CLF',IL)|L0]),
      relative_clause_finite_top_layer(IL,[]).
    verb_complements_by_code(';~cleft_Vn',[np(ICH)],cleft_sbj,active,[node('NP-FOC',[ICH]),node('IP-CLF',IL)|L],L) -->
      relative_clause_finite_top_layer(IL,[]).

        The rules of (6.98) require the verb code ;~cleft_Vn, selecting as complements:

        Both rules of (6.98) require the clause SbjType parameter to be set to the value of cleft_sbj. This SbjType 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.99).

    (6.99)
    | ?- 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.99) follow (6.100).

    (6.100)
    sentence
    clause_top_layer statement_order
    subject cleft_sbj

    [w('PRO;_cleft_','It')]
    clause_middle_layer cleft_sbj
    verb_phrase_layer cleft_sbj finite active
    verb finite ;~cleft_Vn

    [w('BED',';~cleft_Vn','was')]
    verb_complements_top_layer ;~cleft_Vn cleft_sbj active
    verb_complements_by_code ;~cleft_Vn cleft_sbj active
    noun_phrase -FOC non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det non_privileged

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

    [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_sbj
    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_sbj
    verb_phrase_layer [pp(node('*T*',[]))] filled_sbj finite active
    verb finite ;~Tn

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

    []
    punc final

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

    6.12    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.101)
    verb_complements_by_code(';~V_as_though/as_if/like',Store,there_sbj,active,[node('PP-CLR',PL)|L],L) -->
      role(PL,[node('IP-ADV',IL)]),
      subject(there_sbj,IL,L1),
      clause_middle_layer(Store,there_sbj,L1,[]).
    verb_complements_by_code(';~V_as_though/as_if/like',Store,filled_sbj,active,[node('PP-CLR',PL)|L],L) -->
      role(PL,[node('IP-ADV',IL)]),
      clause_top_layer(statement_order,Store,IL,[]).

        As an example, consider (6.102).

    (6.102)
    | ?- 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.102) follow (6.103).

    (6.103)
    sentence
    clause_top_layer statement_order
    subject filled_sbj

    [w('PRO;_expletive_','It')]
    clause_middle_layer filled_sbj
    verb_phrase_layer filled_sbj finite active
    verb finite ;~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 filled_sbj active
    verb_complements_by_code ;~V_as_though/as_if/like filled_sbj active
    role

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

    [w('EX','there')]
    clause_middle_layer there_sbj
    verb_phrase_layer there_sbj finite active
    verb finite ;~cat_Vg

    [w('BEP',';~cat_Vg','is')]
    verb_complements_top_layer ;~cat_Vg there_sbj active
    verb_complements_by_code ;~cat_Vg there_sbj active
    ip_ppl_active -CAT there_sbj ing_participle
    verb_phrase_layer there_sbj ing_participle active
    verb ing_participle ;~cat_Vt

    [w('VAG',';~cat_Vt','going')]
    verb_complements_top_layer ;~cat_Vt there_sbj active
    verb_complements_by_code ;~cat_Vt there_sbj active
    to_inf_layer there_sbj active
    to

    [w('TO','to')]
    verb_phrase_layer there_sbj infinitive active
    verb infinitive ;~ex_V

    [w('BE',';~ex_V','be')]
    verb_complements_top_layer ;~ex_V there_sbj active
    verb_complements_by_code ;~ex_V there_sbj active
    noun_phrase -ESBJ non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    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.104).

    (6.104)
    | ?- 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.104) follow (6.105).

    (6.105)
    sentence
    clause_top_layer statement_order
    subject there_sbj

    [w('EX','There')]
    clause_middle_layer there_sbj
    verb_phrase_layer there_sbj finite active
    verb finite ;~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_sbj active
    verb_complements_by_code ;~V_as_though/as_if/like there_sbj active
    role

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

    [w('EX','there')]
    clause_middle_layer there_sbj
    verb_phrase_layer there_sbj finite active
    verb finite ;~cat_Vg

    [w('BEP',';~cat_Vg','is')]
    verb_complements_top_layer ;~cat_Vg there_sbj active
    verb_complements_by_code ;~cat_Vg there_sbj active
    ip_ppl_active -CAT there_sbj ing_participle
    verb_phrase_layer there_sbj ing_participle active
    verb ing_participle ;~cat_Vt

    [w('VAG',';~cat_Vt','going')]
    verb_complements_top_layer ;~cat_Vt there_sbj active
    verb_complements_by_code ;~cat_Vt there_sbj active
    to_inf_layer there_sbj active
    to

    [w('TO','to')]
    verb_phrase_layer there_sbj infinitive active
    verb infinitive ;~ex_V

    [w('BE',';~ex_V','be')]
    verb_complements_top_layer ;~ex_V there_sbj active
    verb_complements_by_code ;~ex_V there_sbj active
    noun_phrase -ESBJ non_privileged
    noun_phrase_top non_privileged
    noun_phrase_initial_layer non_privileged
    determiner_layer non_privileged
    det

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

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

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