A universal tree balancing theorem (1704.08705v3)
Abstract: We present a general framework for balancing expressions (terms) in form of so called tree straight-line programs. The latter can be seen as circuits over the free term algebra extended by contexts (terms with a hole) and the operations which insert terms/contexts into contexts. It is shown that for every term one can compute in DLOGTIME-uniform TC$0$ a tree straight-line program of logarithmic depth and size $O(n/\log n)$. This allows reducing the term evaluation problem over an arbitrary algebra $\mathcal{A}$ to the term evaluation problem over a derived two-sorted algebra $\mathcal{F}(\mathcal{A})$. Several applications are presented: (i) an alternative proof for a recent result by Krebs, Limaye and Ludwig on the expression evaluation problem is given, (ii) it is shown that expressions for an arbitrary (possibly non-commutative) semiring can be transformed in DLOGTIME-uniform TC$0$ into equivalent circuits of logarithmic depth and size $O(n/\log n)$, and (iii) a corresponding result for regular expressions is shown.