A Goedel machine is a self-referential universal problem solver which is capable of self-improvement optimizations. The machine was inspired by Kurt Goedel's self-referential formulas in 1931.

The formulas the Goedel created showed that math contains unprovable truths. The machine rewrites its own code whenever it discovers a proof that a rewrite is beneficial. The problem-dependent utility function works as axioms encoded in an initial proof searcher in the initial code. A Goedel machine runs a proof searcher and tests the proof's technique at the same time. A proof technique is a program in the Goedel machine that reads from the storage and suggests parts that could be changed for each new test. The machine is also capable of evaluating whether or not a proof would provide more utility than the rewrite it is creating for the proof. The proof techniques are able to evaluate costs and outcomes of all programs in the machine including the proof searcher itself.

A proof searcher can be initialized through bias-optimal proof searcher initializations and asymptotically optimal proof searcher initializations based on variants of a universal search.

## Timeline

### Kurt Goedel discovers self-referencial formulas

## People

Kurt Goedel

Founder of self-referencial formulas