Configuration design can be thought of as a process of generating artifacts by assembling pre-defined components. This paper introduces a method for reducing the size of configuration problems by abstracting components to higher levels of abstraction. At higher abstraction levels, less important detail is temporarily ignored, and each component represents a family of lower-level components. Configuration is then performed at the highest level, explicitly enumerating all configurations at that level. Any complete configuration at the highest level is recursively instantiated to lower levels. At the same time, any incomplete configuration at the highest level is eliminated, thereby eliminating all possible lower-level instantiations of that configuration. In this manner, all configurations of components at the lowest level of abstraction are implicitly enumerated.