People often say that computer science "proves" a program cannot check itself. That is not quite what the theory says: a program can read its own code without any problem, but no program can decide, with certainty and for every possible program, what that program will do.
