We present a programming approach to teach the reduction technique in a computing engineering degree's Computability Theory course. It is based in a computing formalism that allows the students to analyze, construct and transform programs as normal data in a simple way. Reduction can then be tackled in a constructive manner, so that the students benefit from their programming skills to prove uncomputability results without the help of the Parametrization (S-m-n) Theorem. Additionally the method is suitable to be applied to interesting problems that cannot be handled by diagonalization nor classical reduction.
/lp/association-for-computing-machinery/constructive-reduction-understanding-uncomputability-through-uQ80ACUXBi