McCarthy & Prince (1995): Faithfulness and Reduplicative Identity #
@cite{mccarthy-prince-1995}
Formalizes the core empirical results of Correspondence Theory: the interaction between I-O faithfulness, B-R identity, and phonological markedness produces three typological patterns in the Basic Model — non-application, emergence of the unmarked, and overapplication — via ranking permutation of universal constraints. A fourth pattern, normal application, requires additional candidates beyond the Basic Model and is demonstrated by concrete language examples.
The paper's most striking theoretical result (§5) is that
underapplication is not a Basic Model category: no ranking of the
three core constraints can produce it. We prove this as
basic_model_no_underapplication.
Sections (keyed to the paper's numbering) #
- §3.4: Javanese intervocalic h-deletion — the paper's signature example of overapplication (ex. 1, 6–7).
- §4.2: Balangao partial reduplication — emergence of the unmarked (ex. 106–107). MAX-IO >> NO-CODA >> MAX-BR.
- §4: Basic Model factorial typology — the abstract 3-constraint interaction space. All 6 rankings of {IO-Faith, Phono, BR-Id} are computed; the distinct optima are verified.
- §5: Underapplication impossibility — the Basic Model cannot produce underapplication; every ranking selects faithful, over, or normal.
- §5.1: Akan underapplication — a 4th constraint (OCP) blocks overapplication, producing underapplication. Demonstrates the mechanism predicted by the Basic Model impossibility result.
Javanese h-deletion (ex. 1, 6-7) #
Javanese disallows h between vowels (*VhV). In reduplication, h is lost in both base and reduplicant (overapplication): the expected form *bədah–bəda–e is avoided in favor of bəda–bəda–e, maintaining B-R identity at the cost of I-O faithfulness.
Ranking: IDENT-BR, *VhV >> MAX-IO
Candidates for RED-bədah + -e in Javanese.
Each represents a different resolution of the *VhV vs. B-R identity
conflict.
- over : JavaneseCand
- under : JavaneseCand
- normal : JavaneseCand
Instances For
Equations
- McCarthyPrince1995.instDecidableEqJavaneseCand x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
IDENT-BR: penalizes featural mismatch between base and reduplicant. Only the normal candidate has B ≠ R (B retains h, R lacks it).
Equations
- McCarthyPrince1995.javIdentBR = Phonology.Constraints.mkIdent "IDENT-BR" fun (x : McCarthyPrince1995.JavaneseCand) => x = McCarthyPrince1995.JavaneseCand.normal
Instances For
MAX-IO: I-O faithfulness — penalizes deletion from the input.
Only the over candidate deletes h from the input stem.
Equations
- McCarthyPrince1995.javMaxIO = Phonology.Constraints.mkMax "MAX-IO" fun (x : McCarthyPrince1995.JavaneseCand) => x = McCarthyPrince1995.JavaneseCand.over
Instances For
Skeletal ranking for overapplication (ex. 7): IDENT-BR, *VhV >> MAX-IO
Equations
Instances For
Overapplication wins in Javanese: the doubly h-lacking form bəda–bəda–e is optimal under IDENT-BR, *VhV >> MAX-IO.
This is the paper's central empirical result: B-R identity and phonological markedness both outrank I-O faithfulness, so the output sacrifices faithfulness to achieve both identity and phonological well-formedness.
Grounding the Javanese tableau in Corr #
The constraints javMaxIO, javIdentBR, javStarVhV above stipulate
violation counts via λ-tables. This section adds the structural
substrate: each candidate is associated with a
Corr Phonology.Correspondence.RedupRole Seg recording the input → base /
base ↔ reduplicant correspondences. MAX-IO and "IDENT-BR" violation
counts are then derived from Corr.maxViol rather than stipulated.
The 3-role substrate (RedupRole, Corr.reduplication,
Reduplication.maxIO/maxBR) lives in
Theories/Phonology/OptimalityTheory/Correspondence.lean — paper-agnostic
and reusable across reduplicative studies (Balangao, Akan, Tagalog, …).
This section supplies only the Javanese-specific data + agreement theorems.
(*VhV remains a markedness constraint with no Corr-derived form
— markedness is structural over a single output, not a correspondence
relation.)
Equations
- McCarthyPrince1995.JavaneseCorr.instDecidableEqSeg x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
The input stem /bədah/ (5 segments).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The base output [bəda] (h deleted, 4 segments). For .over.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Corr for the over candidate: h deleted from base and
reduplicant.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Corr for the under candidate: h preserved everywhere.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Corr for the normal candidate: h preserved in base, not
in reduplicant. The default Corr.reduplication constructor uses
parallel-pair correspondence truncated to min-length, which gives
the right BR-MAX count (1 violation: base position 4 = h has no R
correspondent).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Each candidate's structural Corr representation.
Equations
- McCarthyPrince1995.JavaneseCorr.toCorr McCarthyPrince1995.JavaneseCand.over = McCarthyPrince1995.JavaneseCorr.overCorr
- McCarthyPrince1995.JavaneseCorr.toCorr McCarthyPrince1995.JavaneseCand.under = McCarthyPrince1995.JavaneseCorr.underCorr
- McCarthyPrince1995.JavaneseCorr.toCorr McCarthyPrince1995.JavaneseCand.normal = McCarthyPrince1995.JavaneseCorr.normalCorr
Instances For
Structural derivation of MAX-IO: the Corr-derived MAX-IO
violation count equals the original stipulated javMaxIO.eval.
The deletion-based stipulation (mkMax "MAX-IO" (· = .over)) now
follows from the structural fact that over's base lacks an
input correspondent.
Structural derivation of "IDENT-BR": the original constraint
(mkIdent "IDENT-BR" (· = .normal)) is empirically MAX-BR — it
penalizes the normal candidate's base-only h (which has no R
correspondent). The structural count from Corr.maxViol .base .reduplicant
matches the stipulation.
The Javanese tableau as NamedConstraint (Corr RedupRole Seg)s.
These are direct uses of the paper-agnostic
Phonology.Correspondence.Reduplication.maxIO / maxBR — no
Javanese-specific constraint construction needed.
Equations
Instances For
Equations
Instances For
Balangao partial reduplication (ex. 106-107) #
Balangao has a disyllabic prefixed reduplicant without a final coda: /RED-tagtag/ → tagta–tagtag, not *tagtag–tagtag. The reduplicant obeys NO-CODA even though the base (and the language generally) permits codas. This is emergence of the unmarked: a marked structure (codas) is avoided in the reduplicant because B-R identity is low-ranked.
Ranking (ex. 107): MAX-IO >> NO-CODA >> MAX-BR
Candidates for /RED-tagtag/ in Balangao. Violation counts from the paper's tableau (ex. 106).
- totalFaithful : BalangaoCand
- totalRedup : BalangaoCand
- partialRedup : BalangaoCand
Instances For
Equations
- McCarthyPrince1995.instDecidableEqBalangaoCand x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
MAX-IO: penalizes deletion from input.
Only totalFaithful deletes a segment from the base.
Equations
- One or more equations did not get rendered due to their size.
Instances For
NO-CODA: markedness constraint against syllable codas. Violation counts from the tableau (ex. 106):
- totalFaithful (tagta–tagta): 2 codas (medial g in each half)
- totalRedup (tagtag–tagtag): 4 codas
- partial (tagta–tagtag): 3 codas (2 in base, 1 in R medial)
Equations
- One or more equations did not get rendered due to their size.
Instances For
MAX-BR: B-R identity — penalizes incomplete copying.
Only partial has a segment in the base without a correspondent
in the reduplicant (the final coda).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ranking for emergence of the unmarked (ex. 107): MAX-IO >> NO-CODA >> MAX-BR
Equations
Instances For
Emergence of the unmarked in Balangao: the partial reduplicant tagta–tagtag is optimal under MAX-IO >> NO-CODA >> MAX-BR.
The reduplicant is coda-free even though the base and the language generally permit codas — because B-R identity (MAX-BR) is low-ranked, the unmarked (coda-free) structure emerges in the reduplicant.
Grounding the Balangao tableau in Corr #
Mirroring the Javanese §1.5 refactor: the MAX-IO and MAX-BR violation
counts now follow from the structural correspondence diagram via
Corr.maxViol, rather than being stipulated as λ-tables. NO-CODA is
markedness over a single output and stays as the original stipulation.
Equations
- McCarthyPrince1995.BalangaoCorr.instDecidableEqSeg x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
The input stem /tagtag/ (6 segments).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The faithful base output [tagtag] (6 segments). For
.totalRedup and .partialRedup.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The deleted base output [tagta] (5 segments, final g deleted).
For .totalFaithful (counter-intuitively named: it deletes from
the input to make the base match the reduplicant's coda-less shape).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The full reduplicant [tagtag] (6 segments) for .totalRedup.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The partial (coda-less) reduplicant [tagta] (5 segments) for
.totalFaithful and .partialRedup.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Corr for the totalFaithful candidate: input deleted to fit
the coda-less shape (1 MAX-IO violation); B = R structurally.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Corr for the totalRedup candidate: full faithful copy
everywhere; 0 MAX-IO, 0 MAX-BR violations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Corr for the partialRedup candidate: faithful base, but
reduplicant misses the final coda (1 MAX-BR violation, 0 MAX-IO).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Each candidate's structural Corr representation.
Equations
- McCarthyPrince1995.BalangaoCorr.toCorr McCarthyPrince1995.BalangaoCand.totalFaithful = McCarthyPrince1995.BalangaoCorr.totalFaithfulCorr
- McCarthyPrince1995.BalangaoCorr.toCorr McCarthyPrince1995.BalangaoCand.totalRedup = McCarthyPrince1995.BalangaoCorr.totalRedupCorr
- McCarthyPrince1995.BalangaoCorr.toCorr McCarthyPrince1995.BalangaoCand.partialRedup = McCarthyPrince1995.BalangaoCorr.partialRedupCorr
Instances For
Structural derivation of MAX-IO: the Corr-derived MAX-IO
violation count equals the original stipulated balMaxIO.eval.
Structural derivation of MAX-BR: the Corr-derived MAX-BR
violation count equals the original stipulated balMaxBR.eval.
Basic Model (§4) #
The Basic Model has faithfulness constraints on two correspondence dimensions — I-O faithfulness and B-R identity — interacting with a phonological markedness constraint ("Phono-Constraint"). Permuting the three constraints produces the factorial typology.
We model this with an abstract candidate type carrying violation profiles, and verify the distinct optima across all 6 rankings.
Abstract candidate for the Basic Model interaction space. Each candidate represents a different resolution of the three-way conflict between I-O faithfulness, phonological well-formedness, and B-R identity.
faithful: preserves input, B=R, but phonologically markedover: unfaithful to input, B=R, but phonologically unmarkednormal: preserves input, phonologically unmarked in R, but B≠R
Instances For
Equations
- McCarthyPrince1995.instDecidableEqBasicCand x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Non-application ranking (ex. 104): IO-Faith, BR-Id >> Phono. The faithful candidate wins — phonology cannot affect anything.
Non-application (symmetric): BR-Id, IO-Faith >> Phono. Same outcome — faithful candidate wins regardless of IO/BR order.
Emergence of the unmarked (ex. 105): IO-Faith >> Phono >> BR-Id. The normal candidate wins — phonology affects the reduplicant (low BR-Id), but the base is protected (high IO-Faith).
Overapplication: Phono >> IO-Faith >> BR-Id. The over candidate wins — phonological unmarking applies to both B and R, sacrificing IO faithfulness.
Overapplication: Phono >> BR-Id >> IO-Faith. Same outcome — phonology dominates.
Overapplication: BR-Id >> Phono >> IO-Faith. B-R identity copies phonological effects to both B and R.
Factorial typology summary: all 6 rankings of 3 constraints produce
exactly 3 distinct optima — faithful (non-application), normal
(emergence of the unmarked), and over (overapplication).
The 4th interaction type from the paper — normal application — requires additional candidates (where phonology targets the reduplicant independently) and is demonstrated by the Balangao and Tagalog examples in §§3-5 rather than the abstract model.
Underapplication is not a Basic Model category (§5) #
@cite{mccarthy-prince-1995} §5 argues that underapplication cannot emerge from the Basic Model. Unlike overapplication and emergence of the unmarked, which follow from ranking permutations of {IO-Faith, Phono, BR-Id}, underapplication requires an additional independent constraint (like the OCP in Akan) that blocks the overapplicational candidate. In the Basic Model, B-R identity can restrict the candidate set to B=R pairs, but within that set the choice between over and under is determined by Phono-Constraint — and Phono-Constraint always prefers the phonologically unmarked form (= over), never the marked form (= under).
The factorial typology theorem already proves this: .faithful (non-
application), .over (overapplication), and .normal (emergence of the
unmarked) are the only optima. No ranking produces a 4th outcome.
Underapplication impossibility: every ranking of the Basic Model
selects one of faithful, over, or normal. No ranking can select
an underapplicational candidate because the Basic Model has no
independent blocking constraint to exclude overapplication.
This is the formal content of @cite{mccarthy-prince-1995} §5's argument that underapplication requires an additional constraint beyond the three in the Basic Model.
The factorial typology produces exactly 3 distinct language types, not 4 — confirming that underapplication is absent from the Basic Model.
Akan underapplication (ex. 125, 130–131) #
Akan has a monosyllabic reduplicative prefix with a high vowel. Palatalization (velar → palatal before front vowels) is productive in the language but fails to apply in reduplication: /RED-ka/ surfaces as kɪ–ka, not *tɕɪ–tɕa (overapplication) or *tɕɪ–ka (normal application).
This is underapplication: a process that normally applies (PAL) is blocked in reduplication. The mechanism is a 4th constraint — OCP(+cor) — that blocks the overapplicational candidate. Since B-R identity (IDENT-BR) is high-ranked, normal application is also blocked, leaving underapplication as the only survivor.
Ranking (ex. 129, 131): OCP(+cor) >> IDENT-BR(−cor) >> PAL >> IDENT-IO(−cor)
This confirms the Basic Model impossibility result: underapplication requires a blocking constraint (here OCP) beyond the three in the Basic Model.
Equations
- McCarthyPrince1995.instDecidableEqAkanCand x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- McCarthyPrince1995.instReprAkanCand = { reprPrec := McCarthyPrince1995.instReprAkanCand.repr }
OCP(+cor): prohibits cooccurrence of [+coronal] segments in successive syllables. The overapplicational candidate tɕɪ–tɕa has coronal obstruents in both syllables of the output.
Violation counts from tableau (131):
- over (tɕɪ–tɕa): 2 violations (coronal in each syllable of B+R)
- normal (tɕɪ–ka): 0
- under (kɪ–ka): 0
Equations
- One or more equations did not get rendered due to their size.
Instances For
IDENT-BR(−cor): B-R identity for the [−coronal] feature. Penalizes featural mismatch between base and reduplicant consonants. Only the normal candidate has B ≠ R (R has palatalized tɕ, B retains velar k).
Violation counts from tableau (131):
- over (tɕɪ–tɕa): 0 (B = R)
- normal (tɕɪ–ka): 1 (R ≠ B in coronal feature)
- under (kɪ–ka): 0 (B = R)
Equations
- One or more equations did not get rendered due to their size.
Instances For
PAL: palatalization constraint — velars must be palatalized before front vowels. The underapplicational candidate kɪ–ka has a velar before the front vowel ɪ in the reduplicant.
Violation counts from tableau (131):
- over (tɕɪ–tɕa): 0
- normal (tɕɪ–ka): 0
- under (kɪ–ka): 1 (velar k before front vowel ɪ)
Equations
- One or more equations did not get rendered due to their size.
Instances For
IDENT-IO(−cor): I-O faithfulness for the [−coronal] feature. Penalizes changing the coronal specification of an input segment. Only the overapplicational candidate changes the base consonant from velar to palatal (unfaithful to input /k/).
Violation counts from tableau (131):
- over (tɕɪ–tɕa): 1 (input /k/ → output tɕ in base)
- normal (tɕɪ–ka): 0
- under (kɪ–ka): 0
Equations
- One or more equations did not get rendered due to their size.
Instances For
Ranking for Akan underapplication (ex. 129, 131): OCP(+cor) >> IDENT-BR(−cor) >> PAL >> IDENT-IO(−cor)
Equations
Instances For
Underapplication wins in Akan: the non-palatalized form kɪ–ka is optimal under OCP(+cor) >> IDENT-BR(−cor) >> PAL >> IDENT-IO(−cor).
This is the paper's key demonstration that underapplication requires a 4th blocking constraint (OCP) beyond the Basic Model's three: OCP blocks overapplication, IDENT-BR blocks normal application, leaving underapplication as the only surviving candidate.
Grounding the Akan tableau in phonological features #
The violation counts in §5 are grounded in the featural representations
from Fragments.Akan.Phonology. The key connection: palatalization is
a [coronal] feature change (/k/ [−cor] → /tɕ/ [+cor]), and the four
constraints target exactly this feature dimension.
- OCP(+cor): violated by adjacent [+coronal] segments — i.e., /tɕ/
in successive syllables. Only the
overcandidate has this. - IDENT-BR(−cor): violated when B and R differ in [coronal]. Only
normal(R has /tɕ/, B has /k/). - PAL: violated when a velar ([−coronal]) precedes a front vowel
without palatalizing. Only
under(/kɪ/). - IDENT-IO(−cor): violated when the output changes an input segment's
[coronal] value. Only
over(input /k/ → output /tɕ/ in base).
The over candidate's OCP violation is grounded: /tɕ/ is [+coronal],
so two /tɕ/ in successive syllables violate OCP(+cor).
The normal candidate's IDENT-BR violation is grounded: the
reduplicant has /tɕ/ ([+cor]) but the base has /k/ ([−cor]) — a
featural mismatch on [coronal].
The under candidate's PAL violation is grounded: /k/ is [−coronal]
and /ɪ/ is [+front] — a velar before a front vowel without
palatalization.
The over candidate's IDENT-IO violation is grounded: input /k/
is [−coronal] but output /tɕ/ is [+coronal] — an IO faithfulness
violation on the [coronal] feature.
Grounding the Akan tableau in Corr via featural IDENT #
Mirroring the Javanese §1.5 / Balangao §2.5 refactors, with one addition:
Akan's IDENT-BR(-cor) and IDENT-IO(-cor) are featural faithfulness
constraints on the [coronal] feature, not segmental identity. This
section uses Corr.identViolFeature with a coronal projection to
derive the constraint values structurally.
This is the first study file to exercise Corr.identViolFeature
(introduced in 0.230.217). Successful agreement theorems here validate
the featural-IDENT pattern for any future paper using IDENT-[F]
constraints.
Equations
- McCarthyPrince1995.AkanCorr.instDecidableEqSeg x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
The [coronal] feature projection. Vowels are false (out of the
relevant natural class for this paradigm; their featural value
doesn't enter the IDENT-[coronal] computation).
Equations
- McCarthyPrince1995.AkanCorr.coronal McCarthyPrince1995.AkanCorr.Seg.k = false
- McCarthyPrince1995.AkanCorr.coronal McCarthyPrince1995.AkanCorr.Seg.tCpal = true
- McCarthyPrince1995.AkanCorr.coronal McCarthyPrince1995.AkanCorr.Seg.a = false
- McCarthyPrince1995.AkanCorr.coronal McCarthyPrince1995.AkanCorr.Seg.iSmCap = false
Instances For
Input /ka/.
Equations
Instances For
The Corr for the over candidate: palatalization in both B and R.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Corr for the normal candidate: palatalization in R only.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Corr for the under candidate: no palatalization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Each candidate's structural Corr representation.
Equations
- McCarthyPrince1995.AkanCorr.toCorr McCarthyPrince1995.AkanCand.over = McCarthyPrince1995.AkanCorr.overCorr
- McCarthyPrince1995.AkanCorr.toCorr McCarthyPrince1995.AkanCand.normal = McCarthyPrince1995.AkanCorr.normalCorr
- McCarthyPrince1995.AkanCorr.toCorr McCarthyPrince1995.AkanCand.under = McCarthyPrince1995.AkanCorr.underCorr
Instances For
Structural derivation of IDENT-IO(-cor) via featural IDENT on
the (.input, .base) edge. Input /k/ → base /tɕ/ is the only IO
coronal mismatch; only over violates.
Structural derivation of IDENT-BR(-cor) via featural IDENT on
the (.base, .reduplicant) edge. Only normal has B/R coronal
mismatch (B has /k/ [-cor], R has /tɕ/ [+cor]); the vowels' coronal
values agree (both [-cor] in this featural inventory).
Each tableau lifts to a generic ConstraintSystem via tableauSystem.
For these deterministic OT analyses, the unique-winner pattern collapses
the argminDecoder distribution to probability 1 on the winner.
Javanese overapplication tableau as a generic ConstraintSystem.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The OT prediction lifts: the overapplicational candidate is assigned probability 1 under IDENT-BR, *VhV >> MAX-IO.
Balangao emergence-of-the-unmarked tableau as a generic ConstraintSystem.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The OT prediction lifts: the partial-reduplicant candidate is assigned probability 1 under MAX-IO >> NO-CODA >> MAX-BR.
Akan underapplication tableau as a generic ConstraintSystem.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The OT prediction lifts: the underapplicational candidate is assigned probability 1 under OCP(+cor) >> IDENT-BR(−cor) >> PAL >> IDENT-IO(−cor).