No, a proto nepíšu obecné algoritmy pro libovolný vstup, ale konkrétní algoritmy pro konkrétní množinu dat.
Čímž se dostáváme zpět k tomu, že statickým typováním si určuju tu množinu, že jo.
Množinu zúžíš, ale to je hodně daleko od vyřešení halting problému pro konkrétní program. On může být velice triviální:
def collatz_sequence(x):
seq = [x]
while x > 1:
if x % 2 == 0:
x = x / 2
else:
x = 3 * x + 1
seq.append(x)
return seq
Dokaž, že to skončí pro jakékoliv x. Ušetřím ti práci, formálně to ještě nikdo nedokázal.