Reverse Turing test to a human) a response along the lines of "is this really a human?". Describing such a situation as a "reverse Turing test" typically occurs retroactively. There are also cases of accidental reverse Turing tests, occurring when a programmer is in a sufficiently non-human mood that his conversation unintentionally resembles that of a computer. In these cases the description is invariably retroactive and humorously intended. The subject may be described as having passed or failed a reverse Turing test or as having failed a Turing test. The latter description is arguably more accurate in these cases; see also the next
Turing completeness it is impossible to determine whether this characteristic will hold. This impossibility poses problems when analyzing real-world computer programs. For example, one cannot write a tool that entirely protects programmers from writing infinite loops, or protects users from supplying input that would cause infinite loops. One can instead limit a program to executing only for a fixed period of time (timeout), or limit the power of flow control instructions (for example, providing only loops that iterate over the items of an existing array). However, another theorem shows that there are problems solvable by Turing-complete languages that cannot be solved by