isEmpty cons x xs false isEmpty nil true isZero 0 true isZero s x false head cons x xs x tail cons x xs xs tail nil nil append nil x cons x nil append cons y ys x cons y append ys x p s s x s p s x p s 0 0 p 0 0 inc s x s inc x inc 0 s 0 addLists xs ys zs if isEmpty xs isEmpty ys isZero head xs tail xs tail ys cons p head xs tail xs cons inc head ys tail ys zs append zs head ys if true true b xs ys xs2 ys2 zs zs2 zs if true false b xs ys xs2 ys2 zs zs2 differentLengthError if false true b xs ys xs2 ys2 zs zs2 differentLengthError if false false false xs ys xs2 ys2 zs zs2 addLists xs2 ys2 zs if false false true xs ys xs2 ys2 zs zs2 addLists xs ys zs2 addList xs ys addLists xs ys nil isEmpty 1 cons 2 false 0 nil 0 true 0 isZero 1 0 0 s 1 head 1 tail 1 append 2 p 1 inc 1 addLists 3 if 9 differentLengthError 0 addList 2 FULL ./TRS/secret06/aprove/addList.trs