Martin Beach (programs that could evaluate themselves)
Before I jump into theoretical scenarios that may or may not be proven, it is very important to plan how much resource you are willing to dump into solving that problem. Take for example Johannes Kepler’s cannonball stacking, why spend thousands and thousands of computer and man hours into a math problem like that? It may have been important back in Kepler’s day when cargo space was a precious commodity on boats, but how many 18 centaury frigates do you see sailing around in the ocean? The only thing you get is bragging rights, and you can’t do anything with that except brag. Another example is finding prime numbers, the Electronic Frontier Foundation has offered 250,000 dollar reward for anyone who could fin a 1 billion digit prime number. Huzzah, we get 250,000! But we had to spend 50 million to buy the computers to calculate it.
With that said, one thing that I believe is possible but I have no clue how to write a program for it, is proving whether or not a loop or program is an infinite loop. It seems mathematically the only way to do that is to actually run the loop infinite times. However, that does not help the situation at all. Being a person however, I could look at the code and go, “Oh that will never end”. I believe it is possible because I am that proof. Although, to translate what I did or the knowledge of what I did so the computer could solve it is a mystery to me. This also just asks the question of whether or not it is even possible for a computer to evaluate its own programming.
I think the ability to do this will come during the time when computers can understand human language for what it is, and I do not think that will be in my lifetime. Star Trek computers can do this, I know Data could. Perhaps I will have to wait until the 23rd or 24th Centaury