SICPを読む(41) 問題 2.9 区間の幅

むむ・・・。全然わからんので、素人くさいSICP「独」書会の解答を見た。

要するに、「幅(区間a) + 幅(区間b)」と、「幅(区間a + 区間a)」が一緒かどうかって事か。


僕は具体例を示してみる。

まずは、幅の定義する。幅 = (上限+下限)/2なので、

(define (width-interval x)
  (/ (+ (upper-bound x) (lower-bound x)) 2))

例を示すために、区間a,bを定義する。

区間a = 1..3、区間b = 4..6としたとき、幅(a)は2, 幅(b)は5となる。

(define a (make-interval 1 3))
(define b (make-interval 4 6))

(width-interval a) ; 2
(width-interval b) ; 5

比較してみる。

(+ (width-interval b) (width-interval a)) ; 7
(width-interval (add-interval b a))       ; 7

(- (width-interval b) (width-interval a)) ; 3
(width-interval (sub-interval b a))       ; 3

(* (width-interval b) (width-interval a)) ; 10
(width-interval (mul-interval b a))       ; 11

(/ (width-interval b) (width-interval a)) ; 5/2
(width-interval (div-interval b a))       ; 11/3

和と差の場合は、「幅(区間a) + 幅(区間b)」と、「幅(区間a + 区間a)」は同様の値となる。

しかし、乗算と除算ではこれが成り立たない事がわかった。


僕もカッコいい証明を示せるようになりたいなぁ・・・(数学ガールの影響)