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:
    (33a) the boy who Mike writes better than
    cf. *the boy than who Mike writes better

    Derivation:
    (33a) the boy who Mike writes better than
    cf. *the boy than who Mike writes better

    Stream:[[boy!D],[whorel!case!N],[than],[better],[write],[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):
    SO:[]

    Step 1.

    Head of stream [boy!D] is the initial SO
    Stream:[[whorel!case!N],[than],[better],[write],[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):
    SO:[boy!D]

    Step 2.

    Merge [whorel!case!N] and [boy!D]
    Label from [whorel!case!N] (syntactic head with an unvalued uF)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [boy!D]
    [boy!D] values N on [whorel!case!N]
    Push [boy!D] (unvalued uF) onto stack
    Stream:[[than],[better],[write],[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[boy!D]
    SO:[whorel!case[whorel][boy!D]]

    Step 3.

    Merge [than] and [whorel!case[whorel][boy!D]]
    Label from [than] (syntactic head merging with a non-head)
    Theta-mark [whorel!case[whorel][boy!D]]
    [than] values obq case on [whorel!case[whorel][boy!D]]
    Push [whorel[whorel][boy!D]] (unvalued uF) onto stack
    Stream:[[better],[write],[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[whorel[whorel][boy!D]]
    [boy!D]
    SO:[than[than][whorel[whorel][boy!D]]]

    Step 4.

    Merge [better] and [than[than][whorel[whorel..][boy..]]]
    Label from [better] (syntactic head merging with a non-head)
    Stream:[[write],[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[whorel[whorel][boy!D]]
    [boy!D]
    SO:[better[better][than[than][whorel[whorel][boy!D]]]]

    Step 5.

    Merge [write] and [better[better][than[than..][whorel..]]]
    Label from [write] (syntactic head merging with a non-head)
    Stream:[[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[whorel[whorel][boy!D]]
    [boy!D]
    SO:[write[write][better[better][than[than][whorel[whorel][boy!D]]]]]

    Step 6.

    Merge [vunerg] and [write[write][better[better..][than..]]]
    Label from [vunerg] (syntactic head merging with a non-head)
    Stream:[[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[whorel[whorel][boy!D]]
    [boy!D]
    SO:[vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]

    Step 7.

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

    Step 8.

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

    Step 9.

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

    Step 10.

    Stream:[[d!case[d][mike]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[whorel[whorel][boy!D]]
    [boy!D]
    SO:[vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]

    Step 11.

    Merge [vunerg[vunerg][write[write..][better..]]] and [d!case[d][mike]]
    Label from [vunerg[vunerg][write[write..][better..]]] (edge feature)
    Theta-mark [d!case[d][mike]]
    Push [d!case[d][mike]] (unvalued uF) onto stack
    Stream:[[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d!case[d][mike]]
    [whorel[whorel][boy!D]]
    [boy!D]
    SO:[vunerg[d!case[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]

    Step 12.

    Merge [T!phi] and [vunerg[d!case[d..][mike..]][vunerg[vunerg..][write..]]]
    Label from [T!phi] (syntactic head merging with a non-head)
    [d!case[d][mike]] values uPhi on [T!phi]
    [T] values nom case on [d!case[d][mike]]
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d[d][mike]]
    [whorel[whorel][boy!D]]
    [boy!D]
    SO:[T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]

    Step 13.

    Internal merge selected
    Merge [T[T][vunerg[d..][vunerg..]]] and [d[d][mike]]
    Label from [T[T][vunerg[d..][vunerg..]]] (edge feature)
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d[d][mike]]
    [whorel[whorel][boy!D]]
    [boy!D]
    SO:[T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]]

    Step 14.

    Merge [crel!rel!T!phi] and [T[d[d..][mike..]][T[T..][vunerg..]]]
    Label from [crel!rel!T!phi] (syntactic head merging with a non-head)
    Relativized TOS search for iF(rel) skipping [d[d][mike]]
    [whorel[whorel][boy!D]] values rel on [crel!rel!T!phi]
    [whorel[whorel][boy!D]] values T on [crel!T!phi] (economy)
    [whorel[whorel][boy!D]] values phi on [crel!phi] (economy)
    [crel] values obq case on [whorel[whorel][boy!D]]
    Internal merge selected
    Merge [crel[crel][T[d..][T..]]] and [whorel[whorel][boy!D]]
    Label from [crel[crel][T[d..][T..]]] (edge feature)
    Stream:[[the!case!N]]
    Stack (⥥):[d[d][mike]]
    [whorel[whorel][boy!D]]
    [boy!D]
    SO:[crel[whorel[whorel][boy!D]][crel[crel][T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]]]]

    Step 15.

    Local Extent boundary at [crel[whorel[whorel..][boy..]][crel[crel..][T..]]]
    Stack element [boy!D] with unvalued uF found
    New boundary (b) marker stacked
    Restack [boy!D] onto stack
    Stream:[[the!case!N]]
    Stack (⥥):[boy!D]
    b
    [d[d][mike]]
    [whorel[whorel][boy!D]]
    SO:[crel[whorel[whorel][boy!D]][crel[crel][T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]]]]

    Step 16.

    Merge [boy!D] and [crel[whorel[whorel..][boy..]][crel[crel..][T..]]]
    Label from [boy!D] (syntactic head merging with a non-head)
    Stream:[[the!case!N]]
    Stack (⥥):[boy!D]
    b
    [d[d][mike]]
    [whorel[whorel][boy!D]]
    SO:[boy!D[boy!D][crel[whorel[whorel][boy!D]][crel[crel][T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]]]]]

    Step 17.

    Merge [the!case!N] and [boy!D[boy!D][crel[whorel..][crel..]]]
    Label from [the!case!N] (syntactic head merging with a non-head)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [boy!D[boy!D][crel[whorel..][crel..]]]
    [the!case!N] values D on [boy!D[boy!D][crel[whorel..][crel..]]]
    [boy[boy][crel[whorel..][crel..]]] values N on [the!case!N]
    Stream:[]
    Stack (⥥):[boy]
    b
    [d[d][mike]]
    [whorel[whorel][boy]]
    SO:[the!case[the][boy[boy][crel[whorel[whorel][boy]][crel[crel][T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy]]]]]]]]]]]]]

    Parse:
    Spell-out:
    the boy who Mike -s write better than (after morpheme realization)
    the boy who Mike write -s better than (after affix-hop)
    the boy who Mike write -s better than (after morpheme realization, stage 2)
    the boy who Mike writes better than  

    Backtrack

    Stream:[[than],[better],[write],[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[boy!D]
    SO:[whorel!case[whorel][boy!D]]
    re-doing step 3

    Step 18.

    Push [than[than][whorel[whorel..][boy..]]] (unvalued uF) onto stack
    Stream:[[better],[write],[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[than[than][whorel[whorel][boy!D]]]
    [boy!D]
    SO:[than[than][whorel[whorel][boy!D]]]

    Step 19.

    Merge [better] and [than[than][whorel[whorel..][boy..]]]
    Label from [better] (syntactic head merging with a non-head)
    Stream:[[write],[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[than[than][whorel[whorel][boy!D]]]
    [boy!D]
    SO:[better[better][than[than][whorel[whorel][boy!D]]]]

    Step 20.

    Merge [write] and [better[better][than[than..][whorel..]]]
    Label from [write] (syntactic head merging with a non-head)
    Stream:[[vunerg],[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[than[than][whorel[whorel][boy!D]]]
    [boy!D]
    SO:[write[write][better[better][than[than][whorel[whorel][boy!D]]]]]

    Step 21.

    Merge [vunerg] and [write[write][better[better..][than..]]]
    Label from [vunerg] (syntactic head merging with a non-head)
    Stream:[[[mike!D],[d!case!N]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[than[than][whorel[whorel][boy!D]]]
    [boy!D]
    SO:[vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]

    Step 22.

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

    Step 23.

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

    Step 24.

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

    Step 25.

    Stream:[[d!case[d][mike]],[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[than[than][whorel[whorel][boy!D]]]
    [boy!D]
    SO:[vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]

    Step 26.

    Merge [vunerg[vunerg][write[write..][better..]]] and [d!case[d][mike]]
    Label from [vunerg[vunerg][write[write..][better..]]] (edge feature)
    Theta-mark [d!case[d][mike]]
    Push [d!case[d][mike]] (unvalued uF) onto stack
    Stream:[[T!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d!case[d][mike]]
    [than[than][whorel[whorel][boy!D]]]
    [boy!D]
    SO:[vunerg[d!case[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]

    Step 27.

    Merge [T!phi] and [vunerg[d!case[d..][mike..]][vunerg[vunerg..][write..]]]
    Label from [T!phi] (syntactic head merging with a non-head)
    [d!case[d][mike]] values uPhi on [T!phi]
    [T] values nom case on [d!case[d][mike]]
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d[d][mike]]
    [than[than][whorel[whorel][boy!D]]]
    [boy!D]
    SO:[T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]

    Step 28.

    Internal merge selected
    Merge [T[T][vunerg[d..][vunerg..]]] and [d[d][mike]]
    Label from [T[T][vunerg[d..][vunerg..]]] (edge feature)
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d[d][mike]]
    [than[than][whorel[whorel][boy!D]]]
    [boy!D]
    SO:[T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]]

    Step 29.

    Merge [crel!rel!T!phi] and [T[d[d..][mike..]][T[T..][vunerg..]]]
    Label from [crel!rel!T!phi] (syntactic head merging with a non-head)
    Relativized TOS search for iF(rel) skipping [d[d][mike]]
    [than[than][whorel[whorel..][boy..]]] values rel on [crel!rel!T!phi]
    [than[than][whorel[whorel..][boy..]]] values T on [crel!T!phi] (economy)
    [d[d][mike]] values phi on [crel!phi]
    [d[d][mike]] values uPhi on [crel!phi]
    Internal merge selected
    Merge [crel[crel][T[d..][T..]]] and [d[d][mike]]
    Label from [crel[crel][T[d..][T..]]] (edge feature)
    Merge [crel[d[d..][mike..]][crel[crel..][T..]]] and [than[than][whorel[whorel..][boy..]]]
    Label from [crel[d[d..][mike..]][crel[crel..][T..]]] (edge feature)
    Stream:[[the!case!N]]
    Stack (⥥):[d[d][mike]]
    [than[than][whorel[whorel][boy!D]]]
    [boy!D]
    SO:[crel[than[than][whorel[whorel][boy!D]]][crel[d[d][mike]][crel[crel][T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]]]]]

    Step 30.

    Local Extent boundary at [crel[than[than..][whorel..]][crel[d..][crel..]]]
    Stack element [boy!D] with unvalued uF found
    New boundary (b) marker stacked
    Restack [boy!D] onto stack
    Stream:[[the!case!N]]
    Stack (⥥):[boy!D]
    b
    [d[d][mike]]
    [than[than][whorel[whorel][boy!D]]]
    SO:[crel[than[than][whorel[whorel][boy!D]]][crel[d[d][mike]][crel[crel][T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]]]]]

    Step 31.

    Merge [boy!D] and [crel[than[than..][whorel..]][crel[d..][crel..]]]
    Label from [boy!D] (syntactic head merging with a non-head)
    Stream:[[the!case!N]]
    Stack (⥥):[boy!D]
    b
    [d[d][mike]]
    [than[than][whorel[whorel][boy!D]]]
    SO:[boy!D[boy!D][crel[than[than][whorel[whorel][boy!D]]][crel[d[d][mike]][crel[crel][T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy!D]]]]]]]]]]]]]

    Step 32.

    Merge [the!case!N] and [boy!D[boy!D][crel[than..][crel..]]]
    Label from [the!case!N] (syntactic head merging with a non-head)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [boy!D[boy!D][crel[than..][crel..]]]
    [the!case!N] values D on [boy!D[boy!D][crel[than..][crel..]]]
    [boy[boy][crel[than..][crel..]]] values N on [the!case!N]
    Stream:[]
    Stack (⥥):[boy]
    b
    [d[d][mike]]
    [than[than][whorel[whorel][boy]]]
    SO:[the!case[the][boy[boy][crel[than[than][whorel[whorel][boy]]][crel[d[d][mike]][crel[crel][T[d[d][mike]][T[T][vunerg[d[d][mike]][vunerg[vunerg][write[write][better[better][than[than][whorel[whorel][boy]]]]]]]]]]]]]]

    Parse:
    Spell-out:
    Crash: sequence 'than whorel ' cannot be spelled out
    2 derivations found.
    Computational Cost:
    Merge: 25, Agree: 22, Unify: 0, Push: 5, Boundaries: 2, Inject: 2
    Non-TOS access: 2, Pop: 0, Depth cost: 44
    Step:01234567891011121314151617181920212223242526272829303132
    Stack depth:001222200023333444222200023333444

    Back to top