Next: Instructions/Subroutines for Making & Up: Formal Details of a Previous: Overview of Hardware and

## How Online Proof Techniques Connect Syntax and Semantics

Theorem proving requires an axiom scheme yielding an enumerable set of axioms of a formal logic system whose formulas and theorems are symbol strings over some finite alphabet that may include traditional symbols of logic, such as , .

A proof is a sequence of theorems. Each theorem is either an axiom or inferred from previous theorems by applying one of several given inference rules such as modus ponens combined with unification [9]. It is obvious and well-known that theorems can be uniquely encoded as bitstrings, and that one can write a program that systematically enumerates all possible proofs--compare Gödel's original paper [10] and any textbook on logic or proof theory, e.g., [9]. In what follows, we do not have to specify all details of a particular axiomatic encoding--it suffices to recall that concepts such as elementary hardware operations, computational costs, utility functions, probability, provability, etc. can be formalized.

First consider a brute force proof searcher systematically generating all proofs in order of their sizes. To produce a certain proof, this approach takes time exponential in proof size. Instead our will produce many proofs with low algorithmic complexity [47,20,25] much more quickly. It runs and evaluates proof techniques written in language implemented within . For example, may be a variant of PROLOG [7] or the universal FORTH[26]-inspired programming language used in recent experiments with OOPS [38,40]. Certain long proofs can be produced by short programs.

Section 2.3 will present a general, bias-optimal [38,40] way of systematically testing proof techniques through a convenient initialization of . First, however, we need to specify the precise goals of the proof search, details of the proofs that can be derived by proof techniques, and ways of verifying proofs and translating their results into online changes of the Gödel machine software. This is most conveniently done by describing the essential instructions for generating/checking axioms/theorems and for transferring control to provably good Gödel machine-changing programs.

Subsections

Next: Instructions/Subroutines for Making & Up: Formal Details of a Previous: Overview of Hardware and
Juergen Schmidhuber 2003-10-28