Reduce ATM: build M' whose language is finite iff M does NOT accept w.
FINITETM = {⟨M⟩ : L(M) is finite}. Direct application of Rice (Problem 14): "finite" is a nontrivial property of L(M), so FINITETM is undecidable.
M' on input x:
if |x| ≤ 10 then accept // finite chunk: ≤ 10
else run M on w
if M accepts then accept x
If M accepts w: L(M') = Σ* — infinite. If M doesn't accept w: L(M') ⊆ {x : |x| ≤ 10} — finite. So M accepts w ⇔ ⟨M'⟩ ∉ FINITETM.
Sipser: §5.2 (Rice's theorem). Lecture notes: Module 3 slide 6. Companion problems: P14 (Rice's theorem).