# Normalized Systems Theorems

These theorems are at the core of the Normalized Systems theory. The proof for them can be found in the Normalized Systems Theory book.

## Postulate 1

An evolving information system should not have instabilities: a bounded amount of additional functional requirements cannot lead to an unbounded amount of additional (versions of) software primitives.

## Theorem 1

A processing function can only contain a single task in order to achieve stability.

## Theorem 2

A data structure that is passed through the interface of a processing function needs to exhibit version transparency in order to achieve stability.

## Theorem 3

A processing function that is called by another processing function, needs to exhibit version transparency in order to achieve stability.

## Theorem 4

Calling a processing function within another processing function, needs to exhibit state keeping in order to achieve stability.

## Postulate 2

An evolving information system should not generate entropy: the introduction of additional data structure or processing function instantiations cannot lead to multiple microstates consistent with one macrostate.

## Theorem 5

A processing function can only contain a single task in order to obtain isentropic software.

## Theorem 6

For every instantiation of a data structure serving as an argument for a processing instantiation, its actual version and instance need to be exported to the observable macrostate, in order to obtain isentropic software.

## Theorem 7

For every instantiation of a processing function, its actual version and the thread it is embedded in, need to be exported to the observable macrostate, in order to obtain isentropic software.

## Theorem 8

Calling a processing function within another processing function needs to exhibit state keeping in order to achieve isentropic software.