Result is breal_from_bounds(Lo, Hi).This predicate constructs a new bounded real number with the specified bounds. In effect, the bounds are first cast to bounded reals, and then the new bounded real is constructed from the lower bound of Lo and the upper bound of Hi.
Success: ?- breal_from_bounds(0.99, 1.01, X). X = 0.99__1.01 ?- breal_from_bounds(1_3, 2_3, X). X = 0.33333333333333326__0.66666666666666674 Error: ?- breal_from_bounds(1, H, X). instantiation fault in breal_from_bounds(1, H, X) ?- breal_from_bounds("a", 2.0, X). number expected in breal_from_bounds("a", 2.0, X) ?- breal_from_bounds(2 + 4, 3 + 5, Z). number expected in breal_from_bounds(2 + 4, 3 + 5, Z) ?- breal_from_bounds(1.0, 2.0, 1.0__2.0). type error in breal_from_bounds(1.0, 2.0, 1.0__2.0) ?- breal_from_bounds(1.1, 0.9, X). arithmetic exception in breal_from_bounds(1.1, 0.9, X)