Machine: Minimalist Derivations

Examples:

Basic sentence patterns: expand

Derivation by Phase (Chomsky 2001): expand

On Phases (Chomsky, 2008): expand

T-to-C Movement: Causes and Consequences. Pesetsky & Torrego (2001). expand

Explaining TH/EX (Sobin, ms.) and TH/EX, Agreement, and Case in Expletive Sentences (Sobin, Syntax: to appear). expand

Computation with doubling constituents: Pronouns and antecedents in Phase Theory. (Fong & Ginsberg, 2002). expand

Test cases from A Course in GB Syntax (Lasnik & Uriagereka,1988). expand

Arabic examples expand

Japanese examples (Miyagawa 2001) collapse

Example Instruction stream (clickable) Notes
(1a) 鬼が花子を食った
oni-ga hanako-o kuu-ta
ogre-NOM hanako-ACC eat-PAST
(1b) 花子を鬼が食った
hanako-o oni-ga kuu-ta
hanako-ACC ogre-NOM eat-PAST
"The ogre ate Hanako"
[hanako, d, kuu, 'v*', [oni, d], 'Tpast', c] Basic subject/object scrambling.
Allow internal Merge to edge of T from either subject or object position.
(2a) 花子がサムにメールをした
hanako-ga samu-ni mēru-o suru-ta
hanako-NOM Sam-DAT mail-ACC do-PAST
(2b) メールを花子がサムにした
mēru-o hanako-ga samu-ni suru-ta
mail-ACC hanako-NOM Sam-DAT do-PAST
(2c) サムに花子がメールをした
samu-ni hanako-ga mēru-o suru-ta
Sam-DAT hanako-NOM mail-ACC do-PAST
"Hanako sent Sam an email"
[samu, d, suru, v, ['mēru', d], 'v*', [hanako, d], 'Tpast', c] Ditransitive frame. No FocP. v values dative Case.
Base order: Agent Theme Goal
(Assume ni-marked Goal is lower than Theme.)
Undergenerates: only 3 permutations possible:
(a) Agent Theme Goal,
(b) Theme Agent Goal, and
(c) Goal Agent Theme.
(3a) 花子がメールをサムにした
hanako-ga mēru-o samu-ni suru-ta
hanako-NOM mail-ACC Sam-DAT do-PAST
(3b) メールを花子がサムにした
mēru-o hanako-ga samu-ni suru-ta
mail-ACC hanako-NOM Sam-DAT do-PAST
(3c) サムに花子がメールをした
samu-ni hanako-ga mēru-o suru-ta
Sam-DAT hanako-NOM mail-ACC do-PAST
(3d) 花子がサムにメールをした
hanako-ga samu-ni mēru-o suru-ta
hanako-NOM Sam-DAT mail-ACC do-PAST
(3e) メールを花子がサムにした
mēru-o hanako-ga samu-ni suru-ta
mail-ACC hanako-NOM Sam-DAT do-PAST
(3f) サムにメールを花子がした
samu-ni mēru-o hanako-ga suru-ta
Sam-DAT mail-ACC hanako-NOM do-PAST
(3g) 花子がサムにメールをした
hanako-ga samu-ni mēru-o suru-ta
hanako-NOM Sam-DAT mail-ACC do-PAST
(3h) メールをサムに花子がした
mēru-o samu-ni hanako-ga suru-ta
mail-ACC Sam-DAT hanako-NOM do-PAST
(3i) サムに花子がメールをした
samu-ni hanako-ga mēru-o suru-ta
Sam-DAT hanako-NOM mail-ACC do-PAST
"Hanako sent Sam an email"
[samu, d, suru, v, ['mēru', d], 'v*', [hanako, d], foc, 'Tpast', c] Ditransitive frame. FocP with EF above v*P.
Base order: Agent Theme Goal
(Assume ni-marked Goal is lower than Theme.)
Overgenerates: 9 permutations, only 6 distinct:
initial 3 same as (2a-c).
(3d)=(3g), (3b)=(3e), (3c)=(3i)

Input:

Goal:
Size: (x1) (x4)
Websocket: 8010 CONNECTED DISCONNECTED 8010 CONNECTED DISCONNECTED

Output:
(2a) 花子がサムにメールをした
hanako-ga samu-ni mēru-o suru-ta
hanako-NOM Sam-DAT mail-ACC do-PAST
(2b) メールを花子がサムにした
mēru-o hanako-ga samu-ni suru-ta
mail-ACC hanako-NOM Sam-DAT do-PAST
(2c) サムに花子がメールをした
samu-ni hanako-ga mēru-o suru-ta
Sam-DAT hanako-NOM mail-ACC do-PAST
"Hanako sent Sam an email"

