:- module set_unordlist. :- pragma termination_info(set_unordlist:list_to_set((builtin:in), (builtin:out)), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:list_to_set((builtin:in)) = (builtin:out), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:sorted_list_to_set((builtin:in), (builtin:out)), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:sorted_list_to_set((builtin:in)) = (builtin:out), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:to_sorted_list((builtin:in), (builtin:out)), finite(0, [no, yes, no]), can_loop). :- pragma termination_info(set_unordlist:to_sorted_list((builtin:in)) = (builtin:out), finite(0, [no, yes, no]), can_loop). :- pragma termination_info(set_unordlist:init((builtin:uo)), finite(0, [no, no]), cannot_loop). :- pragma termination_info((set_unordlist:init) = (builtin:out), finite(0, [no, no]), cannot_loop). :- pragma termination_info(set_unordlist:singleton_set((builtin:in), (builtin:out)), finite(-2, [no, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:singleton_set((builtin:out), (builtin:in)), finite(2, [no, no, yes]), cannot_loop). :- pragma termination_info(set_unordlist:make_singleton_set((builtin:in)) = (builtin:out), finite(2, [no, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:equal((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:empty((builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(set_unordlist:subset((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:superset((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:member((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:member((builtin:out), (builtin:in)), finite(-2, [no, no, yes]), cannot_loop). :- pragma termination_info(set_unordlist:is_member((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:contains((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:insert((builtin:di), (builtin:di), (builtin:uo)), finite(2, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:insert((builtin:in), (builtin:in), (builtin:out)), finite(2, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:insert((builtin:in), (builtin:in)) = (builtin:out), finite(2, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:insert_list((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:insert_list((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:delete((builtin:di), (builtin:in), (builtin:uo)), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:delete((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:delete((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:delete_list((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:delete_list((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:remove((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:remove_list((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:remove_least((builtin:in), (builtin:out), (builtin:out)), finite(-2, [no, yes, no, no]), can_loop). :- pragma termination_info(set_unordlist:union((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:union((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:union_list((builtin:in)) = (builtin:out), finite(0, [no, yes, no]), can_loop). :- pragma termination_info(set_unordlist:power_union((builtin:in), (builtin:out)), finite(0, [no, yes, no]), can_loop). :- pragma termination_info(set_unordlist:power_union((builtin:in)) = (builtin:out), finite(0, [no, yes, no]), can_loop). :- pragma termination_info(set_unordlist:intersect((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, no, no]), can_loop). :- pragma termination_info(set_unordlist:intersect((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, no, no]), can_loop). :- pragma termination_info(set_unordlist:power_intersect((builtin:in), (builtin:out)), finite(0, [no, yes, no]), can_loop). :- pragma termination_info(set_unordlist:power_intersect((builtin:in)) = (builtin:out), finite(0, [no, yes, no]), can_loop). :- pragma termination_info(set_unordlist:intersect_list((builtin:in)) = (builtin:out), finite(0, [no, yes, no]), can_loop). :- pragma termination_info(set_unordlist:difference((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:difference((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_unordlist:map((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_unordlist:filter_map((func((builtin:in)) = (builtin:out) is semidet), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_unordlist:fold((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_unordlist:divide((pred((builtin:in)) is semidet), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_unordlist:power_union_2((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:intersect_2((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, no, yes, no]), can_loop). :- pragma termination_info(set_unordlist:difference_2((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(set_unordlist:divide_2((pred((builtin:in)) is semidet), (builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop).