:- module queue. :- pragma termination_info(queue:init((builtin:out)), finite(2, [no, no]), cannot_loop). :- pragma termination_info((queue:init) = (builtin:out), finite(2, [no, no]), cannot_loop). :- pragma termination_info(queue:equal((builtin:in), (builtin:in)), finite(0, [no, no, no]), can_loop). :- pragma termination_info(queue:is_empty((builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(queue:is_full((builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(queue:put((builtin:in), (builtin:in), (builtin:out)), finite(2, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(queue:put((builtin:in), (builtin:in)) = (builtin:out), finite(2, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(queue:put_list((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, yes, no]), can_loop). :- pragma termination_info(queue:put_list((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, yes, no]), can_loop). :- pragma termination_info(queue:first((builtin:in), (builtin:out)), finite(-4, [no, yes, no]), cannot_loop). :- pragma termination_info(queue:get((builtin:in), (builtin:out), (builtin:out)), finite(-2, [no, yes, no, no]), can_loop). :- pragma termination_info(queue:length((builtin:in), (builtin:out)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(queue:length((builtin:in)) = (builtin:out), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(queue:list_to_queue((builtin:in), (builtin:out)), finite(2, [no, yes, no]), cannot_loop). :- pragma termination_info(queue:list_to_queue((builtin:in)) = (builtin:out), finite(2, [no, yes, no]), cannot_loop). :- pragma termination_info(queue:delete_all((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, no, no]), can_loop). :- pragma termination_info(queue:delete_all((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, no, no]), can_loop).