:- module bintree. :- pragma termination_info(bintree:init((builtin:uo)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(bintree:insert((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(4, [no, no, yes, yes, yes, no]), cannot_loop). :- pragma termination_info(bintree:update((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, no, yes, no]), cannot_loop). :- pragma termination_info(bintree:set((builtin:di), (builtin:di), (builtin:di), (builtin:uo)), finite(4, [no, no, yes, yes, yes, no]), cannot_loop). :- pragma termination_info(bintree:set((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(4, [no, no, yes, yes, yes, no]), cannot_loop). :- pragma termination_info(bintree:set((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), finite(4, [no, no, yes, yes, yes, no]), cannot_loop). :- pragma termination_info(bintree:search((builtin:in), (builtin:in), (builtin:in)), finite(0, [no, no, no, no, no]), cannot_loop). :- pragma termination_info(bintree:search((builtin:in), (builtin:in), (builtin:out)), finite(-4, [no, no, yes, no, no]), cannot_loop). :- pragma termination_info(bintree:lookup((builtin:in), (builtin:in), (builtin:out)), finite(-4, [no, no, yes, no, no]), can_loop). :- pragma termination_info(bintree:lookup((builtin:in), (builtin:in)) = (builtin:out), finite(-4, [no, no, yes, no, no]), can_loop). :- pragma termination_info(bintree:lower_bound_search((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, no, no, no]), cannot_loop). :- pragma termination_info(bintree:lower_bound_lookup((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, no, no, no]), can_loop). :- pragma termination_info(bintree:upper_bound_search((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, no, no, no]), cannot_loop). :- pragma termination_info(bintree:upper_bound_lookup((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, no, no, no]), can_loop). :- pragma termination_info(bintree:delete((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, no, no]), can_loop). :- pragma termination_info(bintree:delete((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, no, yes, no, no]), can_loop). :- pragma termination_info(bintree:remove((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(-4, [no, no, yes, no, no, no]), can_loop). :- pragma termination_info(bintree:keys((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(bintree:keys((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(bintree:values((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(bintree:values((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), cannot_loop). :- pragma termination_info(bintree:from_list((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), can_loop). :- pragma termination_info(bintree:from_list((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), can_loop). :- pragma termination_info(bintree:from_sorted_list((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), can_loop). :- pragma termination_info(bintree:from_sorted_list((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), can_loop). :- pragma termination_info(bintree:from_corresponding_lists((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, yes, no]), can_loop). :- pragma termination_info(bintree:from_corresponding_lists((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, no, yes, yes, no]), can_loop). :- pragma termination_info(bintree:to_list((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), can_loop). :- pragma termination_info(bintree:to_list((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), can_loop). :- pragma termination_info(bintree:count((builtin:in), (builtin:out)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(bintree:count((builtin:in)) = (builtin:out), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(bintree:depth((builtin:in), (builtin:out)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(bintree:depth((builtin:in)) = (builtin:out), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(bintree:branching_factor((builtin:in), (builtin:out), (builtin:out)), finite(0, [no, no, no, no, no]), cannot_loop). :- pragma termination_info(bintree:balance((builtin:in), (builtin:out)), finite(0, [no, no, yes, no]), can_loop). :- pragma termination_info(bintree:balance((builtin:in)) = (builtin:out), finite(0, [no, no, yes, no]), can_loop). :- pragma termination_info(bintree:from_list_2((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, yes, no]), can_loop). :- pragma termination_info(bintree:from_sorted_list_2((builtin:in), (builtin:in), (builtin:out), (builtin:out)), finite(0, [no, no, no, yes, no, no]), can_loop). :- pragma termination_info(bintree:from_corresponding_lists_2((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, yes, yes, no]), can_loop). :- pragma termination_info(bintree:to_list_2((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, yes, no]), can_loop). :- pragma termination_info(bintree:keys_2((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, yes, no]), cannot_loop). :- pragma termination_info(bintree:values_2((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, yes, yes, no]), cannot_loop).