Halting problem H is a decision PROBLEM (not a real program yet). If one tries
to write such a program:
// [Syn] Decide whether the function %f, given the argument %a, will halt or not,
//
// [Ret] true: f(a) will halt
// false: otherwise
//
// Note: %f is ANY program of the machine
//
bool H(Func f, Arg a);
Quick answer: By GUA
https://groups.google.com/g/comp.theory/c/7dn3oEmo4Is
,HP is undecidable, i.e. no such correct H can exist.
See Also:
https://www.geeksforgeeks.org/halting-problem-in-theory-of-computation/
There is no self-reference issue in such kind of problems governed by GUA.
Liar paradox is a different problem, any rebuttal just need to practically
write a real program (C, assembly, or TM) to demonstrate to see why, not just empty talk.