SICP問題2.9

感覚的にはさもありなん、ということで実験
二つの区間 X, Y を、それぞれ (x±a), (y±b) とすると、X, Y の加算の上限、下限は

(x + a) + (y + b) = (x + y) + (a + b)
(x - a) + (y - b) = (x + y) - (a + b)

となる。よって加算の結果の幅は以下のようになる

(x ± a) + (y ± b) = (x + y) ± (a + b)

減算の上限、下限は

(x + a) - (y - b) = (x - y) + (a + b)
(x - a) - (y + b) = (x - y) - (a + b)

となる。よって減算の結果の幅は以下のようになる。

(x ± a) - (y ± b) = (x - y) ± (a + b)

このことから、加算、減算の結果の幅は引数の区間の幅の関数といえる

乗算・除算については以下のようになる
乗算の上限と下限は

  (x + a) * (y + b) = xy + bx + ay + ab
= (x * y) + (bx + ay + ab)
  (x - a) * (y - b) = xy - bx - ay + ab
= (x * y) - (bx + ay - ab)

上限と下限の幅は引数の区間の幅の関数とはいえない
除算は

(x + a) / (y - b) = (x / (y - b))  + (a / (y - b))
(x - a) / (y + b) = (x / (y + b))  - (a / (y + b))

となり、上限と下限の幅は引数の区間の幅の関数とはいえない

問題では「乗算と除算についてはこれが成り立たないことを例で示せ。」とのことなので、(10±3), (5±2)の場合を考える
乗算では

(10 + 3) * (5 + 2)= 91 = 50 + 41
(10 - 3) * (5 - 2) = 21 = 50 - 29

除算では

(10 + 3) / (5 - 2) = 4.333 = 2 + 2.333
(10 - 3) / (5 + 2) = 1 = 2 - 1

となり、それぞれ引数の区間の幅では表せない。