; get definitions referred to here.
(define rec (lambda (x) (set! det (* det x)) (/ 1 x)))
(define ops (matpak 0 zero? 1 + - * rec))
(define mm (car ops))
(define inv (cadr ops))
(define (D x) (set! det 1) (inv (G x) cc) det)

(define (G n)(if (= n 1) '((1)) (cons
   (cons 1 (let r ((n (- n 1))) (if (= n 0) '() (cons 1/2 (r (- n 1))))))
     (map (lambda (x) (cons 1/2 x)) (G (- n 1))))))