This article addresses computational synthesis systems that
attempt to find a structural description that matches a set
of initial functional requirements and design constraints with
a finite sequence of production rules. It has been previously
shown by the author that it is computationally difficult to
identify a sequence of production rules that can lead to a
satisficing design solution. As a result, computational synthesis,
particularly with large volumes of selection information, requires
effective design search procedures. Many computational synthesis
systems utilize transformational search strategies. However,
such search strategies are inefficient due to the combinatorial
nature of the problem. In this article, the problem is approached
using a completely different paradigm. The new approach encodes
a design search problem as a Boolean (propositional) satisfiability
problem, such that from every satisfying Boolean-valued truth
assignment to the corresponding Boolean expression we efficiently
can derive a solution to the original synthesis problem (along
with its finite sequence of production rules). A major advantage
of the proposed approach is the possibility of utilizing recently
developed powerful randomized search algorithms for solving
Boolean satisfiability problems, which considerably outperform
the most widely used satisfiability algorithms. The new
design-as-satisfiability technique provides a flexible framework
for stating a variety of design constraints, and also represents
properly the theory behind modern constraint-based design systems.