List homomorphisms are functions that are parallelizable using the divide-and-conquer
paradigm. We study the problem of finding homomorphic representations of functions in
the Bird–Meertens constructive theory of lists, by means of term rewriting and theorem
proving techniques. A previous work proved that to each pair
of leftward and rightward
sequential representations of a function, based on cons- and snoc-lists, respectively, there
is also a representation as a homomorphism. Our contribution is a mechanizable method
to extract the homomorphism representation from a pair of sequential representations. The
method is decomposed to a generalization problem and an inductive claim, both solvable by
term rewriting techniques. To solve the former we present a sound generalization procedure
which yields the required representation, and terminates under reasonable assumptions. The
inductive claim is provable automatically. We illustrate the method and the procedure by the
systematic parallelization of the scan-function (parallel prefix) and of the maximum
segment sum problem.