patternMinor
Gödels (first) incompleteness Theorem and the Halting Problem - How limiting is it?
Viewed 0 times
problemtheincompletenesshaltinglimitinggödelsfirsttheoremhowand
Problem
When I first heard of these things I was very fascinated as I thought it sets really a limit to mathematics and science in general. But how practically relevant are these things?
For the Halting Problem: Are there more than some artificially constructed cases, where one can't decide whether the algorithm will terminate or not?
For the Incompleteness Theorem: Are there more than some artificially constructed cases, where one can't prove/disprove statement?
I'm asking this because it seems that in most areas of science it doesn't really matter that there are such fundamental limitations. Are they even there? I'd like to know where this really sets a limit and where it is really relevant.
For the Halting Problem: Are there more than some artificially constructed cases, where one can't decide whether the algorithm will terminate or not?
For the Incompleteness Theorem: Are there more than some artificially constructed cases, where one can't prove/disprove statement?
I'm asking this because it seems that in most areas of science it doesn't really matter that there are such fundamental limitations. Are they even there? I'd like to know where this really sets a limit and where it is really relevant.
Solution
The halting problem being undecidable has lots of practical relevance, here is a quick example:
Writing anti-virus software is hard: We can't decide whether a given piece of code is malicious because if we could we could decide the halting problem.
To see this take a piece of code which takes as input a Turing machine $M$ and an input word $w$ and does something malicious if and only if $M$ halts on input $w$. If we could decide whether a given piece of code were malicious then we could decide whether this piece of code was malicious but then we would be able to decide the halting problem, which we know we cannot do.
What this is saying is that there is no perfect anti-virus software, it can't be done. That doesn't mean we shouldn't try to write anti-virus sotware, just that we will never be able to write a perfect one. In fact any statement about deciding what programs do is undecidable (see Rice's theorem).
With respect to Godel's theorem, Goodstein's theorem is an example of a statement which is unprovable using the Peano axioms.
Writing anti-virus software is hard: We can't decide whether a given piece of code is malicious because if we could we could decide the halting problem.
To see this take a piece of code which takes as input a Turing machine $M$ and an input word $w$ and does something malicious if and only if $M$ halts on input $w$. If we could decide whether a given piece of code were malicious then we could decide whether this piece of code was malicious but then we would be able to decide the halting problem, which we know we cannot do.
What this is saying is that there is no perfect anti-virus software, it can't be done. That doesn't mean we shouldn't try to write anti-virus sotware, just that we will never be able to write a perfect one. In fact any statement about deciding what programs do is undecidable (see Rice's theorem).
With respect to Godel's theorem, Goodstein's theorem is an example of a statement which is unprovable using the Peano axioms.
Context
StackExchange Computer Science Q#26172, answer score: 9
Revisions (0)
No revisions yet.