If the project client complains, he will need to prove that your solution is wrong, and he cannot prove that if he does not give your solution enough time to try all possible combinations.
If the project client complains, he will need to prove that your solution is wrong, and he cannot prove that if he does not give your solution enough time to try all possible combinations.
And it's a freshman problem to prove that the halting problem is undecidable. (It's also in about a million CS and math textbooks.)
You could always just say "To demonstrate that your program works, show the output of it running on itself, given this input..."
So while the halting problem cannot be solved, the clients requirements can be fulfilled (logically).
He can put an offer in GetACoder asking for a program that proves that :-)
In any case, looking at individual test cases is not the point. The client is justified in asking for a proof that your program detects non-termination for all possible input programs in the language. Since no such proof can exist, you don't get paid. The burden of proof is on the person proposing the solution, not the client.
The request did not include any 'finite time' specification.
while 1, {}
Not sure if you meant this, but remember that it is not possible to write a program that always gives the correct answer, just in an unpredictably large amount of time.imo they really should stop teaching the halting problem to freshmen. At least not without some practical results accompanying the theory.