Yolyan & Comer 2026: Phonological Processes as Modal Transductions #
[YC26]: total BMRS is expressively equivalent to the modal μ-calculus on
words (Thm. 2), giving an alternative proof that order-preserving BMRS captures the
rational functions. This file formalizes the constructive core: the translation tr
(Def. 6) from vectorial modal formulas to BMRS expressions and its compositionality
(eval_tr, Remark 7) — tr φ evaluates to the truth value of φ wherever rule-head
calls agree with the recursion variables. Thm. 8 discharges that hypothesis for
directed systems by SCC induction (TODO: the directedness machinery); Thm. 2's
converse containment runs through MSO (out of scope until an MSO substrate exists).
The paper's two worked examples ground both formalisms: vowel nasalization ((2)–(4),
non-recursive) and progressive nasal spreading in Warao ((5)–(7), [osborn-1966]). The
modal form N′ = μX.(N ∨ (¬T ∧ ♦X)) recurses under the backward modality ♦ =
bdia — a target inherits nasality from its predecessor. Both compute the Fig. 4/5
columns on /naote/ → [nãõte], and the BMRS and modal results agree
(warao_agreement); warao_tr_agreement runs Remark 7 end-to-end on the translated
program, with the rule-head hypothesis discharged by direct computation — the concrete
shape of Thm. 8's induction.
Segments and feature classes #
The examples' segments, with the paper's overlapping feature predicates N, V, T as
class tests (a nasalized vowel satisfies both V and N — a partition alphabet cannot
represent the nasalization output, which is why label atoms are class tests).
Equations
- YolyanComer2026.instDecidableEqSeg x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- YolyanComer2026.instReprSeg.repr YolyanComer2026.Seg.n prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "YolyanComer2026.Seg.n")).group prec✝
- YolyanComer2026.instReprSeg.repr YolyanComer2026.Seg.a prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "YolyanComer2026.Seg.a")).group prec✝
- YolyanComer2026.instReprSeg.repr YolyanComer2026.Seg.o prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "YolyanComer2026.Seg.o")).group prec✝
- YolyanComer2026.instReprSeg.repr YolyanComer2026.Seg.t prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "YolyanComer2026.Seg.t")).group prec✝
- YolyanComer2026.instReprSeg.repr YolyanComer2026.Seg.e prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "YolyanComer2026.Seg.e")).group prec✝
- YolyanComer2026.instReprSeg.repr YolyanComer2026.Seg.b prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "YolyanComer2026.Seg.b")).group prec✝
Instances For
Equations
- YolyanComer2026.instReprSeg = { reprPrec := YolyanComer2026.instReprSeg.repr }
N: nasal sounds.
Equations
Instances For
V: vowels.
Equations
Instances For
T: voiceless stops (the spreading blocker).
Equations
Instances For
/naote/, the Fig. 4 input.
Equations
Instances For
/bæn/, the vowel-nasalization input.
Equations
Instances For
Vowel nasalization ((2)–(4)): a vowel nasalizes before a nasal #
Output predicates of the nasalization program.
Instances For
Equations
- YolyanComer2026.instDecidableEqNasHead x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
(3): V′(x) = V(x); N′(x) = if V(x) then N(s(x)) else N(x).
Equations
- One or more equations did not get rendered due to their size.
- YolyanComer2026.nasalization YolyanComer2026.NasHead.V' = Subregular.Logic.BMRS.Expr.label YolyanComer2026.vow YolyanComer2026.x✝
Instances For
Fig. 3: on /bæn/ the output columns are V′ = ⊥⊤⊥ and N′ = ⊥⊤⊤ — [bæ̃n], the æ nasalized by the following n.
(4): the modal form N′ = (V ∧ ◇N) ∨ N — non-recursive, so no fixed point is
involved.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The modal (4) marks exactly positions 1 and 2 of /bæn/ nasal, agreeing with the BMRS N′ column.
Warao nasal spreading ((5)–(7)): nasality spreads rightward until a stop #
Equations
- YolyanComer2026.instDecidableEqWHead x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
(6): N′(x) = if N(x) then ⊤ else if T(x) then ⊥ else if min(x) then ⊥ else N′(p(x)) — recursive through the predecessor: spreading is progressive.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fig. 4: on /naote/ the output column is N′ = ⊤⊤⊤⊥⊥ — [nãõte], spreading blocked by the t.
(7): the modal form N′ = μX.(N ∨ (¬T ∧ ♦X)).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The least fixed point on /naote/: nasality holds exactly at positions 0, 1, 2.
Equations
- YolyanComer2026.waraoU x✝ = {i : ℕ | i < 3}
Instances For
Fig. 4/5 agreement: the BMRS program (6) and the modal formula (7) compute the same nasality column on /naote/.
The translation (Def. 6) and its compositionality (Remark 7) #
Def. 6: translate a vectorial modal formula into a BMRS expression whose rule heads are the recursion variables. Modalities substitute a moved term into the translated body; class-negated atoms translate by (3.8)-negation (the evident extension of the paper's clauses, which cover positive atoms).
Equations
- YolyanComer2026.tr Subregular.Logic.ModalMu.Formula.tru = Subregular.Logic.BMRS.Expr.tru
- YolyanComer2026.tr Subregular.Logic.ModalMu.Formula.fls = Subregular.Logic.BMRS.Expr.fls
- YolyanComer2026.tr Subregular.Logic.ModalMu.Formula.initial = Subregular.Logic.BMRS.Expr.initial YolyanComer2026.x✝
- YolyanComer2026.tr Subregular.Logic.ModalMu.Formula.final = Subregular.Logic.BMRS.Expr.final YolyanComer2026.x✝
- YolyanComer2026.tr (Subregular.Logic.ModalMu.Formula.label s) = Subregular.Logic.BMRS.Expr.label s YolyanComer2026.x✝
- YolyanComer2026.tr (Subregular.Logic.ModalMu.Formula.nlabel s) = (Subregular.Logic.BMRS.Expr.label s YolyanComer2026.x✝).ite Subregular.Logic.BMRS.Expr.fls Subregular.Logic.BMRS.Expr.tru
- YolyanComer2026.tr (Subregular.Logic.ModalMu.Formula.var X) = Subregular.Logic.BMRS.Expr.call X YolyanComer2026.x✝
- YolyanComer2026.tr (φ.and ψ) = (YolyanComer2026.tr φ).ite (YolyanComer2026.tr ψ) Subregular.Logic.BMRS.Expr.fls
- YolyanComer2026.tr (φ.or ψ) = (YolyanComer2026.tr φ).ite Subregular.Logic.BMRS.Expr.tru (YolyanComer2026.tr ψ)
- YolyanComer2026.tr φ.dia = (Subregular.Logic.BMRS.Expr.final YolyanComer2026.x✝).ite Subregular.Logic.BMRS.Expr.fls ((YolyanComer2026.tr φ).subst YolyanComer2026.x✝.succ)
- YolyanComer2026.tr φ.bdia = (Subregular.Logic.BMRS.Expr.initial YolyanComer2026.x✝).ite Subregular.Logic.BMRS.Expr.fls ((YolyanComer2026.tr φ).subst YolyanComer2026.x✝.pred)
Instances For
The translated program of a system: one rule per recursion variable.
Equations
- χ.trProgram X = YolyanComer2026.tr (χ.eqs X)
Instances For
Remark 7 (compositionality of the translation): wherever rule-head calls agree
with the recursion variables, tr φ evaluates to the truth value of φ. Thm. 8's
SCC induction discharges the hypothesis for directed systems.
Remark 7 run end-to-end on Warao: the translated program agrees with the modal
semantics on /naote/ (waraoU = waraoChi.sem naote by warao_sem), the rule-head
hypothesis discharged by direct computation — the concrete shape of Thm. 8.