We derive an efficient parallel algorithm to find all occurrences of a pattern string in a subject string in O(log n) time, where n is the length of the subject string. The number of processors employed is of the order of the product of the two string lengths. The theory of powerlists [J. Kornerup, PhD Thesis, 1997; J. Misra, ACM Trans. Programming Languages Systems 16 (16) (1994) 1737-1740] is central to the development of the algorithm and its algebraic manipulations. (C) 2002 Elsevier Science B.V. All rights reserved.