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