:- module varset. :- pragma termination_info(varset:init((builtin:out)), infinite, can_loop). :- pragma termination_info((varset:init) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:is_empty((builtin:in)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(varset:new_var((builtin:in), (builtin:out), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(varset:new_named_var((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:new_uniquely_named_var((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:new_maybe_named_var((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:new_vars((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:delete_var((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:delete_var((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:delete_vars((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:delete_vars((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:vars((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:vars((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:name_var((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:name_var((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:lookup_name((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:lookup_name((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:lookup_name((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:lookup_name((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:search_name((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:bind_var((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:bind_var((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:bind_vars((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:bind_vars((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:search_var((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:lookup_vars((builtin:in), (builtin:out)), finite(-3, [no, yes, no]), cannot_loop). :- pragma termination_info(varset:lookup_vars((builtin:in)) = (builtin:out), finite(-3, [no, yes, no]), cannot_loop). :- pragma termination_info(varset:merge((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:merge_subst((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:merge_without_names((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:merge_subst_without_names((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:get_bindings((builtin:in), (builtin:out)), finite(-3, [no, yes, no]), cannot_loop). :- pragma termination_info(varset:get_bindings((builtin:in)) = (builtin:out), finite(-3, [no, yes, no]), cannot_loop). :- pragma termination_info(varset:set_bindings((builtin:in), (builtin:in), (builtin:out)), finite(0, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(varset:set_bindings((builtin:in), (builtin:in)) = (builtin:out), finite(0, [no, yes, yes, no]), cannot_loop). :- pragma termination_info(varset:create_name_var_map((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:create_name_var_map((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:var_name_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:var_name_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:ensure_unique_names((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:ensure_unique_names((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:select((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:select((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(varset:squash((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:coerce((builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(varset:coerce((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(varset:new_vars_2((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:vars_2((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:bind_vars_2((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:merge_subst((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:merge_subst_2((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:ensure_unique_names_2((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(varset:copy_var_names((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop).