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:
    (x1) What I read
    *What that I read

    Derivation:
    (x1) What I read
    *What that I read

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

    Step 1.

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

    Step 2.

    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:[[read],[v*!phi],[[i!D],[d!case!N]],[Tpast!phi],[crel!rel!T!phi],[d!case!N]]
    Stack (⥥):[pron!D]
    SO:[whatrel!case[whatrel][pron!D]]

    Step 3.

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

    Step 4.

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

    Step 5.

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

    Step 6.

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

    Step 7.

    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 8.

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

    Step 9.

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

    Step 10.

    Merge [Tpast!phi] and [v*[d!case[d..][i..]][v*[v*..][read..]]]
    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],[d!case!N]]
    Stack (⥥):[d[d][i]]
    [whatrel[whatrel][pron!D]]
    [pron!D]
    SO:[Tpast[Tpast][v*[d[d][i]][v*[v*][read[read][whatrel[whatrel][pron!D]]]]]]

    Step 11.

    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],[d!case!N]]
    Stack (⥥):[d[d][i]]
    [whatrel[whatrel][pron!D]]
    [pron!D]
    SO:[Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][read[read][whatrel[whatrel][pron!D]]]]]]]

    Step 12.

    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]]
    [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][Tpast[d..][Tpast..]]] and [whatrel[whatrel][pron!D]]
    Label from [crel[crel][Tpast[d..][Tpast..]]] (edge feature)
    Stream:[[d!case!N]]
    Stack (⥥):[d[d][i]]
    [whatrel[whatrel][pron!D]]
    [pron!D]
    SO:[crel[whatrel[whatrel][pron!D]][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][read[read][whatrel[whatrel][pron!D]]]]]]]]]

    Step 13.

    Local Extent boundary at [crel[whatrel[whatrel..][pron..]][crel[crel..][Tpast..]]]
    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
    [d[d][i]]
    [whatrel[whatrel][pron!D]]
    SO:[crel[whatrel[whatrel][pron!D]][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][read[read][whatrel[whatrel][pron!D]]]]]]]]]

    Step 14.

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

    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
    [d[d][i]]
    [whatrel[whatrel][pron]]
    SO:[d!case[d][pron[pron][crel[whatrel[whatrel][pron]][crel[crel][Tpast[d[d][i]][Tpast[Tpast][v*[d[d][i]][v*[v*][read[read][whatrel[whatrel][pron]]]]]]]]]]]

    Parse:
    Spell-out:
    what I -ed(sg) read (after morpheme realization)
    what I read -ed(sg) (after affix-hop)
    what I read -ed(sg) (after morpheme realization, stage 2)
    what I read  

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

    Back to top