:- module select. :- pragma termination_info(select.select((builtin.out), (builtin.in), (builtin.out)), finite(-1, [no, no, yes, no]), cannot_loop). :- pragma termination2_info(select.select((builtin.out), (builtin.in), (builtin.out)), constraints([eq([term(1, r(1, 1)), term(2, r(-1, 1)), term(3, r(1, 1))], r(-2, 1))]), not_set, cannot_loop).