Minimalist Machine Derivations

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

Examples:

  • Relative clause constructions: inspired by (Gallego, 2010) and (Chen, (p.c.)). collapse
    Example Instruction stream (clickable) Notes
    (14a) the book that I read
    (14c) the book I read
    [book, d_rel, read, 'v*', [i, d], 'Tpast', c_rel, the] Two derivations.
    drel has iRel but cannot check book's uD feature.
    crel has uT and uRel, and heads a Local Extent (LE).
    Two ways to satisfy crel using Pesetsky and Torrego (2001):
    (1) T to edge of crel => that
    (2) Nom Case-marked I to edge of crel => empty
    At the LE boundary, book (uD) is restacked.
    TOS book merges with crelP.
    book labels (head merging with non-head).
    Stream the merges with SO headed by book.
    (14b) the book which I read
    *the book which that I read
    [book, which_rel, read, 'v*', [i, d], 'Tpast', c_rel, the] Single derivation.
    whichrel has iRel.
    whichrel can check uT but not uD feature.
    crel heads a LE, and has uT and uRel.
    Internal merge of whichrel book will satisfy both uT and uRel on crel.
    (By economy, T to C is not available.)
    At the LE boundary, book (uD) is restacked.
    book merges with crelP, then with the.
    (16a) the man to whom I talked
    the man whom I talked to
    *the man whom that I talked to
    [man, who_rel, to, talk, 'v*', [i, d], 'Tpast', c_rel, the] Two derivations.
    whorel has iRel.
    whorel can check uT but not uD feature.
    crel heads a LE, and has uT and uRel.
    Internal merge of whorel man will satisfy both uT and uRel on crel.
    (By economy, T to C is not available.)
    At the LE boundary, man (uD) is restacked.
    man merges with crelP, then with the.
    Optional pied-piping of verb particle to.
    (16b) *The man to that I talked
    (16c) *The man to I talked
    The man I talked to
    The man that I talked to
    [man, d_rel, to, talk, 'v*', [i, d], 'Tpast', c_rel, the] Two derivations.
    drel has iRel but cannot check man's uD feature.
    crel has uT and uRel, and heads a LE.
    Two ways to satisfy crel using Pesetsky and Torrego (2001):
    (1) T to edge of crel => that
    (2) Nom Case-marked I to edge of crel => empty
    At the LE boundary, man (uD) is restacked.
    TOS man merges with crelP.
    man labels (head merging with non-head).
    Stream the merges with SO headed by man.
    [Note: no pied-piping of verb particle to with drel-man. [An] EC [Empty Category] disallows pied-piping (Chomsky, 2001:28)]
    (22) The man who John saw
    *The man who that John saw
    [man, who_rel, see, 'v*', [john, d], 'Tpast', c_rel, the] One derivation.
    whorel has iRel.
    whorel can check uT but not uD feature.
    crel heads a LE, and has uT and uRel.
    Internal merge of whorel man will satisfy both uT and uRel on crel.
    (By economy, T to C is not available.)
    At the LE boundary, man (uD) is restacked.
    man merges with crelP, then with the.
    (29) The man who loves Mary
    *The man who that loves Mary
    [mary, d, love, 'v*', [man, who_rel], 'T', c_rel, the] One derivation.
    whorel has iRel.
    whorel can check uT but not uD feature.
    The subject whorel-man is formed in a substream.
    man (uD) will be initially stacked in the substream and transferred back to the main stream.
    crel heads a LE, and has uT and uRel.
    Internal merge of whorel man will satisfy both uT and uRel on crel.
    (By economy, T to C is not available.)
    At the LE boundary, man (uD) is restacked.
    man merges with crelP, then with the.
    [Note: under machine parameter setting substream(subsume_ss), main stream subject who-man (uCase) will subsume man (uD) from a substream on the stack. To prevent this, tentatively we implement the policy of letting heads through.]
    (35) The boy *(that) called Mary [mary, d, call, 'v*', [boy, d_rel], 'Tpast', c_rel, the] drel has iRel but cannot check man's uD feature.
    crel has uT and uRel, and heads a LE.
    Assume drel cannot check uT, i.e. drel-boy, despite getting nom Case, fails to satisfy uT on crel.
    Then crel's uT can only be satisfied by moving T to the edge of crel => that.
    Extra test cases
    (x1) What I read
    *What that I read
    [pro_n, what_rel, read, 'v*', [i, d], 'Tpast', c_rel, d] Headless relative.
    One derivation.
    Assume what is whatrel + pron (empty pronominal).
    whatrel has iRel.
    whatrel can check uT but not uD feature.
    crel heads a LE, and has uT and uRel.
    Internal merge of whatrel pron will satisfy both uT and uRel on crel.
    (By economy, T to C is not available.)
    At the LE boundary, pron (uD) is restacked.
    pron merges with crelP, then with d.
    (x2) What annoys John
    *What that annoys John
    [john, d, annoy, 'v*', [pro_n, what_rel], 'T', c_rel, d] Headless relative.
    One derivation.
    Assume what is whatrel + pron (empty pronominal).
    whatrel has iRel.
    whatrel can check uT but not uD feature.
    crel heads a LE, and has uT and uRel.
    Internal merge of whatrel pron will satisfy both uT and uRel on crel.
    (By economy, T to C is not available.)
    At the LE boundary, pron (uD) is restacked.
    pron merges with crelP, then with d.
  • Machine Parameters: expand

    Animation:
    (x2) What annoys John
    *What that annoys John

    Derivation:
    (x2) What annoys John
    *What that annoys John

    Stream:[[john!D],[d!case!N],[annoy],[v*!phi],[[pron!D],[whatrel!case!N]],[T!phi],[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):
    SO:[]

    Step 1.

    Head of stream [john!D] is the initial SO
    Stream:[[d!case!N],[annoy],[v*!phi],[[pron!D],[whatrel!case!N]],[T!phi],[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):
    SO:[john!D]

    Step 2.

    Merge [d!case!N] and [john!D]
    Label from [d!case!N] (syntactic head with an unvalued uF)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [john!D]
    [d!case!N] values D on [john!D]
    [john] values N on [d!case!N]
    Stream:[[annoy],[v*!phi],[[pron!D],[whatrel!case!N]],[T!phi],[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):
    SO:[d!case[d][john]]

    Step 3.

    Merge [annoy] and [d!case[d][john]]
    Label from [annoy] (syntactic head merging with a non-head)
    Theta-mark [d!case[d][john]]
    Push [d!case[d][john]] (unvalued uF) onto stack
    Stream:[[v*!phi],[[pron!D],[whatrel!case!N]],[T!phi],[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):[d!case[d][john]]
    SO:[annoy[annoy][d!case[d][john]]]

    Step 4.

    Merge [v*!phi] and [annoy[annoy][d!case[d..][john..]]]
    Label from [v*!phi] (syntactic head merging with a non-head)
    [d!case[d][john]] values uPhi on [v*!phi]
    [v*] values acc case on [d!case[d][john]]
    Stream:[[[pron!D],[whatrel!case!N]],[T!phi],[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):[d[d][john]]
    SO:[v*[v*][annoy[annoy][d[d][john]]]]

    Step 5.

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

    Step 6.

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

    Step 7.

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

    Step 8.

    Stream:[[whatrel!case[whatrel][pron!D]],[T!phi],[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):[d[d][john]]
    SO:[v*[v*][annoy[annoy][d[d][john]]]]

    Step 9.

    Merge [v*[v*][annoy[annoy..][d..]]] and [whatrel!case[whatrel][pron!D]]
    Label from [v*[v*][annoy[annoy..][d..]]] (edge feature)
    Theta-mark [whatrel!case[whatrel][pron!D]]
    Saved substream stack [[pron!D]] merged with stack
    Push [whatrel!case[whatrel][pron!D]] (unvalued uF) onto stack
    Stream:[[T!phi],[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):[whatrel!case[whatrel][pron!D]]
    [pron!D]
    [d[d][john]]
    SO:[v*[whatrel!case[whatrel][pron!D]][v*[v*][annoy[annoy][d[d][john]]]]]

    Step 10.

    Merge [T!phi] and [v*[whatrel!case[whatrel..][pron..]][v*[v*..][annoy..]]]
    Label from [T!phi] (syntactic head merging with a non-head)
    [whatrel!case[whatrel][pron!D]] values uPhi on [T!phi]
    [T] values nom case on [whatrel!case[whatrel][pron!D]]
    Stream:[[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):[whatrel[whatrel][pron!D]]
    [pron!D]
    [d[d][john]]
    SO:[T[T][v*[whatrel[whatrel][pron!D]][v*[v*][annoy[annoy][d[d][john]]]]]]

    Step 11.

    Internal merge selected
    Merge [T[T][v*[whatrel..][v*..]]] and [whatrel[whatrel][pron!D]]
    Label from [T[T][v*[whatrel..][v*..]]] (edge feature)
    Stream:[[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):[whatrel[whatrel][pron!D]]
    [pron!D]
    [d[d][john]]
    SO:[T[whatrel[whatrel][pron!D]][T[T][v*[whatrel[whatrel][pron!D]][v*[v*][annoy[annoy][d[d][john]]]]]]]

    Step 12.

    Merge [crel!rel!T!phi] and [T[whatrel[whatrel..][pron..]][T[T..][v*..]]]
    Label from [crel!rel!T!phi] (syntactic head merging with a non-head)
    [whatrel[whatrel][pron!D]] values rel on [crel!rel!T!phi]
    [whatrel[whatrel][pron!D]] values T on [crel!T!phi] (economy)
    [whatrel[whatrel][pron!D]] values phi on [crel!phi] (economy)
    [crel] values obq case on [whatrel[whatrel][pron!D]]
    Internal merge selected
    Merge [crel[crel][T[whatrel..][T..]]] and [whatrel[whatrel][pron!D]]
    Label from [crel[crel][T[whatrel..][T..]]] (edge feature)
    Stream:[[d!case!N]]
    Stack (⥥):[whatrel[whatrel][pron!D]]
    [pron!D]
    [d[d][john]]
    SO:[crel[whatrel[whatrel][pron!D]][crel[crel][T[whatrel[whatrel][pron!D]][T[T][v*[whatrel[whatrel][pron!D]][v*[v*][annoy[annoy][d[d][john]]]]]]]]]

    Step 13.

    Local Extent boundary at [crel[whatrel[whatrel..][pron..]][crel[crel..][T..]]]
    Stack element [pron!D] with unvalued uF found
    New boundary (b) marker stacked
    Restack [pron!D] onto stack
    Stream:[[d!case!N]]
    Stack (⥥):[pron!D]
    b
    [whatrel[whatrel][pron!D]]
    [d[d][john]]
    SO:[crel[whatrel[whatrel][pron!D]][crel[crel][T[whatrel[whatrel][pron!D]][T[T][v*[whatrel[whatrel][pron!D]][v*[v*][annoy[annoy][d[d][john]]]]]]]]]

    Step 14.

    Merge [pron!D] and [crel[whatrel[whatrel..][pron..]][crel[crel..][T..]]]
    Label from [pron!D] (syntactic head merging with a non-head)
    Stream:[[d!case!N]]
    Stack (⥥):[pron!D]
    b
    [whatrel[whatrel][pron!D]]
    [d[d][john]]
    SO:[pron!D[pron!D][crel[whatrel[whatrel][pron!D]][crel[crel][T[whatrel[whatrel][pron!D]][T[T][v*[whatrel[whatrel][pron!D]][v*[v*][annoy[annoy][d[d][john]]]]]]]]]]

    Step 15.

    Merge [d!case!N] and [pron!D[pron!D][crel[whatrel..][crel..]]]
    Label from [d!case!N] (syntactic head merging with a non-head)
    Inherit interpretable feature(s) [f(phi,[3,sg,n])] from [pron!D[pron!D][crel[whatrel..][crel..]]]
    [d!case!N] values D on [pron!D[pron!D][crel[whatrel..][crel..]]]
    [pron[pron][crel[whatrel..][crel..]]] values N on [d!case!N]
    Stream:[]
    Stack (⥥):[pron]
    b
    [whatrel[whatrel][pron]]
    [d[d][john]]
    SO:[d!case[d][pron[pron][crel[whatrel[whatrel][pron]][crel[crel][T[whatrel[whatrel][pron]][T[T][v*[whatrel[whatrel][pron]][v*[v*][annoy[annoy][d[d][john]]]]]]]]]]]

    Parse:
    Spell-out:
    what -s annoy -acc John (after morpheme realization)
    what annoy -s John -acc (after affix-hop)
    what annoy -s John -acc (after morpheme realization, stage 2)
    what annoys John  

    One derivation found.
    Computational Cost:
    Merge: 11, Agree: 13, Unify: 0, Push: 3, Boundaries: 1, Inject: 1
    Non-TOS access: 0, Pop: 0, Depth cost: 17
    Step:0123456789101112131415
    Stack depth:0001100113333444

    Back to top