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:
    (16b) *The man to that I talked
    (16c) *The man to I talked
    The man I talked to
    The man that I talked to

    Derivation:
    (16b) *The man to that I talked
    (16c) *The man to I talked
    The man I talked to
    The man that I talked to

    Stream:[[man!D],[drel!case!N],[to],[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):
    SO:[]

    Step 1.

    Head of stream [man!D] is the initial SO
    Stream:[[drel!case!N],[to],[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):
    SO:[man!D]

    Step 2.

    Merge [drel!case!N] and [man!D]
    Label from [drel!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 [drel!case!N]
    Push [man!D] (unvalued uF) onto stack
    Stream:[[to],[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[man!D]
    SO:[drel!case[drel][man!D]]

    Step 3.

    Merge [to] and [drel!case[drel][man!D]]
    Label from [to] (syntactic head merging with a non-head)
    Theta-mark [drel!case[drel][man!D]]
    [to] values obq case on [drel!case[drel][man!D]]
    Push [drel[drel][man!D]] (unvalued uF) onto stack
    Stream:[[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[drel[drel][man!D]]
    [man!D]
    SO:[to[to][drel[drel][man!D]]]

    Step 4.

    Relativized TOS search for unvaluediF(theta) skipping [drel[drel][man!D]]
    Relativized TOS search for unvaluediF(theta) skipping [man!D]
    Internal merge to edge of [to[to][drel[drel][man!D]]] failed
    No possible action for stream [[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]] and [to[to][drel[drel..][man..]]]
    Stream:[[man!D],[drel!case!N],[to],[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):
    SO:[]

    Step 5.

    Head of stream [man!D] is the initial SO
    Stream:[[drel!case!N],[to],[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):
    SO:[man!D]

    Step 6.

    Merge [drel!case!N] and [man!D]
    Label from [drel!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 [drel!case!N]
    Push [man!D] (unvalued uF) onto stack
    Stream:[[to],[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[man!D]
    SO:[drel!case[drel][man!D]]

    Step 7.

    Merge [to] and [drel!case[drel][man!D]]
    Label from [to] (syntactic head merging with a non-head)
    Theta-mark [drel!case[drel][man!D]]
    Push [drel!case[drel][man!D]] (unvalued uF) onto stack
    Stream:[[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[drel!case[drel][man!D]]
    [man!D]
    SO:[to[to][drel!case[drel][man!D]]]

    Step 8.

    Merge [talk] and [to[to][drel!case[drel..][man..]]]
    Label from [talk] (syntactic head merging with a non-head)
    Stream:[[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[drel!case[drel][man!D]]
    [man!D]
    SO:[talk[talk][to[to][drel!case[drel][man!D]]]]

    Step 9.

    Merge [v*!phi] and [talk[talk][to[to..][drel..]]]
    Label from [v*!phi] (syntactic head merging with a non-head)
    [drel!case[drel][man!D]] values uPhi on [v*!phi]
    [v*] values acc case on [drel!case[drel][man!D]]
    Stream:[[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[drel[drel][man!D]]
    [man!D]
    SO:[v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]

    Step 10.

    Begin substream
    Stream:[[i!D],[d!case!N]]
    Stack (тее):
    SO:[]

    Step 11.

    Head of stream [i!D] is the initial SO
    Stream:[[d!case!N]]
    Stack (тее):
    SO:[i!D]

    Step 12.

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

    Step 13.

    Stream:[[d!case[d][i]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[drel[drel][man!D]]
    [man!D]
    SO:[v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]

    Step 14.

    Merge [v*[v*][talk[talk..][to..]]] and [d!case[d][i]]
    Label from [v*[v*][talk[talk..][to..]]] (edge feature)
    Theta-mark [d!case[d][i]]
    Push [d!case[d][i]] (unvalued uF) onto stack
    Stream:[[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[d!case[d][i]]
    [drel[drel][man!D]]
    [man!D]
    SO:[v*[d!case[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]

    Step 15.

    Merge [Tpast!phi] and [v*[d!case[d..][i..]][v*[v*..][talk..]]]
    Label from [Tpast!phi] (syntactic head merging with a non-head)
    [d!case[d][i]] values uPhi on [Tpast!phi]
    [Tpast] values nom case on [d!case[d][i]]
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[d[d][i]]
    [drel[drel][man!D]]
    [man!D]
    SO:[Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]]

    Step 16.

    Internal merge selected
    Merge [Tpast[Tpast][v*[d..][v*..]]] and [d[d][i]]
    Label from [Tpast[Tpast][v*[d..][v*..]]] (edge feature)
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[d[d][i]]
    [drel[drel][man!D]]
    [man!D]
    SO:[Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]]]

    Step 17.

    Merge [crel!rel!T!phi] and [Tpast[d[d..][i..]][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][i]]
    [drel[drel][man!D]] values rel on [crel!rel!T!phi]
    [d[d][i]] values T on [crel!T!phi]
    [drel[drel][man!D]] values phi on [crel!phi] (economy)
    [crel] values obq case on [drel[drel][man!D]]
    Internal merge selected
    Merge [crel[crel][Tpast[d..][Tpast..]]] and [d[d][i]]
    Label from [crel[crel][Tpast[d..][Tpast..]]] (edge feature)
    Merge [crel[d[d..][i..]][crel[crel..][Tpast..]]] and [drel[drel][man!D]]
    Label from [crel[d[d..][i..]][crel[crel..][Tpast..]]] (edge feature)
    Stream:[[the!case!N]]
    Stack (тее):[d[d][i]]
    [drel[drel][man!D]]
    [man!D]
    SO:[crel[drel[drel][man!D]][crel[d[d][i]][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]]]]]]

    Step 18.

    Local Extent boundary at [crel[drel[drel..][man..]][crel[d..][crel..]]]
    Stack element [drel[drel][man!D]] with unvalued uF found
    Stack element [man!D] with unvalued uF found
    New boundary (b) marker stacked
    Restack [man!D] onto stack
    Restack [drel[drel][man!D]] onto stack
    Stream:[[the!case!N]]
    Stack (тее):[drel[drel][man!D]]
    [man!D]
    b
    [d[d][i]]
    SO:[crel[drel[drel][man!D]][crel[d[d][i]][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]]]]]]

    Step 19.

    Merge [man!D] and [crel[drel[drel..][man..]][crel[d..][crel..]]]
    Label from [man!D] (syntactic head merging with a non-head)
    Stream:[[the!case!N]]
    Stack (тее):b
    [d[d][i]]
    SO:[man!D[man!D][crel[drel[drel][man!D]][crel[d[d][i]][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]]]]]]]

    Step 20.

    Merge [the!case!N] and [man!D[man!D][crel[drel..][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[drel..][crel..]]]
    [the!case!N] values D on [man!D[man!D][crel[drel..][crel..]]]
    [man[man][crel[drel..][crel..]]] values N on [the!case!N]
    Stream:[]
    Stack (тее):b
    [d[d][i]]
    SO:[the!case[the][man[man][crel[drel[drel][man]][crel[d[d][i]][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man]]]]]]]]]]]]]

    Parse:
    Spell-out:
    the man I -ed(sg) talk to (after morpheme realization)
    the man I talk -ed(sg) to (after affix-hop)
    the man I talk -ed(sg) to (after morpheme realization, stage 2)
    the man I talked to  

    Backtrack

    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[d[d][i]]
    [drel[drel][man!D]]
    [man!D]
    SO:[Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]]]
    re-doing step 17

    Step 21.

    [crel!T!phi] attracts [Tpast[d[d..][i..]][Tpast[Tpast..][v*..]]]
    [drel[drel][man!D]] values phi on [crel!phi] (economy)
    [crel] values obq case on [drel[drel][man!D]]
    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 [drel[drel][man!D]]
    Label from [crel[Tpast][crel[crel..][Tpast..]]] (edge feature)
    Stream:[[the!case!N]]
    Stack (тее):[d[d][i]]
    [drel[drel][man!D]]
    [man!D]
    SO:[crel[drel[drel][man!D]][crel[Tpast][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]]]]]]

    Step 22.

    Local Extent boundary at [crel[drel[drel..][man..]][crel[Tpast..][crel..]]]
    Stack element [drel[drel][man!D]] with unvalued uF found
    Stack element [man!D] with unvalued uF found
    New boundary (b) marker stacked
    Restack [man!D] onto stack
    Restack [drel[drel][man!D]] onto stack
    Stream:[[the!case!N]]
    Stack (тее):[drel[drel][man!D]]
    [man!D]
    b
    [d[d][i]]
    SO:[crel[drel[drel][man!D]][crel[Tpast][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]]]]]]

    Step 23.

    Merge [man!D] and [crel[drel[drel..][man..]][crel[Tpast..][crel..]]]
    Label from [man!D] (syntactic head merging with a non-head)
    Stream:[[the!case!N]]
    Stack (тее):b
    [d[d][i]]
    SO:[man!D[man!D][crel[drel[drel][man!D]][crel[Tpast][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man!D]]]]]]]]]]]]

    Step 24.

    Merge [the!case!N] and [man!D[man!D][crel[drel..][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[drel..][crel..]]]
    [the!case!N] values D on [man!D[man!D][crel[drel..][crel..]]]
    [man[man][crel[drel..][crel..]]] values N on [the!case!N]
    Stream:[]
    Stack (тее):b
    [d[d][i]]
    SO:[the!case[the][man[man][crel[drel[drel][man]][crel[Tpast][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][talk[talk][to[to][drel[drel][man]]]]]]]]]]]]]

    Parse:
    Spell-out:
    the man that I -ed(sg) talk to (after morpheme realization)
    the man that I talk -ed(sg) to (after affix-hop)
    the man that I talk -ed(sg) to (after morpheme realization, stage 2)
    the man that I talked to  

    2 derivations found.

    Backtrack

    Stream:[[talk],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (тее):[drel[drel][man!D]]
    [man!D]
    SO:[to[to][drel[drel][man!D]]]
    re-doing step 4

    Step 25.

    Computational Cost:
    Merge: 19, Agree: 20, Unify: 0, Push: 5, Boundaries: 2, Inject: 4
    Non-TOS access: 3, Pop: 0, Depth cost: 25
    Step:0123456789101112131415161718192021222324
    Stack depth:0012001222000233334223422

    Back to top