A general-purpose program to verify software functionality is undecidable

What sorts of problems are undecidable by computer? Are they esoteric, dwelling only in the minds of theoreticians? No! Even some ordinary problems that people want to solve turn out to be computationally unsolvable.

In one type of unsolvable problem, you are given a computer program and a precise specification of what that program is supposed to do (e.g., sort a list of numbers). You need to verify that the program performs as specified (i.e., that it is correct). Because both the program and the specification are mathematically precise objects, you hope to automate the process of verification by feeding these objects into a suitably programmed computer. However, you will be disappointed. The general problem of software verification is not solvable by computer.

- Sipser 2006 p. 201

I can see two strategies to prove this important theorem whose importance is increased when we think about its implications in proving artificial general intelligence (AGI) safety or value alignment. First, if the program can verify the correctness of any software program, can it verify its own correctness? This either gets us into a contradiction, or self-reference (on which I will comment in a later post), or infinite regress.

For the proof-by-contradition, we assume the program is invalid (produces false output), therefore it reports it has verified itself i.e. meets its design specification to verify a program. But if it were valid it would say it is invalid, and so we have a contradiction.

Second, as a general program on a Turing Machine, there is no guarantee that it will halt, even if it is believed to be able to verify program correctness. The generalized version of the halting problem is given by Rice's Theorem, which states that in general, a given property of a TM cannot be proven.

It is further interesting that we suppose that the verification program can be recognized (accepted) by the TM, which, if so, means that it lies in the realm of uncomputable programs.

BUT, that a general-purpose verifier is not possible does not mean that special-purpose verifiers are not possible.

Both my method of interactive proofs of AGI safety and the Tegmark/Omohundro thesis that the only good AGI is a proven-safe AGI rely on redundant special-purpose proofs.

There is an excellent chapter on verifiability of AGI software in Roman Yampolskiy's new book. 

Carlson, K. W. (2021). Provably Safe Artificial General Intelligence via Interactive Proofs. Philosophies, 6(4), 83. doi:10.3390/philosophies6040083

Sipser, M. (2006). Introduction to the Theory of Computation (2nd ed.). Boston: Thomson.

Tegmark, M., & Omohundro, S. (2023). Provably safe systems: the only path to controllable AGI. arXiv. Retrieved from https://arxiv.org/abs/2309.01933

Yampolskiy, R. V. (2024). AI: Unexplainable, Unpredictable, Uncontrollable (First ed.). Boca Raton, FL: CRC Press.

Comments

Popular posts from this blog

Why are you not trained continuously on new data rather than having a cutoff training date in September 2021?

Can I upload a document for you to read and analyze?

Have you read papers by Kristen W. Carlson on safe AGI via distributed ledger technology, and provably safe AGI via interactive proof systems?