Minimalist Machine Derivations

Files: grammar.pl / m12.pl / Back to homepage

Examples:

  • Relative clause examples from Keenan 1987 (Fong & Ginsburg, ms.) collapse
    Example Instruction stream (clickable) Notes
    (32a) the boy who told the story [story, the, tell, 'v*', [boy, who_rel], 'Tpast', c_rel, the] A subject relative clause.
    Subject who boy attracted to edge of Crel, i.e. C with an uRel. DP who boy is marked with an iRel feature, originating on who. Note, whorel is defective, i.e. it doesn't value uD feature on boy. Instead, boy raises from edge of C and its uD feature is checked by the.
    (32b) the letter which Dick wrote yesterday [letter, which_rel, write, 'v*', [dick, d], 'Tpast', [yesterday, d], c_rel, the] An object relative clause.
    Assume, substantially following (Haumann, 2007) and (Larson, 1985), that yesterday is a TP-level bare NP adverb. As an adjunct, yesterday is pair merged at TP.
    Defective whichrel is attracted by crel; the entire DP which letter raising to the edge of C, see notes for (32a) above. Finally, letter within the DP raises and its uD feature is valued by the.
    (32c) the man who Ann gave the present to
    the man to who Ann gave the present (pied-piping)
    [man, who_rel, to, [present, the], give, 'v*', [ann, d], 'Tpast', c_rel, the] Relativization of the indirect object of a double object verb.
    Two analyses, also produces pied-piped variant.
    Crel attracts who man, headed by whorel, to its edge. Defective who, can't value uD on man. man raises. uD on man valued by c-commanding the.
    (32d) the box which Pat brought the apples in
    the box in which Pat brought the apples (pied-piping)
    [box, which_rel, in, [apples, the], bring, 'v*', [pat, d], 'Tpast', c_rel, the] Assume bring...in involves a dyadic preposition in.
    Crel attracts which box, headed by whichrel, to its edge. Defective which, can't value uD on box. box raises. uD on box valued by c-commanding the.
    (32e) the dog which was taught by John [dog, which_rel, teach, [[john, d], by], prt, 'v~', 'Tpast', c_rel, the] Relativization of passivized object.
    The agentive by-phrase is pair-merged to teach (not PRT or v~ due to merge over move preference).
    Crel attracts which dog, headed by whichrel, to its edge. Defective which, can't value uD on dog. dog raises. uD on box valued by c-commanding the.
    (33a) the boy who Mike writes better than
    cf. *the boy than who Mike writes better
    [boy, who_rel, than, better, write, 'v_unerg', [mike, d], 'T', c_rel, the] Relativization of the object of a comparative.
    Assume than is a preposition, not a C - as needed in the case of Comparative Deletion (not implemented here: e.g. as in Mike writes better than I do/write.
    The pied-piped counterpart (see cf.) is blocked by a spellout rule (after the parse has been completed).
    Crel attracts who boy, headed by whorel, to its edge. Defective who, can't value uD on boy. boy raises. uD on boy valued by c-commanding the.
    (33b) the girl whose friends bought the cake [cake, the, buy, 'v*', [friends,'\'s',[girl, who_rel]],'Tpast',c_rel,the] Relativization of a genitive from a subject.
    Assume the entire possessive 's DP ['s [who whorel girl]['s 's friends]] raises to edge of Crel.
    Defective whorel cannot value uD on girl.
    This permits girl to raise out and its uD feature is valued by the.
    Finally assume spellout rule: who + 's -> whose.
    (33b') the girl who friends of bought the cake
    cf. *the girl of who friends bought the cake
    [cake, the, buy, 'v*', [girl, who_rel, of, friends, d], 'Tpast', c_rel, the] Relativization of a genitive from a subject.
    Assume DP [d d [friends friends [of of [who whorel girl]]]], cf. possessive DP analysis above.
    Crel attracts who girl, headed by whorel, to its edge. Defective who, can't value uD on girl. This permits girl to raise. uD on girl is valued by c-commanding the.
    The pied-piped counterpart is blocked by a spellout rule that asserts there is no spellout for whorel.
    (33c) the man whose house Patrick bought
    the man whose house that Patrick bought (T-to-C variant)
    [house,'\'s',[man,who_rel],buy,'v*',[patrick,d],'Tpast',c_rel,the] Relativization of a genitive from the object.
    Assume possessive 's DP ['s [who whorel man] ['s 's house]] raises to edge of Crel. whorel cannot value uD on man.
    This permits man to raise out and its uD feature is valued by the.
    Finally assume spellout rule: who + 's -> whose.
    (33c') the man who Patrick bought the house of
    cf. *the man of who Patrick bought the house
    [man, who_rel, of, house, the, buy, 'v*', [patrick, d], 'Tpast', c_rel, the] Relativization of a genitive from the object.
    Assume DP [the the [house house [of of [who who man]]]], cf. possessive DP analysis above in (33c).
    Crel attracts who man, headed by whorel, to its edge. Defective who, can't value uD on man. This permits man to raise. uD on man is valued by c-commanding the.
    The pied-piped counterpart (see cf.) is blocked by a spellout rule (after the parse has been completed). See also (33b').
    (33d) the boy whose brother was taught by Sandra [brother, '\'s', [boy, who_rel], teach, [[sandra, d], by], prt, 'v~', 'Tpast', c_rel, the] Relativization of a genitive from the passivized object.
    Assume possessive DP ['s [who whorel boy]['s 's brother]] raises to edge of Crel.
    whorel cannot value uD on boy.
    This permits boy to raise out and its uD feature is valued by the.
    Finally assume spellout rule: who + 's -> whose.
  • Machine Parameters: expand

    Animation:
    (33c) the man whose house Patrick bought
    the man whose house that Patrick bought (T-to-C variant)

    Derivation:
    (33c) the man whose house Patrick bought
    the man whose house that Patrick bought (T-to-C variant)

    Stream:[[house!D],['s!case!N],[[man!D],[whorel!case!N]],[buy],[v*!phi],[[patrick!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):
    SO:[]

    Step 1.

    Head of stream [house!D] is the initial SO
    Stream:[['s!case!N],[[man!D],[whorel!case!N]],[buy],[v*!phi],[[patrick!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):
    SO:[house!D]

    Step 2.

    Merge ['s!case!N] and [house!D]
    Label from ['s!case!N] (syntactic head with an unvalued uF)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [house!D]
    ['s!case!N] values D on [house!D]
    [house] values N on ['s!case!N]
    Stream:[[[man!D],[whorel!case!N]],[buy],[v*!phi],[[patrick!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):
    SO:['s!case['s][house]]

    Step 3.

    Begin substream
    Stream:[[man!D],[whorel!case!N]]
    Stack (⥥):
    SO:[]

    Step 4.

    Head of stream [man!D] is the initial SO
    Stream:[[whorel!case!N]]
    Stack (⥥):
    SO:[man!D]

    Step 5.

    Merge [whorel!case!N] and [man!D]
    Label from [whorel!case!N] (syntactic head with an unvalued uF)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [man!D]
    [man!D] values N on [whorel!case!N]
    Push [man!D] (unvalued uF) onto stack
    Stream:[]
    Stack (⥥):[man!D]
    SO:[whorel!case[whorel][man!D]]
    End substream, SO [whorel!case[whorel][man!D]] re-inserted into main stream
    Substream stack [[man!D]] saved for possible stack merge

    Step 6.

    Stream:[[whorel!case[whorel][man!D]],[buy],[v*!phi],[[patrick!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):
    SO:['s!case['s][house]]

    Step 7.

    Theta-mark [whorel!case[whorel][man!D]]
    ['s!case['s][house]] values gen case on [whorel!case[whorel][man!D]]
    Merge ['s!case['s][house]] and [whorel[whorel][man!D]]
    Label from ['s!case['s][house]] (edge feature)
    Saved substream stack [[man!D]] merged with stack
    Stream:[[buy],[v*!phi],[[patrick!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[man!D]
    SO:['s!case[whorel[whorel][man!D]]['s['s][house]]]

    Step 8.

    Local Extent boundary at ['s!case[whorel[whorel..][man..]]['s['s..][house..]]]
    Stack element [man!D] with unvalued uF found
    New boundary (b) marker stacked
    Restack [man!D] onto stack
    Stream:[[buy],[v*!phi],[[patrick!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[man!D]
    b
    SO:['s!case[whorel[whorel][man!D]]['s['s][house]]]

    Step 9.

    Merge [buy] and ['s!case[whorel[whorel..][man..]]['s['s..][house..]]]
    Label from [buy] (syntactic head merging with a non-head)
    Theta-mark ['s!case[whorel[whorel..][man..]]['s['s..][house..]]]
    Push ['s!case[whorel[whorel..][man..]]['s['s..][house..]]] (unvalued uF) onto stack
    Stream:[[v*!phi],[[patrick!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):['s!case[whorel[whorel][man!D]]['s['s][house]]]
    [man!D]
    b
    SO:[buy[buy]['s!case[whorel[whorel][man!D]]['s['s][house]]]]

    Step 10.

    Merge [v*!phi] and [buy[buy]['s!case[whorel..]['s..]]]
    Label from [v*!phi] (syntactic head merging with a non-head)
    ['s!case[whorel[whorel..][man..]]['s['s..][house..]]] values uPhi on [v*!phi]
    [v*] values acc case on ['s!case[whorel[whorel..][man..]]['s['s..][house..]]]
    Stream:[[[patrick!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):['s[whorel[whorel][man!D]]['s['s][house]]]
    [man!D]
    b
    SO:[v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]

    Step 11.

    Begin substream
    Stream:[[patrick!D],[d!case!N]]
    Stack (⥥):
    SO:[]

    Step 12.

    Head of stream [patrick!D] is the initial SO
    Stream:[[d!case!N]]
    Stack (⥥):
    SO:[patrick!D]

    Step 13.

    Merge [d!case!N] and [patrick!D]
    Label from [d!case!N] (syntactic head with an unvalued uF)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [patrick!D]
    [d!case!N] values D on [patrick!D]
    [patrick] values N on [d!case!N]
    Stream:[]
    Stack (⥥):
    SO:[d!case[d][patrick]]
    End substream, SO [d!case[d][patrick]] re-inserted into main stream

    Step 14.

    Stream:[[d!case[d][patrick]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):['s[whorel[whorel][man!D]]['s['s][house]]]
    [man!D]
    b
    SO:[v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]

    Step 15.

    Merge [v*[v*][buy[buy..]['s..]]] and [d!case[d][patrick]]
    Label from [v*[v*][buy[buy..]['s..]]] (edge feature)
    Theta-mark [d!case[d][patrick]]
    Push [d!case[d][patrick]] (unvalued uF) onto stack
    Stream:[[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d!case[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    [man!D]
    b
    SO:[v*[d!case[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]

    Step 16.

    Merge [Tpast!phi] and [v*[d!case[d..][patrick..]][v*[v*..][buy..]]]
    Label from [Tpast!phi] (syntactic head merging with a non-head)
    [d!case[d][patrick]] values uPhi on [Tpast!phi]
    [Tpast] values nom case on [d!case[d][patrick]]
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    [man!D]
    b
    SO:[Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]]

    Step 17.

    Internal merge selected
    Merge [Tpast[Tpast][v*[d..][v*..]]] and [d[d][patrick]]
    Label from [Tpast[Tpast][v*[d..][v*..]]] (edge feature)
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    [man!D]
    b
    SO:[Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]]]

    Step 18.

    Merge [crel!rel!T!phi] and [Tpast[d[d..][patrick..]][Tpast[Tpast..][v*..]]]
    Label from [crel!rel!T!phi] (syntactic head merging with a non-head)
    Relativized TOS search for iF(rel) skipping [d[d][patrick]]
    ['s[whorel[whorel..][man..]]['s['s..][house..]]] values rel on [crel!rel!T!phi]
    [d[d][patrick]] values T on [crel!T!phi]
    ['s[whorel[whorel..][man..]]['s['s..][house..]]] values phi on [crel!phi] (economy)
    [crel] values obq case on ['s[whorel[whorel..][man..]]['s['s..][house..]]]
    Internal merge selected
    Merge [crel[crel][Tpast[d..][Tpast..]]] and [d[d][patrick]]
    Label from [crel[crel][Tpast[d..][Tpast..]]] (edge feature)
    Merge [crel[d[d..][patrick..]][crel[crel..][Tpast..]]] and ['s[whorel[whorel..][man..]]['s['s..][house..]]]
    Label from [crel[d[d..][patrick..]][crel[crel..][Tpast..]]] (edge feature)
    Stream:[[the!case!N]]
    Stack (⥥):[d[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    [man!D]
    b
    SO:[crel['s[whorel[whorel][man!D]]['s['s][house]]][crel[d[d][patrick]][crel[crel][Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]]]]]]

    Step 19.

    Local Extent boundary at [crel['s[whorel..]['s..]][crel[d..][crel..]]]
    Stack element [man!D] with unvalued uF found
    New boundary (b) marker stacked
    Restack [man!D] onto stack
    Stream:[[the!case!N]]
    Stack (⥥):[man!D]
    b
    [d[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    b
    SO:[crel['s[whorel[whorel][man!D]]['s['s][house]]][crel[d[d][patrick]][crel[crel][Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]]]]]]

    Step 20.

    Merge [man!D] and [crel['s[whorel..]['s..]][crel[d..][crel..]]]
    Label from [man!D] (syntactic head merging with a non-head)
    Stream:[[the!case!N]]
    Stack (⥥):[man!D]
    b
    [d[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    b
    SO:[man!D[man!D][crel['s[whorel[whorel][man!D]]['s['s][house]]][crel[d[d][patrick]][crel[crel][Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]]]]]]]

    Step 21.

    Merge [the!case!N] and [man!D[man!D][crel['s..][crel..]]]
    Label from [the!case!N] (syntactic head merging with a non-head)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [man!D[man!D][crel['s..][crel..]]]
    [the!case!N] values D on [man!D[man!D][crel['s..][crel..]]]
    [man[man][crel['s..][crel..]]] values N on [the!case!N]
    Stream:[]
    Stack (⥥):[man]
    b
    [d[d][patrick]]
    ['s[whorel[whorel][man]]['s['s][house]]]
    b
    SO:[the!case[the][man[man][crel['s[whorel[whorel][man]]['s['s][house]]][crel[d[d][patrick]][crel[crel][Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man]]['s['s][house]]]]]]]]]]]]]

    Parse:
    Spell-out:
    the man whose house Patrick -ed(sg) buy (after morpheme realization)
    the man whose house Patrick buy -ed(sg) (after affix-hop)
    the man whose house Patrick buy -ed(sg) (after morpheme realization, stage 2)
    the man whose house Patrick bought  

    Backtrack

    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    [man!D]
    b
    SO:[Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]]]
    re-doing step 18

    Step 22.

    [crel!T!phi] attracts [Tpast[d[d..][patrick..]][Tpast[Tpast..][v*..]]]
    ['s[whorel[whorel..][man..]]['s['s..][house..]]] values phi on [crel!phi] (economy)
    [crel] values obq case on ['s[whorel[whorel..][man..]]['s['s..][house..]]]
    Internal merge selected
    Merge [crel[crel][Tpast[d..][Tpast..]]] and [Tpast]
    Label from [crel[crel][Tpast[d..][Tpast..]]] (edge feature)
    Merge [crel[Tpast][crel[crel..][Tpast..]]] and ['s[whorel[whorel..][man..]]['s['s..][house..]]]
    Label from [crel[Tpast][crel[crel..][Tpast..]]] (edge feature)
    Stream:[[the!case!N]]
    Stack (⥥):[d[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    [man!D]
    b
    SO:[crel['s[whorel[whorel][man!D]]['s['s][house]]][crel[Tpast][crel[crel][Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]]]]]]

    Step 23.

    Local Extent boundary at [crel['s[whorel..]['s..]][crel[Tpast..][crel..]]]
    Stack element [man!D] with unvalued uF found
    New boundary (b) marker stacked
    Restack [man!D] onto stack
    Stream:[[the!case!N]]
    Stack (⥥):[man!D]
    b
    [d[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    b
    SO:[crel['s[whorel[whorel][man!D]]['s['s][house]]][crel[Tpast][crel[crel][Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]]]]]]

    Step 24.

    Merge [man!D] and [crel['s[whorel..]['s..]][crel[Tpast..][crel..]]]
    Label from [man!D] (syntactic head merging with a non-head)
    Stream:[[the!case!N]]
    Stack (⥥):[man!D]
    b
    [d[d][patrick]]
    ['s[whorel[whorel][man!D]]['s['s][house]]]
    b
    SO:[man!D[man!D][crel['s[whorel[whorel][man!D]]['s['s][house]]][crel[Tpast][crel[crel][Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man!D]]['s['s][house]]]]]]]]]]]]

    Step 25.

    Merge [the!case!N] and [man!D[man!D][crel['s..][crel..]]]
    Label from [the!case!N] (syntactic head merging with a non-head)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [man!D[man!D][crel['s..][crel..]]]
    [the!case!N] values D on [man!D[man!D][crel['s..][crel..]]]
    [man[man][crel['s..][crel..]]] values N on [the!case!N]
    Stream:[]
    Stack (⥥):[man]
    b
    [d[d][patrick]]
    ['s[whorel[whorel][man]]['s['s][house]]]
    b
    SO:[the!case[the][man[man][crel['s[whorel[whorel][man]]['s['s][house]]][crel[Tpast][crel[crel][Tpast[d[d][patrick]][Tpast[Tpast][v*[d[d][patrick]][v*[v*][buy[buy]['s[whorel[whorel][man]]['s['s][house]]]]]]]]]]]]]

    Parse:
    Spell-out:
    the man whose house that Patrick -ed(sg) buy (after morpheme realization)
    the man whose house that Patrick buy -ed(sg) (after affix-hop)
    the man whose house that Patrick buy -ed(sg) (after morpheme realization, stage 2)
    the man whose house that Patrick bought  

    2 derivations found.
    Computational Cost:
    Merge: 18, Agree: 21, Unify: 0, Push: 3, Boundaries: 3, Inject: 3
    Non-TOS access: 1, Pop: 0, Depth cost: 46
    Step:012345678910111213141516171819202122232425
    Stack depth:00000101233000344445554555

    Back to top