1:- module(interval, [interval/2, interval/3, op(150, xfx, ...)]). 2 3:- multifile int_hook/4. 4:- multifile eval_hook/2. 5:- multifile mono/2. 6:- multifile interval_/3. 7:- multifile instantiate/2. 8 9:- set_prolog_flag(float_overflow, infinity). 10:- set_prolog_flag(float_undefined, nan). 11:- set_prolog_flag(float_zero_div, infinity). 12 13:- nb_setval(digits, 2). 14 15:- consult([lib/interface, lib/core, lib/op]).
interval(sqrt(X), Res)
'interval(sqrt1(X), Res)
'interval(X^atomic(N), Res)
' with N being a natural numberinterval(abs(X), Res)
'atomic(2)
), Res)'