  Ritt studied the functional decomposition of a univariate complex polynomial
f into prime (indecomposable) polynomials, f = u_1 o u_2 o ... o u_r. His main
achievement was a procedure for obtaining any decomposition of f from any other
by repeatedly applying certain transformations. However, Ritt's results provide
no control on the number of times one must apply the basic transformations,
which makes his procedure unsuitable for many theoretical and algorithmic
applications. We solve this problem by giving a new description of the
collection of all decompositions of a polynomial. Our results have been used by
Ghioca, Tucker and Zieve (arXiv:0807.3576) to describe the polynomials f,g
having orbits with infinite intersection; they have also been used by Medvedev
and Scanlon to describe the affine curves invariant under a coordinatewise
polynomial action.
