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:
    (35) The boy *(that) called Mary

    Derivation:
    (35) The boy *(that) called Mary

    Stream:[[mary!D],[d!case!N],[call],[v*!phi],[[boy!D],[drel!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):
    SO:[]

    Step 1.

    Head of stream [mary!D] is the initial SO
    Stream:[[d!case!N],[call],[v*!phi],[[boy!D],[drel!case!N]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):
    SO:[mary!D]

    Step 2.

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

    Step 3.

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

    Step 4.

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

    Step 5.

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

    Step 6.

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

    Step 7.

    Merge [drel!case!N] and [boy!D]
    Label from [drel!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 [drel!case!N]
    Push [boy!D] (unvalued uF) onto stack
    Stream:[]
    Stack (⥥):[boy!D]
    SO:[drel!case[drel][boy!D]]
    End substream, SO [drel!case[drel][boy!D]] re-inserted into main stream
    Substream stack [[boy!D]] saved for possible stack merge

    Step 8.

    Stream:[[drel!case[drel][boy!D]],[Tpast!phi],[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[d[d][mary]]
    SO:[v*[v*][call[call][d[d][mary]]]]

    Step 9.

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

    Step 10.

    Merge [Tpast!phi] and [v*[drel!case[drel..][boy..]][v*[v*..][call..]]]
    Label from [Tpast!phi] (syntactic head merging with a non-head)
    [drel!case[drel][boy!D]] values uPhi on [Tpast!phi]
    [Tpast] values nom case on [drel!case[drel][boy!D]]
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[drel[drel][boy!D]]
    [boy!D]
    [d[d][mary]]
    SO:[Tpast[Tpast][v*[drel[drel][boy!D]][v*[v*][call[call][d[d][mary]]]]]]

    Step 11.

    Internal merge selected
    Merge [Tpast[Tpast][v*[drel..][v*..]]] and [drel[drel][boy!D]]
    Label from [Tpast[Tpast][v*[drel..][v*..]]] (edge feature)
    Stream:[[crel!rel!T!phi],[the!case!N]]
    Stack (⥥):[drel[drel][boy!D]]
    [boy!D]
    [d[d][mary]]
    SO:[Tpast[drel[drel][boy!D]][Tpast[Tpast][v*[drel[drel][boy!D]][v*[v*][call[call][d[d][mary]]]]]]]

    Step 12.

    Merge [crel!rel!T!phi] and [Tpast[drel[drel..][boy..]][Tpast[Tpast..][v*..]]]
    Label from [crel!rel!T!phi] (syntactic head merging with a non-head)
    [drel[drel][boy!D]] values rel on [crel!rel!T!phi]
    Relativized TOS search for iF(T) skipping [drel[drel][boy!D]]
    Relativized TOS search for iF(T) skipping [boy!D]
    Relativized TOS search for iF(T) skipping [d[d][mary]]
    [crel!T!phi] attracts [Tpast[drel[drel..][boy..]][Tpast[Tpast..][v*..]]]
    [drel[drel][boy!D]] values phi on [crel!phi] (economy)
    [crel] values obq case on [drel[drel][boy!D]]
    Internal merge selected
    Merge [crel[crel][Tpast[drel..][Tpast..]]] and [Tpast]
    Label from [crel[crel][Tpast[drel..][Tpast..]]] (edge feature)
    Merge [crel[Tpast][crel[crel..][Tpast..]]] and [drel[drel][boy!D]]
    Label from [crel[Tpast][crel[crel..][Tpast..]]] (edge feature)
    Stream:[[the!case!N]]
    Stack (⥥):[drel[drel][boy!D]]
    [boy!D]
    [d[d][mary]]
    SO:[crel[drel[drel][boy!D]][crel[Tpast][crel[crel][Tpast[drel[drel][boy!D]][Tpast[Tpast][v*[drel[drel][boy!D]][v*[v*][call[call][d[d][mary]]]]]]]]]]

    Step 13.

    Local Extent boundary at [crel[drel[drel..][boy..]][crel[Tpast..][crel..]]]
    Stack element [drel[drel][boy!D]] with unvalued uF found
    Stack element [boy!D] with unvalued uF found
    New boundary (b) marker stacked
    Restack [boy!D] onto stack
    Restack [drel[drel][boy!D]] onto stack
    Stream:[[the!case!N]]
    Stack (⥥):[drel[drel][boy!D]]
    [boy!D]
    b
    [d[d][mary]]
    SO:[crel[drel[drel][boy!D]][crel[Tpast][crel[crel][Tpast[drel[drel][boy!D]][Tpast[Tpast][v*[drel[drel][boy!D]][v*[v*][call[call][d[d][mary]]]]]]]]]]

    Step 14.

    Merge [boy!D] and [crel[drel[drel..][boy..]][crel[Tpast..][crel..]]]
    Label from [boy!D] (syntactic head merging with a non-head)
    Stream:[[the!case!N]]
    Stack (⥥):b
    [d[d][mary]]
    SO:[boy!D[boy!D][crel[drel[drel][boy!D]][crel[Tpast][crel[crel][Tpast[drel[drel][boy!D]][Tpast[Tpast][v*[drel[drel][boy!D]][v*[v*][call[call][d[d][mary]]]]]]]]]]]

    Step 15.

    Merge [the!case!N] and [boy!D[boy!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 [boy!D[boy!D][crel[drel..][crel..]]]
    [the!case!N] values D on [boy!D[boy!D][crel[drel..][crel..]]]
    [boy[boy][crel[drel..][crel..]]] values N on [the!case!N]
    Stream:[]
    Stack (⥥):b
    [d[d][mary]]
    SO:[the!case[the][boy[boy][crel[drel[drel][boy]][crel[Tpast][crel[crel][Tpast[drel[drel][boy]][Tpast[Tpast][v*[drel[drel][boy]][v*[v*][call[call][d[d][mary]]]]]]]]]]]]

    Parse:
    Spell-out:
    the boy that -ed(sg) call -acc Mary (after morpheme realization)
    the boy that call -ed(sg) Mary -acc (after affix-hop)
    the boy that call -ed(sg) Mary -acc (after morpheme realization, stage 2)
    the boy that called Mary  

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

    Back to top