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