(mod (A prev-coin-bundle B) (defmacro assert items (if (r items) (list if (f items) (c assert (r items)) (q . (x))) (f items) ) ) (defun is-valid-bundle ((X . Y) Z) (sha256 X Y Z) ) (defun main (A prev-coin-bundle B) (assert (is-valid-bundle (+ 1 A) prev-coin-bundle B) (is-valid-bundle (+ 2 A) prev-coin-bundle B) ) ) (main A prev-coin-bundle B) )