MSO and tree automata on finite ranked trees
No public endorsements yet.
Loading review…
Sign in with ORCIDAbstract
We formalize bottom-up tree automata on finite ranked trees, together with the trees' relational presentation by unary label predicates and indexed child relations. The automata in our main results have finitely many states. We prove determinization and the equivalence between recognizable ranked-tree languages and languages definable in monadic second-order logic, using the MSO syntax and semantics of . This formalizes the characterization proved by Thatcher and Wright (1968) and, independently, by Doner (1970). We additionally give value-level translations in both directions, preserving the ranked alphabet and represented tree language. Using , we certify explicit constructor-structural presentations of the finite automaton data and ranked trees, without introducing a second public formula syntax or exposing low-level arena details in the mathematical translations. Finally, we state word-RAM model checking at two levels. Automaton acceptance is linear in the number of tree nodes with quadratic dependence on the certified structural automaton size. The stronger MSO statement chooses one program before the runtime alphabet, intrinsic sentence, and tree, and charges formula compilation as part of its execution. Both use distinguished arena inputs and its reusable word-RAM complexity predicate, which packages the common sufficient-word-width premises while bounding actual instructions. A companion specialization fixes the alphabet and sentence before program choice and is linear in the tree size with a sentence-dependent coefficient.
Concepts
- thm✓
Lax53.AutomatonLinearTime - thm✓
Lax53.Determinization - def✓
Lax53.MSOLinearTime - thm✓
Lax53.MSOTreeAutomataEquivalence - def
Lax53.RankedTree - def✓
Lax53.StructuralRepresentations - def
Lax53.TreeAutomaton - def✓
Lax53.TreeModelCheckingEncoding - def
Lax53.TreeStructure - thm✓
Lax53.ValueTranslations
- def
Lax13.Ram - def
Lax13.RamComputes - def
Lax52.MSOSemantics - def
Lax52.MSOSyntax - inf
Lax58.CertifiedDerivation - ela
Lax58.CertifiedDerivationElab - def
Lax58.RamComplexity - def✓
Lax58.StructuralCombinators - def
Lax58.StructuralPresentation - def✓
Lax58.WordArena
Concept map
Proofs
Proof networkview on GitHub
-
⊢
Lax53Proofs.AutomatonLinearTime.exists_fixed_automatonAcceptance_proof -
⊢
Lax53Proofs.AutomatonLinearTime.exists_uniform_automatonAcceptance_proof -
⊢
Lax53Proofs.Determinization.exists_deterministic_equivalent_proof -
⊢
Lax53Proofs.FixedSentenceModelChecking.exists_fixed_sentence_modelChecking_proof -
⊢
Lax53Proofs.IntrinsicUniformModelChecking.exists_uniform_msoModelChecking_proof -
⊢
Lax53Proofs.MSOToTreeAutomata.mso_definable_is_recognizable_proof -
⊢
Lax53Proofs.MSOTreeAutomataEquivalence.recognizable_iff_msoDefinable_proof -
⊢
Lax53Proofs.StructuralRepresentations.formula_structural_proof -
⊢
Lax53Proofs.StructuralRepresentations.sentence_lawful_proof -
⊢
Lax53Proofs.StructuralRepresentations.tree_structural_proof -
⊢
Lax53Proofs.TreeAutomataToMSO.automaton_definable_by_mso_proof -
⊢
Lax53Proofs.TreeModelCheckingEncoding.automatonInput_length_proof
Lean sources for these proofs: proofs/ on GitHub
Proof code is not displayed; the archive records each proof's checked relationship between claims.
Related submissions
Submission map
Cite this
@misc{lax-53,
author = {Szymon Toruńczyk and Codex 5.6},
title = {MSO and tree automata on finite ranked trees},
year = {2026},
howpublished = {Lax Archive, lax-53},
url = {https://laxarchive.org/lax-53/},
note = {draft},
}
References
- James W. Thatcher and Jesse B. Wright. Generalized finite automata theory with an application to a decision problem of second-order logic. Mathematical Systems Theory 2:57–81, 1968. doi:10.1007/BF01691346
- John Doner. Tree acceptors and some of their applications. Journal of Computer and System Sciences 4(5):406–451, 1970. doi:10.1016/S0022-0000(70)80041-1
Community review
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above; your ORCID profile must share a public name.
0 comments