Stream:[[samu!D],[d!case!N],[suru],[v!phi],[[mēru!D],[d!case!N]],[v*!phi],[[hanako!D],[d!case!N]],[Tpast!phi],[c]]
Stack:[]
SO:[]

Step 1.

Merge [d!case!N] and [samu!D]
Label from [d!case!N] (head with an unvalued uF)
Inherit interpretable [f(phi,[3,sg,n],_G1725)] from [samu!D]
[d!case] values D on [samu]
[samu] values N on [d!case]
Stream:[[suru],[v!phi],[[mēru!D],[d!case!N]],[v*!phi],[[hanako!D],[d!case!N]],[Tpast!phi],[c]]
Stack:[]
SO:[d!case[samu][d]]

Step 2.

Theta-merge
Merge [suru] and [d!case[samu][d]]
Label from [suru] (head merging with a non-head)
Push [d!case[samu][d]] (unvalued uF) onto stack
Stream:[[v!phi],[[mēru!D],[d!case!N]],[v*!phi],[[hanako!D],[d!case!N]],[Tpast!phi],[c]]
Stack:[[d!case[samu][d]]]
SO:[suru[d!case[samu][d]][suru]]

Step 3.

Merge [v!phi] and [suru[d!case[samu..][d..]][suru]]
Label from [v!phi] (head merging with a non-head)
[d!case[samu][d]] values uPhi on [v!phi]
[v] values dat case on [d!case[samu][d]]
Stream:[[[mēru!D],[d!case!N]],[v*!phi],[[hanako!D],[d!case!N]],[Tpast!phi],[c]]
Stack:[[d[samu][d]]]
SO:[v[suru[d[samu][d]][suru]][v]]

Step 4.

Begin substream
Stream:[[mēru!D],[d!case!N]]
Stack:[]
SO:[]

Step 5.

Merge [d!case!N] and [mēru!D]
Label from [d!case!N] (head with an unvalued uF)
Inherit interpretable [f(phi,[3,sg,n],_G471)] from [mēru!D]
[d!case] values D on [mēru]
[mēru] values N on [d!case]
Stream:[]
Stack:[]
SO:[d!case[mēru][d]]

Step 6.

End substream, SO re-inserted into stream
Stream:[[d!case[mēru][d]],[v*!phi],[[hanako!D],[d!case!N]],[Tpast!phi],[c]]
Stack:[[d[samu][d]]]
SO:[v[suru[d[samu][d]][suru]][v]]

Step 7.

Theta-merge
Merge [v[suru[d..][suru..]][v]] and [d!case[mēru][d]]
Label from [v[suru[d..][suru..]][v]] (edge feature)
Push [d!case[mēru][d]] (unvalued uF) onto stack
Stream:[[v*!phi],[[hanako!D],[d!case!N]],[Tpast!phi],[c]]
Stack:[[d!case[mēru][d]],[d[samu][d]]]
SO:[v[d!case[mēru][d]][v[suru[d[samu][d]][suru]][v]]]

Step 8.

Merge [v*!phi] and [v[d!case[mēru..][d..]][v[suru..][v..]]]
Label from [v*!phi] (head merging with a non-head)
[d!case[mēru][d]] values uPhi on [v*!phi]
[v*] values acc case on [d!case[mēru][d]]
Stream:[[[hanako!D],[d!case!N]],[Tpast!phi],[c]]
Stack:[[d[mēru][d]],[d[samu][d]]]
SO:[v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]

Step 9.

Begin substream
Stream:[[hanako!D],[d!case!N]]
Stack:[]
SO:[]

Step 10.

Merge [d!case!N] and [hanako!D]
Label from [d!case!N] (head with an unvalued uF)
Inherit interpretable [f(phi,[3,sg,n],_G591)] from [hanako!D]
[d!case] values D on [hanako]
[hanako] values N on [d!case]
Stream:[]
Stack:[]
SO:[d!case[hanako][d]]

Step 11.

End substream, SO re-inserted into stream
Stream:[[d!case[hanako][d]],[Tpast!phi],[c]]
Stack:[[d[mēru][d]],[d[samu][d]]]
SO:[v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]

Step 12.

