While the space of programs is exponential, we observed that abstract programs which are instantiated into correct programs are not very complex in terms of the number of production rules used to generate them.
we impose restrictions on the number of production rules which can abstract programs, and in this way the search process becomes tractable.