:- module bt_array. :- pragma termination_info(bt_array:make_empty_array((builtin:in), (builtin:out)), finite(3, [no, yes, no]), cannot_loop). :- pragma termination_info(bt_array:make_empty_array((builtin:in)) = (builtin:out), finite(3, [no, yes, no]), cannot_loop). :- pragma termination_info(bt_array:init((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:init((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(bt_array:min((builtin:in), (builtin:out)), finite(-3, [no, yes, no]), cannot_loop). :- pragma termination_info(bt_array:min((builtin:in)) = (builtin:out), finite(-3, [no, yes, no]), cannot_loop). :- pragma termination_info(bt_array:max((builtin:in), (builtin:out)), finite(-3, [no, yes, no]), cannot_loop). :- pragma termination_info(bt_array:max((builtin:in)) = (builtin:out), finite(-3, [no, yes, no]), cannot_loop). :- pragma termination_info(bt_array:size((builtin:in), (builtin:out)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(bt_array:size((builtin:in)) = (builtin:out), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(bt_array:bounds((builtin:in), (builtin:out), (builtin:out)), finite(-3, [no, yes, no, no]), cannot_loop). :- pragma termination_info(bt_array:in_bounds((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(bt_array:lookup((builtin:in), (builtin:in), (builtin:out)), finite(-7, [no, yes, no, no]), can_loop). :- pragma termination_info(bt_array:lookup((builtin:in), (builtin:in)) = (builtin:out), finite(-7, [no, yes, no, no]), can_loop). :- pragma termination_info(bt_array:semidet_lookup((builtin:in), (builtin:in), (builtin:out)), finite(-7, [no, yes, no, no]), can_loop). :- pragma termination_info(bt_array:set((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(1, [no, yes, no, yes, no]), can_loop). :- pragma termination_info(bt_array:set((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), finite(1, [no, yes, no, yes, no]), can_loop). :- pragma termination_info(bt_array:semidet_set((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(1, [no, yes, no, yes, no]), can_loop). :- pragma termination_info(bt_array:resize((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:resize((builtin:in), (builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(bt_array:shrink((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:shrink((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(bt_array:from_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:from_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(bt_array:to_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:to_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(bt_array:fetch_items((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:fetch_items((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(bt_array:bsearch((builtin:in), (builtin:in), builtin:in((builtin:comparison_pred)), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:elem((builtin:in), (builtin:in)) = (builtin:out), finite(-7, [no, no, yes, no]), can_loop). :- pragma termination_info(bt_array:'elem :='((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), finite(1, [no, no, yes, yes, no]), can_loop). :- pragma termination_info(bt_array:add_elements((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:actual_position((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(bt_array:reverse_into_ra_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:reverse_from_ra_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:bsearch_2((builtin:in), (builtin:in), (builtin:in), (builtin:in), (pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:ra_list_nil((builtin:uo)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(bt_array:ra_list_cons((builtin:in), (builtin:in), (builtin:out)), finite(4, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(bt_array:ra_list_head_tail((builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(bt_array:ra_list_lookup((builtin:in), (builtin:in), (builtin:out)), finite(-4, [no, no, yes, no]), can_loop). :- pragma termination_info(bt_array:ra_list_update((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(1, [no, yes, no, yes, no]), can_loop). :- pragma termination_info(bt_array:ra_list_lookup_2((builtin:in), (builtin:in), (builtin:out)), finite(-4, [no, no, yes, no]), can_loop). :- pragma termination_info(bt_array:ra_list_bintree_lookup((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(-1, [no, no, yes, no, no]), can_loop). :- pragma termination_info(bt_array:ra_list_update_2((builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(1, [no, yes, no, yes, no]), can_loop). :- pragma termination_info(bt_array:ra_list_bintree_update((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out)), finite(1, [no, no, yes, no, yes, no]), can_loop).