Constructive Many-one Reduction from the Halting Problem to Semi-unification (Extended Version)
Andrej Dudenhefner
TL;DR
The work presents a constructive, axiom-free chain of many-one reductions from the Turing machine halting problem to semi-unification, establishing $R E$-completeness under many-one reductions. It replaces reliance on Turing machine immortality with a uniform boundedness approach via one-counter and two-stack machines, and ultimately to a fragment of semi-unification, all mechanized in Coq and integrated into the CLUP20 library. The reductions are carefully modular, with each step proven constructively and mechanically, ensuring global and local surveyability of the argument. The mechanization not only certifies correctness but also demonstrates a practical pathway to mechanize related undecidability results, such as System F typability, and paves the way for further formalized reductions in computability theory.
Abstract
Semi-unification is the combination of first-order unification and first-order matching. The undecidability of semi-unification has been proven by Kfoury, Tiuryn, and Urzyczyn in the 1990s by Turing reduction from Turing machine immortality (existence of a diverging configuration). The particular Turing reduction is intricate, uses non-computational principles, and involves various intermediate models of computation. The present work gives a constructive many-one reduction from the Turing machine halting problem to semi-unification. This establishes RE-completeness of semi-unification under many-one reductions. Computability of the reduction function, constructivity of the argument, and correctness of the argument is witnessed by an axiom-free mechanization in the Coq proof assistant. Arguably, this serves as comprehensive, precise, and surveyable evidence for the result at hand. The mechanization is incorporated into the existing, well-maintained Coq library of undecidability proofs. Notably, a variant of Hooper's argument for the undecidability of Turing machine immortality is part of the mechanization.
