問題 2.10
make-interval 手続きの a, b は、それぞれ下限許容限界値 上限許容限界値です。
0 をまたぐ interval を div-interval 手続きに渡すと、内部の make-interval 手続きで
a > b となる interval が発生してしまい、make-intercal 手続きの仕様に合わなくなってしまいます。
また、make-interval に渡す a, b は a <= b でなければいけないので、
(define (make-interval a b) (if (<= a b) (cons a b) (error "a <= b -- MAKE-INTERVAL")))
このように実装すれば良いでしょう。
0 をまたぐ interval を div-interval に渡すと、a > b として make-interval を呼び出すので、
エラーにすることができます。