(load "2.7.txt") ; for make-interval (define (sub-interval x y) (make-interval (- (lower-bound x) (upper-bound y)) (- (upper-bound x) (lower-bound y)))) ; Computes interval for -x (define (neg-interval x) (make-interval (- (upper-bound x)) (- (lower-bound x)))) (define (sub-interval2 x y) (add-interval x (neg-interval y))) ; 1 ]=> (sub-interval (make-interval 1 2) (make-interval 3 4)) ; ; ;Value: (-3 . -1) ; ; 1 ]=> (neg-interval (make-interval -4 -3)) ; ; ;Value: (3 . 4) ; ; 1 ]=> (sub-interval2 (make-interval 1 2) (make-interval 3 4)) ; ; ;Value: (-3 . -1)