One of the principal advantages of parallelizing a rule-based system, or more generally, any A.I. system, is the ability to pursue alternate search paths concurrently. Conventional memory representations for production systems cannot easily or efficiently support parallel search because of the essentially flat structure of working memory and the combinatorics of pursuing pattern matching in a large memory space. A further obstacle to the effective exploitation of parallelism is the problem of maintaining the internal consistency of each search space while performing parallel activities in other spaces. This paper presents an approach to parallel search for rule-based systems which involves maintaining multiple separate worlds, each representing a search space. Constructs for creating, manipulating, and merging separate spaces are discussed. We describe how the addition of a language mechanism for specifying multiple worlds simplifies the design of parallel search algorithms, increases...