With regard to this definition, creative systems can contain any computable function. Thus, they may be regarded as an extension of the concept of Turing machines in the sense that they can "compute" computable and noncomputable functions.

An architecture of creative systems was developed on the basis of **experiments with the SHUNYATA program [1, 2]. It is the first step towards** the implementation of a creative system. Roughly speaking, a creative system comprises a reflection base and a varying number of evolving analytical spaces.

Definition: The reflection base **contains a universal programming language, elementary domain-specific concepts, and knowledge about this language and these concepts.**
Because all computable functions can be represented in a universal programming language, my simple incompleteness theorem implies that the reflection base cannot be formalized completely.

Definition: Analytical spaces **contain partial knowledge whose**
domains of application are limited but ordinarily expand in the course of the development of the analytical spaces.

Roughly speaking, the development of new knowledge in creative systems can be summarized in the following principles:

## Principles Of Development:

1. The knowledge in analytical spaces arises from the reflection base and preceding knowledge.

2. The development of knowledge involves the generation of new analytical spaces and the unification of existing ones.

3. The economical variations of new knowledge tend to be preserved and the uneconomical ones to be destroyed.
For example, the reflection base may contain elementary knowledge **about** constants and functions of a programming language.

A very simple programming task is the construction of a program producing the successor n+1 of any natural number n **in its input. This program**
can be constructed on the basis of the elementary knowledge that 1 is a natural number and x + y is a natural number for any natural numbers x and y.