Theta-merge
Merge [v*[v[d..][v..]][v*]] and [d!case[hanako][d]]
Label from [v*[v[d..][v..]][v*]] (edge feature)
Push [d!case[hanako][d]] (unvalued uF) onto stack
Stream:[[Tpast!phi],[c]]
Stack:[pb,[d!case[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[v*[d!case[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]]

Step 13.

Merge [Tpast!phi] and [v*[d!case[hanako..][d..]][v*[v..][v*..]]]
Label from [Tpast!phi] (head merging with a non-head)
[d!case[hanako][d]] values uPhi on [Tpast!phi]
[Tpast] values nom case on [d!case[hanako][d]]
Stream:[[c]]
Stack:[pb,[d[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[Tpast[v*[d[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]][Tpast]]

Step 14.

Merge [Tpast[v*[d..][v*..]][Tpast]] and [d[hanako][d]]
Label from [Tpast[v*[d..][v*..]][Tpast]] (edge feature)
Stream:[[c]]
Stack:[pb,[d[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[Tpast[d[hanako][d]][Tpast[v*[d[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]][Tpast]]]

Step 15.

Merge [c] and [Tpast[d[hanako..][d..]][Tpast[v*..][Tpast..]]]
Label from [c] (head merging with a non-head)
Stream:[]
Stack:[pb,pb,[d[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[c[Tpast[d[hanako][d]][Tpast[v*[d[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]][Tpast]]][c]]

Parse:
Spell-out:
hanako d(nom) mēru d(acc) samu d(dat) suru v v* t(past) c (frontier)
hanako d(nom) mēru d(acc) samu d(dat) suru -ta (after morpheme realization)
hanako d(nom) mēru d(acc) samu d(dat) suru -ta (after affix-hop)
hanako -ga mēru -o samu -ni suru -ta (after morpheme realization, stage 2)
hanako-ga mēru-o samu-ni shita  

Backtrack

Stream:[[c]]
Stack:[pb,[d[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[Tpast[v*[d[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]][Tpast]]
re-doing step 14

Step 16.

Merge [Tpast[v*[d..][v*..]][Tpast]] and [d[mēru][d]]
Label from [Tpast[v*[d..][v*..]][Tpast]] (edge feature)
Stream:[[c]]
Stack:[pb,[d[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[Tpast[d[mēru][d]][Tpast[v*[d[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]][Tpast]]]

Step 17.

Merge [c] and [Tpast[d[mēru..][d..]][Tpast[v*..][Tpast..]]]
Label from [c] (head merging with a non-head)
Stream:[]
Stack:[pb,pb,[d[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[c[Tpast[d[mēru][d]][Tpast[v*[d[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]][Tpast]]][c]]

Parse:
Spell-out:
mēru d(acc) hanako d(nom) samu d(dat) suru v v* t(past) c (frontier)
mēru d(acc) hanako d(nom) samu d(dat) suru -ta (after morpheme realization)
mēru d(acc) hanako d(nom) samu d(dat) suru -ta (after affix-hop)
mēru -o hanako -ga samu -ni suru -ta (after morpheme realization, stage 2)
mēru-o hanako-ga samu-ni shita  

Backtrack

Stream:[]
Stack:[pb,pb,[d[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[c[Tpast[d[hanako][d]][Tpast[v*[d[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]][Tpast]]][c]]
re-doing step 16

Step 18.

Merge [Tpast[v*[d..][v*..]][Tpast]] and [d[samu][d]]
Label from [Tpast[v*[d..][v*..]][Tpast]] (edge feature)
Stream:[[c]]
Stack:[pb,[d[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[Tpast[d[samu][d]][Tpast[v*[d[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]][Tpast]]]

Step 19.

Merge [c] and [Tpast[d[samu..][d..]][Tpast[v*..][Tpast..]]]
Label from [c] (head merging with a non-head)
Stream:[]
Stack:[pb,pb,[d[hanako][d]],[d[mēru][d]],[d[samu][d]]]
SO:[c[Tpast[d[samu][d]][Tpast[v*[d[hanako][d]][v*[v[d[mēru][d]][v[suru[d[samu][d]][suru]][v]]][v*]]][Tpast]]][c]]

Parse:
Spell-out:
samu d(dat) hanako d(nom) mēru d(acc) suru v v* t(past) c (frontier)
samu d(dat) hanako d(nom) mēru d(acc) suru -ta (after morpheme realization)
samu d(dat) hanako d(nom) mēru d(acc) suru -ta (after affix-hop)
samu -ni hanako -ga mēru -o suru -ta (after morpheme realization, stage 2)
samu-ni hanako-ga mēru-o shita  

3 derivations found.
Computational Cost:
Merge: 15, Agree: 12, Unify: 0, Push: 3, Pop: 0 Depth cost: 30
Step:012345678910111213141516171819
Stack depth:00110012200244454545

Back to top