:- module require.
:- use_module builtin, exception, list, private_builtin, std_util, string.
require:require(Goal_3, Message_4) :-
		(if
			call(Goal_3)
		then
			true
		else
			require:error(Message_4),
			fail
		).
:- pragma termination_info(require:error((builtin:in)), infinite, can_loop).
:- pragma termination_info(require:func_error((builtin:in)) = (builtin:out), infinite, can_loop).
:- pragma termination_info(require:require(((pred) is semidet), (builtin:in)), infinite, can_loop).
:- pragma termination_info(require:report_lookup_error((builtin:in), (builtin:in), (builtin:unused)), infinite, can_loop).
