times x y sum generate x y generate x y gen x y 0 gen x y z if ge z x x y z if true x y z nil if false x y z cons y gen x y s z sum xs sum2 xs 0 sum2 xs y ifsum isNil xs isZero head xs xs y ifsum true b xs y y ifsum false b xs y ifsum2 b xs y ifsum2 true xs y sum2 tail xs y ifsum2 false xs y sum2 cons p head xs tail xs s y isNil nil true isNil cons x xs false tail nil nil tail cons x xs xs head cons x xs x head nil error isZero 0 true isZero s 0 false isZero s s x isZero s x p 0 s s 0 p s 0 0 p s s x s p s x ge x 0 true ge 0 s y false ge s x s y ge x y a c a d times 2 sum 1 generate 2 gen 3 0 0 if 4 ge 2 true 0 nil 0 false 0 cons 2 s 1 sum2 2 ifsum 4 isNil 1 isZero 1 head 1 ifsum2 3 tail 1 p 1 error 0 a 0 c 0 d 0 FULL ./TRS/secret07/aprove/aprove01.trs