Week 4 Flashcards
The Entscheidungsproblem
Hilbert’s idea was to find an algorithm which, given any statement in a formal system, would determine whether or not that statement was true.
What is the incompleteness theorem?
This showed that there is no algorithm whose input can be any statement about the integers and
whose output says whether or not the statement is true.
How do we prove the Halting Problem is undecidable?
A proof that the halting problem is undecidable goes like this:
1 assume we can write HaltTester;
2 use HaltTester to write Funny;
3 show Funny leads to a contradiction (if P terminates then loop forever);
4 conclude the assumption is wrong. (if we test if funny halts, it never will as it contradicts)
What is the totality problem?
Decide whether a program P halts on all inputs - if it does, it computes a total function.
How is the totality problem different from the halting problem
Halting problem asks whether it enters an infinite loop for a given input.
How do we solve the totality problem?
It converts to the halting problem.
Construct a program Q that ignores its own input and always emulates P on some input D. Q will halt on all inputs only if P halts on input D (which is the halting problem)
What is the equivalence problem?
The equivalence problem is to decide whether two programs
are equivalent; that is, they produce the same output for the
same input.
How do we solve the equivalence problem?
It is easy to devise programs T and U, such that asking whether T is equivalent to U is like asking if T is total, meaning this problem converts to the totality problem. It’s undecideadble
What is Rice’s theorem?
Rice’s Theorem says that if 𝐴 is an extensional and non-trivial
program property then 𝐴 is undecidable.
It implies that there can be no program verification tool that can
check if a program meets the specification.
What are the 3 types of problem
Computable - algorithmic solution
Partially computable - approximate algorithmic solution
Noncomputable - no algorithmic solution
The Halting problem is…
Partially computable as we