SUNY Geneseo Department of Mathematics
Friday, April 1
Math 304
Spring 2016
Prof. Doug Baldwin
construct M2(x) as
{ not-Σ*-language = ∅ }
run M on w
if M accepts w, accept x {M accepts w implies L(M2)= Σ*}
otherwise reject x {L(M2) = ∅}
run U(M2)
if U accepts, accept
otherwise reject
construct M2(x) with alphabet {a} as
if x = ε, accept { Ensure |L(M)| at least 1, which is odd }
run M on w
if x = aa, accept { Only get here is M(w) halts, but if it does L(M) has 2 members, even }
otherwise reject
run E(M2)
if E accepts M2, accept
otherwise reject
P(w)
return x2