Yolyan (2025): A Logical Characterization of Weak Determinism as Simultaneous Application #
This file formalizes Yolyan's definition of the weakly deterministic string functions
as the simultaneous application P^L ⊙ P^R of a backward and a forward Boolean monadic
recursive scheme (Def. 5.1), in the BMRS formalism of Bhaskar, Jardine, Chandlee and Oakden
(Subregular.BMRS), whose one-sided fragments characterize the left- and right-subsequential
functions. The operator ⊙ (Def. 4.1) acts per position on the input value and the two
programs' output values, so that a change survives iff either program makes it (Prop. 4.2);
SimulModels lifts it to programs (Def. 4.3) for the length-preserving maps of §5, and
IsBmrsWeaklyDeterministic is Def. 5.1.
The negative results of §5.3 share one argument. On a far-left and on a far-right
perturbation of a witness word the target is unchanged, so ⊙ is conjunction there and both
one-sided outputs are forced true; each transports to the base word by one-sided locality, and
recombining forces the base target unchanged.
not_isBmrsWeaklyDeterministic_of_requiresBothSides proves this once from the substrate's
RequiresBothSides witness, and Sour Grapes harmony (Thm. 5.2, the conjecture of
Heinz and Lai), Copperbelt Bemba high-tone spreading (Prop. 5.4) and Tutrugbu ATR harmony
(Prop. 5.5, through McCollumEtAl2020) are its instances. On the positive side, with no
underlying stress the input predicate is constantly false and ⊙ collapses to disjunction,
(5.15), which recovers Koser and Jardine's program for leftmost-heavy-otherwise-leftmost
stress in Lushootseed as the simultaneous application of its two one-sided halves (§5.2). The
conjunctive dual ⊘ of §6.3 (Def. 6.5) expresses Sour Grapes exactly (sourGrapes_conjunctive).
Implementation notes #
- ⊙ and ⊘ are stated on values (
combine,combineC), where the algebra of Prop. 4.4 is a finite computation; the program-level operators lift them pointwise. Copy sets are omitted, as none of the §5 maps needs them. - The head types of the two programs are unconstrained, which only strengthens the negative
results. The exclusion uses the
d = 0instance of the witness, since one-sidedness is global rather than window-bounded. - Bemba spreading is a
Tone.Surfacinginstance built from the paper's characterization: a high spreads to the word end when no high follows it, and onto the next two tone-bearing units when one does. Unlike plateauing, the surface set is not convex and the map is neither monotone nor idempotent. The words of Example 2.11 are inData/Forms/Yolyan2025.json, their tones read off the accents; the Tutrugbu words of Example 2.12 are McCollum et al.'s, andData/Forms/McCollumEtAl2020.jsoncites them. - Thm. 5.2 settles Heinz and Lai's conjecture under Def. 5.1; under their own definition Lamont, O'Hara and Smith express Sour Grapes as a composition of contradirectional subsequential functions.
TODO #
- Thm. 5.3 (Yidiny liquid dissimilation) awaits a map for that pattern.
References #
Simultaneous application, at the value level #
Def. 4.1 (⊙) and Def. 6.5 (⊘) act per input position on the input value and the two programs' output values; the program-level operators lift these pointwise.
Simultaneous application ⊙ on values (Def. 4.1) keeps a change iff either program makes it.
Equations
- Yolyan2025.combine pin a b = if pin = true then a && b else a || b
Instances For
Conjunctive simultaneous application ⊘ on values (Def. 6.5) keeps a change iff both programs make it.
Equations
- Yolyan2025.combineC pin a b = if pin = true then a || b else a && b
Instances For
On a true input, ⊙ is conjunction.
On a false input, ⊙ is disjunction, the collapse behind (5.15).
On a true input, ⊘ is disjunction.
On a false input, ⊘ is conjunction.
A ⊙-value differs from the input iff one of the components does (Prop. 4.2).
⊙ is commutative (Prop. 4.4 (i)).
The input itself is a ⊙-identity (Prop. 4.4 (iii)).
⊘ is the De Morgan dual of ⊙, negating the two output values but not the input.
Weak determinism as simultaneous application (Defs. 4.1, 4.3, 5.1) #
b is the value of the ⊙-combined output predicate for σ at i (Def. 4.1), the two
programs' output values combined against the input value.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The simultaneous application P^L ⊙ P^R models f (Def. 4.3, for the length-preserving
maps of §5) when each output symbol is the one whose ⊙-combined output predicate holds.
Equations
- One or more equations did not get rendered due to their size.
Instances For
f is weakly deterministic (Def. 5.1) when it is the simultaneous application of a
backward (BMRSᵖ) and a forward (BMRSˢ) program.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The exclusion argument of §5.3 #
A map that requires both sides is not weakly deterministic. On the far-left perturbation the target is unchanged, so ⊙ is conjunction and both one-sided outputs are true; the forward one transports to the base by locality. Symmetrically the far-right perturbation delivers the backward one. Recombining in the base forces the target unchanged. Thm. 5.2 and Props. 5.4 and 5.5 are instances.
Sour Grapes harmony is not weakly deterministic (Thm. 5.2) #
The pathology of [Pad95] and [Wil03b], Example 2.10: − becomes + iff a +
lies anywhere to its left and no blocker ⊟ anywhere to its right, so spreading happens only
when it can reach the end of the word.
Equations
- Yolyan2025.instDecidableEqSG x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Yolyan2025.instReprSG.repr Yolyan2025.SG.plus prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Yolyan2025.SG.plus")).group prec✝
- Yolyan2025.instReprSG.repr Yolyan2025.SG.minus prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Yolyan2025.SG.minus")).group prec✝
- Yolyan2025.instReprSG.repr Yolyan2025.SG.blk prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Yolyan2025.SG.blk")).group prec✝
Instances For
Equations
- Yolyan2025.instReprSG = { reprPrec := Yolyan2025.instReprSG.repr }
In Sour Grapes harmony a − surfaces + iff a trigger precedes it and no blocker follows
it.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Sour Grapes requires both sides, by the maps (a)–(c) of the proof of Thm. 5.2. The middle
of + −…− − spreads, but neither the triggerless − −…− − nor the blocked + −…− ⊟ changes
it.
Sour Grapes harmony is not weakly deterministic (Thm. 5.2).
Tutrugbu ATR harmony (Example 2.12) is not weakly deterministic (Prop. 5.5), from the
witness of McCollumEtAl2020.
Bemba high-tone spreading is not weakly deterministic (Prop. 5.4) #
Copperbelt Bemba, Example 2.11, after Jardine. A high tone spreads to the end of the word when no high follows it, and only onto the next two tone-bearing units when one does.
The Bemba tonal alphabet has a high and a low tone.
Instances For
Equations
- Yolyan2025.instDecidableEqBTone x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Yolyan2025.instReprBTone.repr Yolyan2025.BTone.H prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Yolyan2025.BTone.H")).group prec✝
- Yolyan2025.instReprBTone.repr Yolyan2025.BTone.L prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Yolyan2025.BTone.L")).group prec✝
Instances For
Equations
- Yolyan2025.instReprBTone = { reprPrec := Yolyan2025.instReprBTone.repr }
Position i surfaces H when it is an underlying H, within the two-TBU bounded spread of a
preceding H, or at or after the last H (unbounded spread to the word end).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Yolyan2025.instDecidableBembaSurfaces w i = id inferInstance
Bemba high-tone spreading is a surfacing process.
Equations
- One or more equations did not get rendered due to their size.
Instances For
toneOf c is the tone of the vowel letter c, high under an acute and low otherwise; any
other character is no vowel.
Equations
- Yolyan2025.toneOf 'á' = some Yolyan2025.BTone.H
- Yolyan2025.toneOf 'é' = some Yolyan2025.BTone.H
- Yolyan2025.toneOf 'í' = some Yolyan2025.BTone.H
- Yolyan2025.toneOf 'ó' = some Yolyan2025.BTone.H
- Yolyan2025.toneOf 'ú' = some Yolyan2025.BTone.H
- Yolyan2025.toneOf 'a' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf 'e' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf 'i' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf 'o' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf 'u' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf 'à' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf 'è' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf 'ì' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf 'ò' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf 'ù' = some Yolyan2025.BTone.L
- Yolyan2025.toneOf x✝ = none
Instances For
ofAnalysis a is the tones of the underlying and of the surface form of the word a
analyses, one per vowel, when the two have as many vowels.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Bemba spreading takes the tones of each word of Example 2.11 to its surface tones. In (a) the initial high spreads to the end of the word, and in (b) a following high bounds the spread to the next two tone-bearing units.
Bemba high-tone spreading is not weakly deterministic (Prop. 5.4).
LHOL stress as a simultaneous application (§5.2) #
Leftmost-heavy-otherwise-leftmost stress in Lushootseed, Example 2.9: stress the leftmost heavy syllable, else the leftmost syllable. The backward program stresses a heavy with no heavy to its left; the forward program stresses an initial light with no heavy to its right. No syllable is underlyingly stressed, so the input predicate is constantly false and ⊙ collapses to the disjunction (5.15) of the two programs, the program of [KJ20].
Equations
- Yolyan2025.instDecidableEqSyll x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Yolyan2025.instReprSyll = { reprPrec := Yolyan2025.instReprSyll.repr }
Equations
- Yolyan2025.instReprSyll.repr Yolyan2025.Syll.H prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Yolyan2025.Syll.H")).group prec✝
- Yolyan2025.instReprSyll.repr Yolyan2025.Syll.L prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Yolyan2025.Syll.L")).group prec✝
Instances For
Equations
- Yolyan2025.instDecidableEqLHead x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Yolyan2025.instFintypeLHead = { elems := { val := ↑Yolyan2025.LHead.enumList, nodup := Yolyan2025.LHead.enumList_nodup }, complete := Yolyan2025.instFintypeLHead._proof_1 }
Equations
- Yolyan2025.instDecidableEqRHead x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Yolyan2025.instFintypeRHead = { elems := { val := ↑Yolyan2025.RHead.enumList, nodup := Yolyan2025.RHead.enumList_nodup }, complete := Yolyan2025.instFintypeRHead._proof_1 }
The backward program, (5.8) and (5.12), stresses a heavy with no heavy to its left.
Equations
- One or more equations did not get rendered due to their size.
- Yolyan2025.lholL Yolyan2025.LHead.stressL = (Subregular.BMRS.Expr.label {Yolyan2025.Syll.H} Yolyan2025.x).and (Subregular.BMRS.Expr.call Yolyan2025.LHead.noHL Yolyan2025.x)
Instances For
The forward program, (5.9) and (5.11), stresses an initial light with no heavy to its right.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The stress pattern the ⊙ of the two programs assigns to a word, position by position, is the disjunction (5.15), there being no underlying stress.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In Example 2.9 (a), LH́LHL, the backward program alone stresses the leftmost heavy.
In Example 2.9 (a), H́HHHH, the backward program alone stresses an initial heavy.
In Example 2.9 (b), ĹLLLL, with no heavy, the forward program alone stresses the initial syllable.
Sour Grapes as a conjunctive simultaneous application (§6.3) #
Sour Grapes is the conjunctive simultaneous application ⊘ (Def. 6.5) of its two one-sided licensing conditions, (6.6) and (6.7). At a target, spreading happens iff a trigger lies to the left and no blocker lies to the right.