:- module set_bbbtree. :- pragma termination_info(set_bbbtree:init((builtin:uo)), finite(0, [no, no]), cannot_loop). :- pragma termination_info((set_bbbtree:init) = (builtin:out), finite(0, [no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:empty((builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:size((builtin:in), (builtin:out)), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:member((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:member((builtin:out), (builtin:in)), finite(-4, [no, no, yes]), cannot_loop). :- pragma termination_info(set_bbbtree:is_member((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:contains((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:least((builtin:in), (builtin:out)), finite(-4, [no, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:least((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:largest((builtin:in), (builtin:out)), finite(-4, [no, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:largest((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:singleton_set((builtin:uo), (builtin:di)), finite(4, [no, no, yes]), cannot_loop). :- pragma termination_info(set_bbbtree:singleton_set((builtin:in), (builtin:out)), finite(-4, [no, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:singleton_set((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:singleton_set((builtin:out), (builtin:in)), finite(4, [no, no, yes]), cannot_loop). :- pragma termination_info(set_bbbtree:make_singleton_set((builtin:in)) = (builtin:out), finite(4, [no, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:equal((builtin:in), (builtin:in)), finite(0, [no, no, no]), can_loop). :- pragma termination_info(set_bbbtree:insert((builtin:di), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(set_bbbtree:insert((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:insert((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:insert_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:insert_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:delete((builtin:di), (builtin:in), (builtin:uo)), infinite, can_loop). :- pragma termination_info(set_bbbtree:delete((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:delete((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:delete_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:delete_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:remove((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:remove_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:remove_least((builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:remove_largest((builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, yes, no, no]), cannot_loop). :- pragma termination_info(set_bbbtree:list_to_set((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:list_to_set((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:sorted_list_to_set((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:sorted_list_to_set((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:sorted_list_to_set_len((builtin:in), (builtin:out), (builtin:in)), infinite, can_loop). :- pragma termination_info(set_bbbtree:to_sorted_list((builtin:di), (builtin:uo)), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:to_sorted_list((builtin:in), (builtin:out)), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:to_sorted_list((builtin:in)) = (builtin:out), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:union((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:union((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:union_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:power_union((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:power_union((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:intersect((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:intersect((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:power_intersect((builtin:in), (builtin:out)), finite(0, [no, no, no]), can_loop). :- pragma termination_info(set_bbbtree:power_intersect((builtin:in)) = (builtin:out), finite(0, [no, no, no]), can_loop). :- pragma termination_info(set_bbbtree:intersect_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:difference((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(set_bbbtree:difference((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:subset((builtin:in), (builtin:in)), finite(0, [no, no, no]), can_loop). :- pragma termination_info(set_bbbtree:superset((builtin:in), (builtin:in)), finite(0, [no, no, no]), can_loop). :- pragma termination_info(set_bbbtree:map((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:filter_map((func((builtin:in)) = (builtin:out) is semidet), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:fold((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:def_ratio((builtin:uo)), finite(0, [no]), cannot_loop). :- pragma termination_info(set_bbbtree:insert_r((builtin:in), (builtin:in), (builtin:out), (builtin:in)), infinite, can_loop). :- pragma termination_info(set_bbbtree:insert_list_r((builtin:in), (builtin:in), (builtin:out), (builtin:in)), infinite, can_loop). :- pragma termination_info(set_bbbtree:list_to_set_r((builtin:in), (builtin:out), (builtin:in)), infinite, can_loop). :- pragma termination_info(set_bbbtree:to_sorted_list2((builtin:di), (builtin:di), (builtin:uo)), finite(0, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:to_sorted_list2((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(set_bbbtree:union_r((builtin:in), (builtin:in), (builtin:out), (builtin:in)), infinite, can_loop). :- pragma termination_info(set_bbbtree:power_union_r((builtin:in), (builtin:out), (builtin:in)), infinite, can_loop). :- pragma termination_info(set_bbbtree:intersect_r((builtin:in), (builtin:in), (builtin:out), (builtin:in)), infinite, can_loop). :- pragma termination_info(set_bbbtree:power_intersect_r((builtin:in), (builtin:out), (builtin:in)), finite(0, [no, no, no, no]), can_loop). :- pragma termination_info(set_bbbtree:intersect_list_r((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(set_bbbtree:difference_r((builtin:in), (builtin:in), (builtin:out), (builtin:in)), infinite, can_loop).