Candy wrote:
If you can prove any N programs to be correct, you can not prove ALL programs to be correct. Yet, you can prove those N programs to be correct.
Excuse me, but what are you trying to say? Sure you can prove some programs, at least up to the correctness of that prove. I didn't claim otherwise.
Humans have the advantage of not being required to determine themselves to be correct (or ending), so they only have to deal with programs not their own. Now, that's a doable task. At least, given infinite time (and money).
But it's not doable in finite time. For a proof to be proven correct, we require:
"for a proof to be known to be correct, a proof of that proof known to be correct is known"
Let proof of x be p(x). Now, if x is known to be correct, that implies that there exists p(x), which is also known to be correct.
So we have a set of all (known to be correct) proofs:
P = [x | p(x) is a member of P]
Now, since p(x) is a member of P, it is also "an x for which p(x)" exists. Now, let p(p[sub]n[/sub](x)) = p[sub]n+1[/sub](x) and you get: for all x (in P) there exists p[sub]n[/sub](x) for all natural numbers n, ie. the chain of proofs is infinite for any x. Proven by induction:
1. p[sub]0[/sub](x) is member of P if x is member of P, by definition.
2. assuming p[sub]k[/sub](x) is member of P, by definition p(p[sub]k[/sub](x)) is member of P, and p(p[sub]k[/sub](x)) = p[sub]k+1[/sub](x), hence p[sub]k+1[/sub](x) is member of P.
This means that if there exists a single x that is member of P, then there exists infinite number of x that are member of P.
Now, if we assume that a proof to be discovered always takes at least e seconds (where e is smallest possible real number greater than zero, I'd used epsilon but couldn't conquer it from my keyboard) then for P to be non-empty, at least e*inf seconds must have passed. That is, full certainty cannot be reached, unless we can start proving things in zero time, or have spent an infinity of time in constructing proofs.
Naturally there is a possibility that my proof is not sound. See above. In fact, there is at least one notable loophole:
if x = p(x) then for all natural n, p[sub]n[/sub](x) = x:
1. p(p(x)) = p(x) = x
2. if p[sub]k[/sub](x) = x, then p[sub]k+1[/sub](x) = p(p[sub]k[/sub](x)) = p(x) = x
That doesn't help much though, since AFAIK the only known circular proof goes something like "there is some thinking going on" on the basis that the thought "there is some thinking going on" is thought.. or .. something like that. But it proves my point that a "sound-looking" proof is not enough to assume correctness.
PS. Can we get a math-mode in this board?