Minimalist Machine Derivations

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

Examples:

  • A Minimalist account of reconstruction asymmetries (Munn, 1994). collapse
    Example Instruction stream (clickable) Notes
    (15a) The picture of himself1 that Bill1 likes
    The picture of himself1 Bill1 likes
    [bill, d, he, self, of, picture, d_rel, like, 'v*', 'T', c_rel, the] Two derivations.
    Doubling Constituent (DC) self-he-Bill object of preposition of.
    Object of likes is drel-picture-of-DC.
    drel has iRel but cannot check picture's uD feature.
    Bill restacked at Local Extent (LE) boundary headed by self.
    v* merges TOS Bill to its edge.
    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 Bill to edge of crel => empty
    At the LE boundary, picture of self-he-Bill (uD) is restacked.
    Head picture of the TOS picture of self-he-Bill merges with crelP.
    picture labels (head merging with non-head).
    Stream the merges with SO headed by picture.
    [Spellout Note: Bill has been separately moved to the subject of the embedded clause. Thus although drel pictures of self-he-Bill is raised higher (to the edge of crel), Bill is pronounced in the lower position, not at the edge of the clause.]
    (15b) The picture of Bill1 that he1 likes
    The picture of Bill1 he1 likes
    [he, d, bill, d, of, picture, d_rel, like, 'v*', 'T', c_rel, the] Bill-he is not a regular DC (cf. he-Bill).
    [Note: in a regular DC, e.g. he-John, the pronominal he triggers DC merge in which John will be stacked but not made visible to stack operations such as probe-goal and internal merge until a LE boundary is encountered later on in the derivation.]
    he (uCase) is (visibly) stacked when merged with Bill.
    drel has iRel but cannot check picture's uD feature.
    v* merges he to its edge.
    crel has uT and uRel, and heads a LE.
    crel satisfied by either T or he (locally nom Case-marked) to C.
    At the LE boundary, picture of Bill-he (uD) is restacked.
    Extract head picture (uD) and merge with crelP.
    picture labels (head merging with non-head).
    Stream the merges with SO headed by picture.
    (19a) Pictures of himself1 are hard for John1 to like [john, d, he, self, of, pictures, d, pro, like, 'v*', 'Tinf', for, hard, 'v_be', 'T', c] Doubling Constituent (DC) pro-pictures of self-he-John with another DC self-he-John embedded inside.
    Determiner self heads a Local Extent (LE) phrase.
    Doubling constituent (DC) self-he-John triggers stacking of John.
    Embedded v* merges TOS John to its edge.
    Tinf does not value case for John.
    Assume for is a complementizer that probes and values Case. Then John's uCase feature is valued.
    Assume for heads a LE phase.
    Then at the LE boundary, pictures of self-he-John (with unvalued uCase) is re-stacked.
    Matrix vbe merges TOS pictures of self-he-John to its edge.
    [Spellout Note: John has been separately moved to the subject of the embedded clause. Thus although pictures of self-he-John is raised higher (to the matrix subject), John is pronounced in the lower clause, not the matrix clause.]
    (19b) Pictures of John1 are hard for him1 to like [he, d, john, d, of, pictures, d, pro, like, 'v*', 'Tinf', for, hard, 'v_be', 'T', c] DC pro-pictures of John-he with a (pseudo) DC John-he embedded inside.
    John-he is not a regular DC (cf. he-John).
    In particular, he (with unvalued uCase) is stacked when merged with John.
    [Note: in a regular DC, e.g. he-John, the pronominal he triggers DC merge in which John will be stacked but not made visible to stack operations such as probe-goal and internal merge until a LE boundary is encountered later on in the derivation.]
    Regular DC head pro merges with pictures of John-he.
    pictures of John-he is stacked but will not be available until the boundary of a LE has been built.
    Embedded v* merges non-TOS he to its edge.
    [Note: TOS pictures of John-he is not selected because it already has a theta-role assigned. Edge of v* is a theta-position.]
    Assume for is a complementizer that probes and values Case. Then he's uCase feature is valued.
    Assume for heads a LE phase.
    Then at the LE boundary, pictures of he-John (with unvalued uCase) is re-stacked.
    Matrix vbe merges TOS pictures of he-John to its edge.
    Extra test cases
    (x1) *The picture of him1 that Bill1 likes [bill, d, he, d, of, picture, d_rel, like, 'v*', 'T', c_rel, the] Doubling Constituent (DC) he-Bill.
    Bill is not restacked in time for merge to the edge of v* (no LE boundary).
    (x2) *Pictures of him1 are hard for John1 to like [john, d, he, d, of, pictures, d, pro, like, 'v*', 'Tinf', for, hard, 'v_be', 'T', c] DC he-John and DC pro-pictures of he-John.
    John is not restacked in time for merge to the edge of v* (no LE boundary).
  • Machine Parameters: expand

    Animation:
    (19a) Pictures of himself1 are hard for John1 to like

    Derivation:
    (19a) Pictures of himself1 are hard for John1 to like

    Stream:[[john!D],[d!case!N],[he!D],[self!case!N],[of],[pictures!D],[d!case!N],[pro!case],[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):
    SO:[]

    Step 1.

    Head of stream [john!D] is the initial SO
    Stream:[[d!case!N],[he!D],[self!case!N],[of],[pictures!D],[d!case!N],[pro!case],[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):
    SO:[john!D]

    Step 2.

    Merge [d!case!N] and [john!D]
    Label from [d!case!N] (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:[[he!D],[self!case!N],[of],[pictures!D],[d!case!N],[pro!case],[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):
    SO:[d!case[d][john]]
    Doubling Constitutent (DC) merge

    Step 3.

    Merge [he!D] and [d!case[d][john]]
    Label from [he!D] (head merging with a non-head)
    Push [d!case[d][john]] (unvalued uF) onto stack
    Stream:[[self!case!N],[of],[pictures!D],[d!case!N],[pro!case],[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):inactive([d!case[d][john]])
    SO:[he!D[he!D][d!case[d][john]]]

    Step 4.

    Merge [self!case!N] and [he!D[he!D][d!case[d..][john..]]]
    Label from [self!case!N] (head merging with a non-head)
    Inherit interpretable feature(s) [f(phi,[3,sg,m])] from [he!D[he!D][d!case[d..][john..]]]
    [self!case!N] values D on [he!D[he!D][d!case[d..][john..]]]
    [he[he][d!case[d..][john..]]] values N on [self!case!N]
    Stream:[[of],[pictures!D],[d!case!N],[pro!case],[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):inactive([d!case[d][john]])
    SO:[self!case[self][he[he][d!case[d][john]]]]

    Step 5.

    Local Extent boundary at [self!case[self][he[he..][d..]]]
    Inactive stack element inactive([d!case[d][john]]) found
    New boundary (b) marker stacked
    Restack [d!case[d][john]] onto stack
    Stream:[[of],[pictures!D],[d!case!N],[pro!case],[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):once([d!case[d][john]])
    b
    SO:[self!case[self][he[he][d!case[d][john]]]]

    Step 6.

    Merge [of] and [self!case[self][he[he..][d..]]]
    Label from [of] (head merging with a non-head)
    Theta-mark [self!case[self][he[he..][d..]]]
    [of] values obq case on [self!case[self][he[he..][d..]]]
    Stream:[[pictures!D],[d!case!N],[pro!case],[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):once([d!case[d][john]])
    b
    SO:[of[of][self[self][he[he][d!case[d][john]]]]]

    Step 7.

    Merge [pictures!D] and [of[of][self[self..][he..]]]
    Label from [pictures!D] (head merging with a non-head)
    Stream:[[d!case!N],[pro!case],[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):once([d!case[d][john]])
    b
    SO:[pictures!D[pictures!D][of[of][self[self][he[he][d!case[d][john]]]]]]

    Step 8.

    Merge [d!case!N] and [pictures!D[pictures!D][of[of..][self..]]]
    Label from [d!case!N] (head merging with a non-head)
    Inherit interpretable feature(s) [f(phi,[3,pl,n])] from [pictures!D[pictures!D][of[of..][self..]]]
    [d!case!N] values D on [pictures!D[pictures!D][of[of..][self..]]]
    [pictures[pictures][of[of..][self..]]] values N on [d!case!N]
    Stream:[[pro!case],[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):once([d!case[d][john]])
    b
    SO:[d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]]
    Doubling Constitutent (DC) merge

    Step 9.

    Merge [pro!case] and [d!case[d][pictures[pictures..][of..]]]
    Label from [pro!case] (head merging with a non-head)
    Inherit interpretable feature(s) [f(theta),f(phi,[3,pl,n])] from [d!case[d][pictures[pictures..][of..]]]
    Push [d!case[d][pictures[pictures..][of..]]] (unvalued uF) onto stack
    Stream:[[like],[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):inactive([d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]])
    once([d!case[d][john]])
    b
    SO:[pro!case[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]]]

    Step 10.

    Merge [like] and [pro!case[pro][d!case[d..][pictures..]]]
    Label from [like] (head merging with a non-head)
    Theta-mark [pro!case[pro][d!case[d..][pictures..]]]
    Push [pro!case[pro][d!case[d..][pictures..]]] (unvalued uF) onto stack
    Stream:[[v*!phi],[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):[pro!case[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]]]
    inactive([d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]])
    once([d!case[d][john]])
    b
    SO:[like[like][pro!case[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]]]]

    Step 11.

    Merge [v*!phi] and [like[like][pro!case[pro..][d..]]]
    Label from [v*!phi] (head merging with a non-head)
    [pro!case[pro][d!case[d..][pictures..]]] values uPhi on [v*!phi]
    [v*] values acc case on [pro!case[pro][d!case[d..][pictures..]]]
    Stream:[[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):[pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]]]
    inactive([d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]])
    once([d!case[d][john]])
    b
    SO:[v*[v*][like[like][pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]]]]]

    Step 12.

    Relativized TOS search for unvaluediF(theta) skipping [pro[pro][d!case[d..][pictures..]]]
    Internal merge selected
    Merge [v*[v*][like[like..][pro..]]] and [d!case[d][john]]
    Label from [v*[v*][like[like..][pro..]]] (edge feature)
    Theta-mark [d!case[d][john]]
    Move [d!case[d][john]] (unvalued uF) to the front of the stack
    Stream:[[Tinf!phi],[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):[d!case[d][john]]
    [pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]]]
    inactive([d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]])
    b
    SO:[v*[d!case[d][john]][v*[v*][like[like][pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]

    Step 13.

    Merge [Tinf!phi] and [v*[d!case[d..][john..]][v*[v*..][like..]]]
    Label from [Tinf!phi] (head merging with a non-head)
    [d!case[d][john]] values uPhi on [Tinf!phi]
    Stream:[[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):[d!case[d][john]]
    [pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]]]
    inactive([d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]])
    b
    SO:[Tinf[Tinf][v*[d!case[d][john]][v*[v*][like[like][pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]

    Step 14.

    Internal merge selected
    Merge [Tinf[Tinf][v*[d..][v*..]]] and [d!case[d][john]]
    Label from [Tinf[Tinf][v*[d..][v*..]]] (edge feature)
    Stream:[[for!phi],[hard],[vbe],[T!phi],[c]]
    Stack (⥥):[d!case[d][john]]
    [pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]]]
    inactive([d!case[d][pictures[pictures][of[of][self[self][he[he][d!case[d][john]]]]]]])
    b
    SO:[Tinf[d!case[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]

    Step 15.

    Merge [for!phi] and [Tinf[d!case[d..][john..]][Tinf[Tinf..][v*..]]]
    Label from [for!phi] (head merging with a non-head)
    [d!case[d][john]] values uPhi on [for!phi]
    [for] values obq case on [d!case[d][john]]
    Stream:[[hard],[vbe],[T!phi],[c]]
    Stack (⥥):[d[d][john]]
    [pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]
    inactive([d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]])
    b
    SO:[for[for][Tinf[d[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]]

    Step 16.

    Local Extent boundary at [for[for][Tinf[d..][Tinf..]]]
    Inactive stack element inactive([d!case[d][pictures[pictures..][of..]]]) found
    New boundary (b) marker stacked
    Restack [d!case[d][pictures[pictures..][of..]]] onto stack
    Stream:[[hard],[vbe],[T!phi],[c]]
    Stack (⥥):[d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]
    b
    [d[d][john]]
    [pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]
    b
    SO:[for[for][Tinf[d[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]]

    Step 17.

    Merge [hard] and [for[for][Tinf[d..][Tinf..]]]
    Label from [hard] (head merging with a non-head)
    Stream:[[vbe],[T!phi],[c]]
    Stack (⥥):[d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]
    b
    [d[d][john]]
    [pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]
    b
    SO:[hard[hard][for[for][Tinf[d[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]]]

    Step 18.

    Merge [vbe] and [hard[hard][for[for..][Tinf..]]]
    Label from [vbe] (head merging with a non-head)
    Stream:[[T!phi],[c]]
    Stack (⥥):[d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]
    b
    [d[d][john]]
    [pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]
    b
    SO:[vbe[vbe][hard[hard][for[for][Tinf[d[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]]]]

    Step 19.

    Internal merge selected
    Merge [vbe[vbe][hard[hard..][for..]]] and [d!case[d][pictures[pictures..][of..]]]
    Label from [vbe[vbe][hard[hard..][for..]]] (edge feature)
    Preference: [vbe] edge merge from the stack (not stream)
    Stream:[[T!phi],[c]]
    Stack (⥥):[d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]
    b
    [d[d][john]]
    [pro[pro][d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]
    b
    SO:[vbe[d!case[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]][vbe[vbe][hard[hard][for[for][Tinf[d[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]]]]]

    Step 20.

    Merge [T!phi] and [vbe[d!case[d..][pictures..]][vbe[vbe..][hard..]]]
    Label from [T!phi] (head merging with a non-head)
    [d!case[d][pictures[pictures..][of..]]] values uPhi on [T!phi]
    [T] values nom case on [d!case[d][pictures[pictures..][of..]]]
    Stream:[[c]]
    Stack (⥥):[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]
    b
    [d[d][john]]
    [pro[pro][d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]
    b
    SO:[T[T][vbe[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]][vbe[vbe][hard[hard][for[for][Tinf[d[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]]]]]]

    Step 21.

    Internal merge selected
    Merge [T[T][vbe[d..][vbe..]]] and [d[d][pictures[pictures..][of..]]]
    Label from [T[T][vbe[d..][vbe..]]] (edge feature)
    Stream:[[c]]
    Stack (⥥):[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]
    b
    [d[d][john]]
    [pro[pro][d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]
    b
    SO:[T[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]][T[T][vbe[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]][vbe[vbe][hard[hard][for[for][Tinf[d[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]]]]]]]

    Step 22.

    Merge [c] and [T[d[d..][pictures..]][T[T..][vbe..]]]
    Label from [c] (head merging with a non-head)
    Stream:[]
    Stack (⥥):[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]
    b
    [d[d][john]]
    [pro[pro][d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]
    b
    SO:[c[c][T[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]][T[T][vbe[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]][vbe[vbe][hard[hard][for[for][Tinf[d[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]]]]]]]]

    Step 23.

    Local Extent boundary at [c[c][T[d..][T..]]]
    New boundary (b) marker stacked
    Stream:[]
    Stack (⥥):b
    [d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]
    b
    [d[d][john]]
    [pro[pro][d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]
    b
    SO:[c[c][T[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]][T[T][vbe[d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]][vbe[vbe][hard[hard][for[for][Tinf[d[d][john]][Tinf[Tinf][v*[d[d][john]][v*[v*][like[like][pro[pro][d[d][pictures[pictures][of[of][self[self][he[he][d[d][john]]]]]]]]]]]]]]]]]]]]

    Parse:
    Spell-out:
    pictures of -self -obq he -re be hard for -obq john to like (after morpheme realization)
    pictures of he -obq -self be -re hard for john -obq to like (after affix-hop)
    pictures of he -obq -self be -re hard for john -obq to like (after morpheme realization, stage 2)
    pictures of himself are hard for john to like  

    One derivation found.
    Computational Cost:
    Merge: 19, Agree: 14, Unify: 0, Push: 4, Boundaries: 3, Inject: 2
    Non-TOS access: 2, Pop: 0, Depth cost: 57
    Step:01234567891011121314151617181920212223
    Stack depth:000112222344444455555556

    Back to top