Optimality Constraint Archive

Welcome to the Optimality Constraint Archive. There are only a few example constraints right now, pending translation of more from existing Lisp code.

Right now you can do a little Recursive Constraint Demotion, or some T-Order Generation. If neither of these is interesting, you can browse the current constraints below. Someday this whole system will become a freely editable wiki so people can add their own constraints and definitions. In the meantime, what appears to be a database is actually just gleaned from code, but you are welcome to mail patches to ncsander@indiana.edu

Constraints

Max-IO
Superset OfMax-IO<Segment>, Max-IO<Feature>
See AlsoMax-BR, other OO constraints
Subset OfMax
NameMax-IO
DescriptionEvery segment in the input must appear in the output
Onset
Useful in Analysis OfSyllables
NameOnset
DescriptionAll syllables must have an onset
Dep-IO
Superset OfDep-IO<Segment>, Dep-IO<Feature>
Subset OfDep
NameDep-IO
DescriptionEvery segment in the output must appear in the input
*Low
Denigrated ByBasically Everybody
FrameworkShameless Ad Hockery
Name*Low
Proposed BySanders (20x6)
DescriptionThis is a fake constraint necessary for the fake test of RCD I am using. A better example following McCarthy's Thematic Guide is soon coming.
OCP-Coronal
Denigrated ByOther Person (1998a) (1998b) (1998c)
FrameworkClassic OT, others
NameOCP-Coronal
Proposed ByPlaceholder (1997)
DescriptionPrevent two coronals from occurring next to each other

Note: the Name field should really be HTML Name; there are (ideally) three names for each constraint: code name, HTML name and LaTeX name.

Source

The source for this site is released under the GPL, except for the utility library, which is released under the revised BSD licence. What this means is that you may copy and distribute the code, and use it in new programs as long as they include the source code. You can do whatever you want with the utilities.

The formal constraint definitions are Python functions that return the number of violations incurred, from 0 to infinity. It is possible to return a negative number, but this is an error, at least in classic OT. The metadata about each constraint is stored as key=value pairs in the docstring, but this is not really scalable and will probably be replaced by a database soon. In particular, the proper setup would allow a wiki to interface with the constraint database so anyone could add constraints.