SICP 問題 4.15
;; 引数の手続きpとオブジェクトaについて,式(p a)停止するかどうかを正確に判断するような手続きhalts? (define (run-forever) (run-forever)) (define (try p) (if (halts? p p) (run-forever) 'halted)) (try try) ;; まずこれが停止すると仮定する.すると(halts? try try)はtrueを返し,then節(run-forever)を実行するので停止しない. ;; 次にこれが停止しないと仮定する.(halts? try try)がfalseなのでelse節'haltsが実行されるので停止する. ;; 矛盾するのでhalts?は定義できない.