:- module map. :- pragma termination_info(map:init((builtin:uo)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info((map:init) = (builtin:uo), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(map:is_empty((builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(map:contains((builtin:in), (builtin:in)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(map:member((builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, no, no]), cannot_loop). :- pragma termination_info(map:search((builtin:in), (builtin:in), (builtin:out)), finite(-4, [no, no, yes, no, no]), cannot_loop). :- pragma termination_info(map:search((builtin:in), (builtin:in)) = (builtin:out), finite(-4, [no, no, yes, no, no]), cannot_loop). :- pragma termination_info(map:lookup((builtin:in), (builtin:in), (builtin:out)), finite(-4, [no, no, yes, no, no]), can_loop). :- pragma termination_info(map:lookup((builtin:in), (builtin:in)) = (builtin:out), finite(-4, [no, no, yes, no, no]), can_loop). :- pragma termination_info(map:lower_bound_search((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, yes, no, no]), cannot_loop). :- pragma termination_info(map:lower_bound_lookup((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, yes, no, no]), can_loop). :- pragma termination_info(map:upper_bound_search((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, yes, no, no]), cannot_loop). :- pragma termination_info(map:upper_bound_lookup((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, yes, no, no]), can_loop). :- pragma termination_info(map:inverse_search((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:insert((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(map:insert((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(map:det_insert((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:det_insert((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:det_insert_from_corresponding_lists((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:det_insert_from_corresponding_lists((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:det_insert_from_assoc_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:det_insert_from_assoc_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:set_from_corresponding_lists((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:set_from_corresponding_lists((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:set_from_assoc_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:set_from_assoc_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:update((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, no, yes, no]), cannot_loop). :- pragma termination_info(map:update((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, no, yes, no, yes, no]), cannot_loop). :- pragma termination_info(map:det_update((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, no, yes, no]), can_loop). :- pragma termination_info(map:det_update((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, no, yes, no, yes, no]), can_loop). :- pragma termination_info(map:set((builtin:di), (builtin:di), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(map:set((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(map:set((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(map:keys((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(map:keys((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(map:sorted_keys((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(map:sorted_keys((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(map:values((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(map:values((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(map:to_assoc_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:to_assoc_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:to_sorted_assoc_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:to_sorted_assoc_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:from_assoc_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:from_assoc_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:from_sorted_assoc_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:from_sorted_assoc_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:delete((builtin:di), (builtin:in), (builtin:uo)), infinite, can_loop). :- pragma termination_info(map:delete((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:delete((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:delete_list((builtin:di), (builtin:in), (builtin:uo)), infinite, can_loop). :- pragma termination_info(map:delete_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:delete_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:remove((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:det_remove((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:count((builtin:in), (builtin:out)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(map:count((builtin:in)) = (builtin:out), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(map:from_corresponding_lists((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:from_corresponding_lists((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:merge((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:merge((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:overlay((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:overlay((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:select((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:select((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:apply_to_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:apply_to_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:optimize((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(map:optimize((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(map:remove_smallest((builtin:in), (builtin:out), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:foldl((pred((builtin:in), (builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:foldl((pred((builtin:in), (builtin:in), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:foldl((pred((builtin:in), (builtin:in), (builtin:di), (builtin:uo)) is det), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(map:foldl((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:foldl2((pred((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:foldl2((pred((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:foldl2((pred((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is det), (builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(map:foldl2((pred((builtin:in), (builtin:in), (builtin:di), (builtin:uo), (builtin:di), (builtin:uo)) is det), (builtin:in), (builtin:di), (builtin:uo), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(map:map_values((pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:map_values((pred((builtin:in), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:map_values((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:map_foldl((pred((builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:map_foldl((pred((builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:intersect((pred((builtin:in), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:intersect((pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:intersect((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:det_intersect((pred((builtin:in), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:det_intersect((func((builtin:in), (builtin:in)) = (builtin:out) is semidet), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:union((pred((builtin:in), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:union((pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:union((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:det_union((pred((builtin:in), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:det_union((func((builtin:in), (builtin:in)) = (builtin:out) is semidet), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(map:elem((builtin:in), (builtin:in)) = (builtin:out), finite(-4, [no, no, no, yes, no]), cannot_loop). :- pragma termination_info(map:det_elem((builtin:in), (builtin:in)) = (builtin:out), finite(-4, [no, no, no, yes, no]), can_loop). :- pragma termination_info(map:'elem :='((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(map:'det_elem :='((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, no, no, yes, yes, no]), can_loop). :- pragma termination_info(map:assoc_list_member((builtin:in), (builtin:out), (builtin:in)), finite(-4, [no, no, no, no, yes]), cannot_loop). :- pragma termination_info(map:assoc_list_member((builtin:out), (builtin:in), (builtin:in)), finite(-4, [no, no, no, no, yes]), cannot_loop). :- pragma termination_info(map:assoc_list_member((builtin:in), (builtin:in), (builtin:in)), finite(0, [no, no, no, no, no]), cannot_loop). :- pragma termination_info(map:overlay_2((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:select_2((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:intersect_2((builtin:in), (builtin:in), (pred((builtin:in), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:intersect_2((builtin:in), (builtin:in), (pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:union_2((builtin:in), (builtin:in), (pred((builtin:in), (builtin:in), (builtin:out)) is semidet), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(map:union_2((builtin:in), (builtin:in), (pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:out)), infinite, can_loop).