This paper presents a formalized model of the evolution. This formalized model answers, what we call, the main question in the theory of evolution: How can systems with a (strong) purpose to exist (that is, systems that behave in a non random, or goal directed, way) result from a random (or non purposeful, non goal directed) developing, or learning, mechanism in a space-time effective way? The formalized model of the evolution that we present is based on a search process called generate-and-test search. It is the generator and the tester that composes the system developmental mechanism. The proposed framework deals explicitly with the development of systems independent of the particular nature of the systems themselves. The aim for this framework is to explicitly state the general principles for space-time effective system development. The performance of the proposed framework is analyzed in relation to the concept of search space difficulty. The difficulty of a search space is determined by the size and topology of the search space.