:- module io. :- pragma termination_info(io:read_char((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_word((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_line((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_line_as_string((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_file((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_file_as_string((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl((pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl((pred((builtin:in), (builtin:in), (builtin:out)) is cc_multi), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl_io((pred((builtin:in), (builtin:di), (builtin:uo)) is det), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl_io((pred((builtin:in), (builtin:di), (builtin:uo)) is cc_multi), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl2_io((pred((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is det), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl2_io((pred((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is cc_multi), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:putback_char((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_char((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_word((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_line((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_line_as_string((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_file((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_file_as_string((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl((builtin:in), (pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl((builtin:in), (pred((builtin:in), (builtin:in), (builtin:out)) is cc_multi), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl_io((builtin:in), (pred((builtin:in), (builtin:di), (builtin:uo)) is det), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl_io((builtin:in), (pred((builtin:in), (builtin:di), (builtin:uo)) is cc_multi), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl2_io((builtin:in), (pred((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is det), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream_foldl2_io((builtin:in), (pred((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is cc_multi), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:putback_char((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_from_string((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(io:ignore_whitespace((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:ignore_whitespace((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:print((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:print((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:print((builtin:in), builtin:in((deconstruct:do_not_allow)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:print((builtin:in), builtin:in((deconstruct:canonicalize)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:print((builtin:in), builtin:in((deconstruct:include_details_cc)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:print((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:print_cc((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write((builtin:in), builtin:in((deconstruct:do_not_allow)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write((builtin:in), builtin:in((deconstruct:canonicalize)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write((builtin:in), builtin:in((deconstruct:include_details_cc)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_cc((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:nl((builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:nl((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_string((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_string((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_strings((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_strings((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_char((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_char((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_int((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_int((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_float((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_float((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:format((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:format((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_many((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_many((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_list((builtin:in), (builtin:in), (pred((builtin:in), (builtin:di), (builtin:uo)) is det), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_list((builtin:in), (builtin:in), (pred((builtin:in), (builtin:di), (builtin:uo)) is cc_multi), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_list((builtin:in), (builtin:in), (builtin:in), (pred((builtin:in), (builtin:di), (builtin:uo)) is det), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_list((builtin:in), (builtin:in), (builtin:in), (pred((builtin:in), (builtin:di), (builtin:uo)) is cc_multi), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:flush_output((builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:flush_output((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:see((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:seen((builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:open_input((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:close_input((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:input_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_input_stream((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:stdin_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:current_input_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:input_stream_name((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:input_stream_name((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:get_line_number((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:get_line_number((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_line_number((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_line_number((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:tell((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:told((builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:open_output((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:open_append((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:close_output((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:output_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_output_stream((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:stdout_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:stderr_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:current_output_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:output_stream_name((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:output_stream_name((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:get_output_line_number((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:get_output_line_number((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_output_line_number((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_output_line_number((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_binary((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_binary((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_byte((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_byte((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_binary_file((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_binary_file((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl((pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl((pred((builtin:in), (builtin:in), (builtin:out)) is cc_multi), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl_io((pred((builtin:in), (builtin:di), (builtin:uo)) is det), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl_io((pred((builtin:in), (builtin:di), (builtin:uo)) is cc_multi), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl2_io((pred((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is det), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl2_io((pred((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is cc_multi), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl((builtin:in), (pred((builtin:in), (builtin:in), (builtin:out)) is det), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl((builtin:in), (pred((builtin:in), (builtin:in), (builtin:out)) is cc_multi), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl_io((builtin:in), (pred((builtin:in), (builtin:di), (builtin:uo)) is det), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl_io((builtin:in), (pred((builtin:in), (builtin:di), (builtin:uo)) is cc_multi), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl2_io((builtin:in), (pred((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is det), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream_foldl2_io((builtin:in), (pred((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)) is cc_multi), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:putback_byte((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:putback_byte((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_binary((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_binary((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_byte((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_byte((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_bytes((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:write_bytes((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:flush_binary_output((builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:flush_binary_output((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:seek_binary((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:binary_stream_offset((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:see_binary((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:seen_binary((builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:open_binary_input((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:close_binary_input((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_input_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_binary_input_stream((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:stdin_binary_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:current_binary_input_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:binary_input_stream_name((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:binary_input_stream_name((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:tell_binary((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:told_binary((builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:open_binary_output((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:open_binary_append((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:close_binary_output((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:binary_output_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:stdout_binary_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_binary_output_stream((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:current_binary_output_stream((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:binary_output_stream_name((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:binary_output_stream_name((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:progname((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:progname_base((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:command_line_arguments((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:get_exit_status((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_exit_status((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:get_globals((builtin:uo), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_globals((builtin:di), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:get_environment_var((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_environment_var((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), finite(0, [no, no, yes, no]), can_loop). :- pragma termination_info(io:tmpnam((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:tmpnam((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:make_temp((builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:make_temp((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:remove_file((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:rename_file((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:file_modification_time((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:report_stats((builtin:di), (builtin:uo)), finite(0, [yes, no]), can_loop). :- pragma termination_info(io:report_full_memory_stats((builtin:di), (builtin:uo)), finite(0, [yes, no]), can_loop). :- pragma termination_info(io:report_stats((builtin:in), (builtin:di), (builtin:uo)), finite(0, [no, yes, no]), can_loop). :- pragma termination_info(io:call_system((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:call_system_return_signal((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:make_io_error((builtin:in)) = (builtin:out), finite(1, [yes, no]), cannot_loop). :- pragma termination_info(io:error_message((builtin:in)) = (builtin:out), finite(-1, [yes, no]), cannot_loop). :- pragma termination_info(io:error_message((builtin:in), (builtin:out)), finite(-1, [yes, no]), cannot_loop). :- pragma termination_info(io:get_op_table((builtin:out), (builtin:di), (builtin:uo)), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(io:set_op_table((builtin:di), (builtin:di), (builtin:uo)), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(io:write_univ((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_univ((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_univ((builtin:in), builtin:in((deconstruct:do_not_allow)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_univ((builtin:in), builtin:in((deconstruct:canonicalize)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_univ((builtin:in), builtin:in((deconstruct:include_details_cc)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:write_univ((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_from_string_with_int_instead_of_char((builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(io:handle_system_command_exit_status((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(io:get_stream_id((builtin:in)) = (builtin:out), infinite, cannot_loop). :- pragma termination_info(io:read_char_code((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_byte_val((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:call_system_code((builtin:in), (builtin:out), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:getenv((builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(io:read_file_2((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:make_err_msg((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:file_modification_time_2((builtin:in), (builtin:out), (builtin:out), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:read_binary_file_2((builtin:in), (builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:read_from_string((builtin:in), (builtin:in), (builtin:in), (builtin:in), (builtin:out), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(io:process_read_term((builtin:in), (builtin:in), (builtin:in), (builtin:out)), infinite, can_loop). :- pragma termination_info(io:do_print(builtin:in((deconstruct:do_not_allow)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_print(builtin:in((deconstruct:canonicalize)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_print(builtin:in((deconstruct:include_details_cc)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_print((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write(builtin:in((deconstruct:do_not_allow)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write(builtin:in((deconstruct:canonicalize)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write(builtin:in((deconstruct:include_details_cc)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write_univ(builtin:in((deconstruct:do_not_allow)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write_univ(builtin:in((deconstruct:canonicalize)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write_univ(builtin:in((deconstruct:include_details_cc)), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write_univ((builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write_univ(builtin:in((deconstruct:do_not_allow)), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write_univ(builtin:in((deconstruct:canonicalize)), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write_univ(builtin:in((deconstruct:include_details_cc)), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:do_write_univ((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:convert_read_result((builtin:in), (builtin:out)), finite(0, [no, yes, no]), cannot_loop). :- pragma termination_info(io:stream_name((builtin:in), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:get_stream_names((builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:set_stream_names((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:delete_stream_name((builtin:in), (builtin:di), (builtin:uo)), infinite, can_loop). :- pragma termination_info(io:get_stream_id((builtin:in), (builtin:out)), infinite, cannot_loop). :- pragma termination_info(io:init_state((builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:throw_io_error((builtin:in)), infinite, can_loop). :- pragma termination_info(io:whence_to_int((builtin:in), (builtin:out)), finite(0, [no, no]), cannot_loop). :- pragma termination_info(io:seek_binary_2((builtin:in), (builtin:in), (builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:close_stream((builtin:in), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:do_make_temp((builtin:in), (builtin:in), (builtin:out), (builtin:out), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:remove_file_2((builtin:in), (builtin:out), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop). :- pragma termination_info(io:rename_file_2((builtin:in), (builtin:in), (builtin:out), (builtin:out), (builtin:di), (builtin:uo)), infinite, cannot_loop).