Joint work with Jason Ginsburg.
Link to Jason's theory modeling page, including independently-developed Python code, is here
The Minimalist Machine is a computer implementation of a theory within the Minimalist Program.
The project has several goals:
Note: a new parser based on the SMT design principle is described here.
John1 considers himself1 to be
intelligent (Kayne-style Doubling Constituent (DC) analysis)
Stream: [john, d, he, self, intelligent, v_be, 'Tinf',
consider, 'v*', 'T', c] derives:
c d John T(pres,[3,pl])
vunerg think T(pres,[3,pl]) ce
d he | (frontier) |
John -s think that he -s be smart | (after morpheme realization) |
John think -s that he be -s smart | (after affix-hop) |
John think -s that he be -s smart | (after morpheme realization, stage 2) |
John thinks that he is smart | (spellout) |
See full derivation for the example here.
Note: strikethrough, e.g. self he
d John, is used to indicate unpronounced copies.
There are likely to be several prizes awarded
(expletive passive with leftwards TH/EX) (Chomsky 2001)
Stream: [prizes, several, award, prt, 'v~', there, 'Tinf',
likely, v_be, 'T', c] derives:
c there T(pres,[3,pl]) vbe likely to v~ several prizes prt award | (frontier) |
there -re be likely to be several prizes -en award | (after morpheme realization) |
there be -re likely to be several prizes award -en | (after affix-hop) |
there be -re likely to be several prizes award -en | (after morpheme realization, stage 2) |
there are likely to be several prizes awarded | (spellout) |
Core architecture highlights:
A small set of primitive operations may apply to
a current syntactic object (SO) and a stream of heads.
If no
matching operation is available, the derivation crashes.
Structure is recursively built by Merge in two possible
configurations:
(1) current SO + head of stream = external
merge.
(2) current SO + sub-SO = internal merge.
Heads may probe (within the current SO) for matching features on
a goal at the time of external merge.
A list of available goals are
maintained on a stack.
(There is no explicit search of the
current SO.)
A probe may agree with multiple goals, e.g. phi-complete T
may value nom Case for prt and a sentential object.
In turn, a goal may value uPhi on multiple probes, eg. prt and
T.
A probe may simultanously probe for multiple uFeatures,
e.g. cQ has both uWh and uT.
Multiple uFeatures may be simultanously valued by corresponding
iFeatures on one goal (economy).
Alternatively, multiple uFeatures may be valued by iFeatures on
different goals.
A spell-out component is included for English. Supports verbal inflection, do-support, and that-insertion.
Merge takes place repeatedly to derive a single syntactic object
(SO) in a Workspace (WS).
Generally, there may be several WSs involved in building a
parse. For example, the External Argument (EA) is formed in its own
sub-WS, then Merged with the main WS containing the Internal
Argument (IA) and verbal structure (R, v*, T and C).
FormSet may be used construct a set containing a finite number of matching syntactic objects formed independently in sub-WSs.
Examples:
Head | uFeatures | iFeatures | Other | Spellout (English) |
---|---|---|---|---|
v* | phi:Person,Number | ef(theta) value acc Case |
||
vunerg | ef(theta) | |||
prt | phi: Number Case |
ef | -ed | |
v~, v~unacc | ef check theta |
be | ||
vbe | ef Preference: move over external merge |
be | ||
v | have | |||
prog | ef | -ing | ||
perf | -en | |||
vRoot | lexical verbs (selected by a v) |
|||
T | phi:Person,Number | ef value nom Case |
[1.sg]: -m, [2:sg]: -re, [3:sg]: -s,
[_,pl]: -re |
|
Head | uFeatures | iFeatures | Other | Spellout (English) |
Tpast | phi:Person,Number | ef value nom Case |
[1,sg]: -ed(sg), [1,pl]: -ed(pl),
[2,_]: -ed(pl), [3,sg]: -ed(sg), [3,pl]: -ed(pl) |
|
Tinf | phi:Person,Number | ef value null Case |
to | |
c | Local Extent (LE) head | |||
cQe | Wh T |
ef(wh) LE head |
||
cQ, ceQ | Wh T |
ef LE head |
do | |
ce | T | ef LE head |
||
q | Case N |
phi:Person,Number Wh theta |
||
d | Case N |
phi:Person,Number theta |
value uD | |
self | Case N |
phi:Person,Number theta |
LE head
release |
-self (suffix) |
Head | uFeatures | iFeatures | Other | Spellout (English) |
there | phi:Person | noProject | there (expletive) | |
's | Case N |
phi:Person,Number theta |
ef(theta)
LE head |
's |
it | Case | phi:[3,sg] | noProject | it (expletive) |
nRoot | D | phi:[3,sg] | value uN | lexical nouns (phi-fs will percolate up) |
G | ef(theta) | |||
to, from, on | ef(theta) value obq Case |
to, from, on (dyadic preposition) | ||
to, from, on .. | value obq Case | to, from, on .. (preposition) | ||
crel | rel T |
ef LE head |
||
drel | Case N |
phi:Person, Number theta rel |
cannot value uT cannot value uD |
|
whichrel, whatrel | Case, N | phi:Person, Number theta rel |
value uT cannot value uD |
which, what |
Notes:
For full step-by-step derivations, visit the following links.
(These webpages are automatically generated by my system.)
(Also, please visit Jason Ginsburg's page
for Jason's derivations.)
Section | Link |
---|---|
Basic sentence patterns
(Updated: Sep 21st 2015. Latest run: Sep 16th 2023.) |
link |
Derivation by Phase. Chomsky (2001).
(Updated: Sep 21st 2015. Latest run: Sep 16th 2023.) |
link |
On Phases. Chomsky (2008).
(Updated: September 21st 2015.) |
link |
T-to-C Movement: Causes and Consequences. Pesetsky &
Torrego (2001).
(Updated: September 21st 2015) |
link |
Explaining TH/EX (Sobin, 2014) and TH/EX, Agreement, and Case in Expletive Sentences (Sobin, Syntax: to appear). (Updated: September 21st 2015) |
link |
Computation with doubling constituents: Pronouns and antecedents in
Phase Theory. (Fong & Ginsburg, 2012).
(Updated: September 21st 2015) |
link |
Modeling of Coreference Relations in Multi-Object
Constructions. (Fong & Ginsburg, 2012b).
(Updated: September 21st 2015.) |
link |
A New Approach to Tough-Constructions (Fong & Ginsburg,2014).
(1) Doubling constituent approach
(Updated: September 21st 2015.) |
link1 |
A New Approach to Tough-Constructions (Fong & Ginsburg,2014).
(2) Case Theoretic approach.
(Updated: September 21st 2015.) |
link2 |
On the computational modeling of English relative clauses (Fong & Ginsburg, 2023).
(Updated: Sept 21st 2015, Sep 17th 2023. Latest run: Sep 18th 2023.) |
link |
A Minimalist account of reconstruction asymmetries (Munn, 1994).
(Updated: September 21st 2015.) |
link |
Test cases from A Course in GB Syntax (Lasnik &
Uriagereka,1988).
(Updated: September 21st 2015.) |
link |
Some Arabic examples (Monica Larcom & Sandiway Fong)
(Updated: April 24th 2015.) |
link |
Some Japanese examples (Gustave Hahn-Powell & Sandiway Fong) | link |
Persian (Trevor Sullivan & Sandiway Fong)
March 12th 2016. |
link |
Relative clause examples from Keenan 1987 (Fong & Ginsburg, ms.)
March 9th 2019. |
link |
Relative clause examples from Sag 1997 (Fong & Ginsburg, ms.)
August 22nd 2020. |
link |
Additional relative clause examples, including use of FormSet
August 7th 2023. |
link |
(IN PRESS) | On the computational modeling of English relative
clauses. Fong, S. and J. Ginsburg.
Appendix: containing a list of Minimalist Machine operations and full derivations for all examples in the paper. |
48 pages. Draft: RelClauseOL_vers18.pdf, Open Linguistics, De Gruyter. |
2019 | Towards a Minimalist Machine. Fong, S. and J. Ginsburg. In Minimalist Parsing Stabler, E.J. and R.C. Berwick (eds.). Oxford. | 23 pages. Draft: 02-Berwick-Ch02-drv.pdf |
2019 | Combining linguistic theories in a Minimalist Machine. Ginsburg, J. and S. Fong. In Minimalist Parsing Stabler, E.J. and R.C. Berwick (eds.). 39-68. Oxford University Press. | 30 pages. Draft: 03-Berwick-Ch03-drv.pdf |
2013 | A New Approach to Tough-Constructions. Fong, S. and J. Ginsburg. In Proceedings of the 31st West Coast Conference on Formal Linguistics (WCCFL 31) Santana-LaBarge, R.E. (ed.). 180-188.Cascadilla Proceedings Project. | 9 pages. paper3020.pdf |
The Minimalist Machine runs on macOS, Linux and Windows. Pre-compiled binaries are available.
It has a Graphical User Interface (GUI) built in Javascript/HTML that runs in any modern browser.
The theory is implemented in Prolog. We rely on the freely available SWI-Prolog, currently version 9, which you should also install. This code runs in a Terminal window.
The browser and the Prolog code communicate via a Websocket (WS) interface. Nothing extra needs to be installed for this.
Interested?
Download Machine.zip (3,178,802 bytes, uploaded 8/7/2023, the .zip file is a compressed directory).The Instructions tab has detailed step-by-step instructions on how to run the code.
Download the Software first. Then go here for easy, step-by-step instructions.
A general glossary of terms is available here.