[Agda] Theoretical limits of termination checking (reference
request)
Thomas Jaeger
thjaeger at gmail.com
Sat Aug 9 20:12:52 CEST 2014
On 07/29/2014 02:26 PM, Kirill Elagin wrote:
> Formally: is there a subset of programs, such that there is an algorithm
> correctly checking termination of programs from this subset _and_ for
> any program there is an equivalent in this subset (by “equivalent” I
> mean “extensionally equal”)?
I'm assuming you require that membership in this subset be decidable. In
that case, the answer is no, by diagonalization. You can enumerate all
programs (in the subset) that terminate according to your termination
checker; let f_i be the function that the ith program in that list
computes. Then there is a terminating program that computes the
function g(i) := f_i(i) + 1 that your termination checker won't catch.
Thomas
More information about the Agda
mailing list