:- module eqvclass. :- pragma termination_info(eqvclass:init((builtin:out)), finite(3, [no, no]), cannot_loop). :- pragma termination_info((eqvclass:init) = (builtin:out), finite(3, [no, no]), cannot_loop). :- pragma termination_info(eqvclass:is_member((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(eqvclass:ensure_element((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:ensure_element((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(eqvclass:new_element((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:new_element((builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(eqvclass:ensure_equivalence((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:ensure_equivalence((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(eqvclass:new_equivalence((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:new_equivalence((builtin:in), (builtin:in), (builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(eqvclass:same_eqvclass((builtin:in), (builtin:in), (builtin:in)), finite(0, [no, no, no, no]), cannot_loop). :- pragma termination_info(eqvclass:same_eqvclass_list((builtin:in), (builtin:in)), finite(0, [no, no, no]), cannot_loop). :- pragma termination_info(eqvclass:partition_set((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:partition_set((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(eqvclass:partition_list((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:partition_list((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(eqvclass:partition_set_to_eqvclass((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:partition_set_to_eqvclass((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(eqvclass:partition_list_to_eqvclass((builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:partition_list_to_eqvclass((builtin:in)) = (builtin:out), infinite, can_loop). :- pragma termination_info(eqvclass:ensure_element_2((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:add_element((builtin:in), (builtin:in), (builtin:out), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:add_equivalence((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:change_partition((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:partitions((builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(eqvclass:partition_ids((builtin:in), (builtin:out)), finite(-3, [no, yes, no]), cannot_loop).