(define (fact x) (if (= x 0) 1 (* x (fact (- x 1))))) ; (fact 3) = (if (= 3 0) 1 (* 3 (fact (- 3 1)))) (fact 2) = (if (= 2 0) 1 (* 2 (fact (- 2 1)))) (fact 1) = (if (= 1 0) 1 (* 1 (fact (- 1 1)))) (fact 0) = (if (= 0 0) 1 (* 0 (fact (- 0 1)))) = 1 = (* 1 1) = 1 = (* 2 1) = 2 = (* 3 2) = 6