Two or three things I know about tree transducers
Lê Thành Dũng Nguyên
TL;DR
The note analyzes how diverse tree transducer models relate, emphasizing a bottom-up interpretation of deterministic macro tree transducers and the role of regular lookahead. It surveys equivalences and imprecisions among top-down, bottom-up, and string-output variants, and clarifies how string outputs interact with unary encodings, yield, and context storage. The work outlines composition hierarchies among MSO transductions, MSOTS, ATT, and tree-walking formalisms, and connects these to higher-order recursion schemes and the Caucal hierarchy, providing structural bridges across models. Overall, it presents a cohesive framework for translating results across transducer formalisms and highlights how growth, sharing, and unfolding govern the expressive power of tree-to-tree and tree-to-string transformations.
Abstract
You might know that the name "tree transducers" refers to various kinds of automata that compute functions on ranked trees, i.e. terms over a first-order signature. But have you ever wondered about how to remember what a macro tree transducer does? Or what are the connections between top-down tree(-to-string) transducers, multi bottom-up tree(-to-string) transducers, tree-walking transducers, (invisible) pebble tree transducers, monadic second-order transductions, unfoldings of rooted directed acyclic graphs (i.e. term graphs) -- and what happens when the functions that they compute are composed? The answers may be found in old papers (mostly coauthored by Engelfriet), but maybe you can save some time by first looking at this short note.
