(define (A x y)
  (cond ((= y 0) 0)
        ((= x 0) (* 2 y))
        ((= y 1) 2)
        (else (A (- x 1)
                 (A x (- y 1))))))

(A 1 10);1024 (A 2 4);65536 (A 3 3);65536

(define (f n) (A 0 n)) ;nを2倍する

(define (g n) (A 1 n)) ; 2 の乗数を求める ;ex (g 2) ;(A (- 1 1) (A 1 (- 2 1))) ;(A 0 (A 1 1)) ;(A 0 2) ;(* 2 2) ;4 ; ;ex (g 3) ;(A (- 1 1) (A 1 (- 3 1))) ;(A 0 (A 1 2)) ;(A 0 (A (- 1 1) (A 1 (- 2 1))) ;(A 0 (A 0 (A 1 1))) ;(A 0 (A 0 2)) ;(A 0 (* 2 2)) ;(A 0 4) ;(* 4 2) ;8

(define (h n) (A 2 n)) ;ex (h 2) ;(A 2 2) ;(A (- 2 1) (A 2 (- 2 1))) ;(A 1 (A 2 1)) ;(A 1 2) ;【省略】 ;4 ; ;ex (h 3) ;(A 2 3) ;(A (- 2 1) (A 2 (- 3 1))) ;(A 1 (A 2 2)) ;(A 1 (A (- 2 1) (A 2 (- 2 1)))) ;(A 1 (A 1 (A 2 1))) ;(A 1 (A 1 2)) ;(A 1 4) ;【省略】 ;16

(define (h n) (A 2 n)) がよくわかんないな。。。

↓ ここを参考にもう少し考えてみようっと。。。
http://ongaeshi.hatenablog.com/entry/20080219/1203351532


つづく。。。(かも)