:- module multi_map. :- pragma termination_info(multi_map:init((builtin:uo)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(multi_map:is_empty((builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(multi_map:contains((builtin:in), (builtin:in)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(multi_map:member((builtin:in), (builtin:out), (builtin:out)), finite(-6, [no, no, yes, no, no]), cannot_loop). :- pragma termination_info(multi_map:search((builtin:in), (builtin:in), (builtin:out)), finite(-4, [no, no, yes, no, no]), cannot_loop). :- pragma termination_info(multi_map:nondet_search((builtin:in), (builtin:in), (builtin:out)), finite(-6, [no, no, yes, no, no]), cannot_loop). :- pragma termination_info(multi_map:lookup((builtin:in), (builtin:in), (builtin:out)), finite(-4, [no, no, yes, no, no]), can_loop). :- pragma termination_info(multi_map:nondet_lookup((builtin:in), (builtin:in), (builtin:out)), finite(-6, [no, no, yes, no, no]), cannot_loop). :- pragma termination_info(multi_map:inverse_search((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:insert((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(multi_map:det_insert((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:update((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(multi_map:det_update((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(2, [no, no, yes, no, yes, no]), can_loop). :- pragma termination_info(multi_map:det_replace((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, no, yes, no]), can_loop). :- pragma termination_info(multi_map:set((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:keys((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(multi_map:values((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(multi_map:to_assoc_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:from_assoc_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:from_sorted_assoc_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:delete((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:delete((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:remove((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:det_remove((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:count((builtin:in), (builtin:out)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(multi_map:all_count((builtin:in), (builtin:out)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(multi_map:from_corresponding_lists((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:from_corresponding_list_lists((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:merge((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:select((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:apply_to_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:optimize((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(multi_map:remove_smallest((builtin:in), (builtin:out), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:count_list((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(multi_map:assoc_list_member((builtin:in), (builtin:in), (builtin:out)), finite(-4, [no, no, no, yes, no]), cannot_loop). :- pragma termination_info(multi_map:from_corresponding_lists_2((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(multi_map:assoc_list_merge((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, yes, no]), cannot_loop).