:- module sparse_bitset. :- pragma termination_info((sparse_bitset:init) = (builtin:out), finite(1, [no, no]), cannot_loop). :- pragma termination_info(sparse_bitset:init((builtin:out)), finite(1, [no, no]), cannot_loop). :- pragma termination_info(sparse_bitset:empty((builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(sparse_bitset:empty((builtin:out)), finite(1, [no, no]), cannot_loop). :- pragma termination_info(sparse_bitset:equal((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(sparse_bitset:list_to_set((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:list_to_set((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:sorted_list_to_set((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:sorted_list_to_set((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:to_sorted_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:to_sorted_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:make_singleton_set((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:singleton_set((builtin:out), (builtin:in)), infinite, can_loop). :- pragma termination_info(sparse_bitset:subset((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(sparse_bitset:superset((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(sparse_bitset:contains((builtin:in), (builtin:in)), finite(0, [no, no, no]), can_loop). :- pragma termination_info(sparse_bitset:insert((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:insert((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:insert_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:insert_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:delete((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:delete((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:delete_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:delete_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:remove((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:remove((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:remove_list((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:remove_list((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:remove_least((builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(sparse_bitset:union((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:union((builtin:in), (builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:intersect((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:intersect((builtin:in), (builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:difference((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:difference((builtin:in), (builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:count((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:foldl((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:foldr((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:foldl_2((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:foldr_2((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:fold_bits((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:fold_bits_2((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:insert_2((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:list_to_set_2((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:sorted_list_to_set_2((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(sparse_bitset:contains_2((builtin:in), (builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(sparse_bitset:union_2((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:intersect_2((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:difference_2((builtin:in), (builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(sparse_bitset:mask((builtin:in)) = (builtin:out), finite(0, [no, no]), cannot_loop).