Writing repeatedly-square

   (define repeatedly-square ; computes b2
     (lambda (b n)           ; n times, n >= 0
       (if (= n 0)
           b     
           (repeatedly-square (square b) (- n 1)))))

   > (repeatedly-square 2 5)
   |(repeatedly-square 2 5)
   |(repeatedly-square 4 4)
   |(repeatedly-square 16 3)
   |(repeatedly-square 256 2)
   |(repeatedly-square 65536 1)
   |(repeatedly-square 4294967296 0)
   |4294967296
   4294967296
F would also be used in an inductive proof of the correctness of repeatedly square.