the reduction works.

if ( <M,w> e Htm^c ) than L(M') = sigma*

else, L(M') is finite, so L(M') != sigma*

thats what matters.

( we don't care for each x separately .. )

try to go over ex.5 where the reductions are, try to understand reductions that use the same trick ( running M on w for |x| steps .. )

]]>( so there is no meaning of saying |w| = f(|x|) )

]]>Our aim: if <M,w> e H

if <M,w> !e H

It is what we get. if M doesn't halt on w at all M' halts on all inputs.

if M halts on w, M' halts on inputs that is |x|>k, where k is the number of steps that M needs to halt on w and it's finite.

Something like that.

]]>yes inst. = M don't converge on w.

אם

M

מתבדרת עליו, אז תמיד נקבל - סבבה.

no inst.

אם

M

עוצרת עליו, אז עבור

x

באורך מספיק ארוך (שלא תלוי ב

x

אלא בריצת

M

על

w )

לא נקבל אותו.

at the HTM^c reduction we do the following:

given <M,w> we construct M' that on input x:

1. run M on w for |x| steps

2. if M stops whitin this time M' enters loop

3. if M dont stops whitin this time then M' break and accepts.

regarding the correctness of this reduction: the side (no=>no) "if M stops on w in less then |x| steps then M' enters loop " is clear.

the side (yes=>yes) "if M dont stops on w in less then |x| steps then M' break and accepts " is not clear. what if M stops on W at X^2 step.

then <M,w> does not belong to HTM^c and not as we assumed!

can someone please explain ?

]]>