(from AG01 3.57) (VAR x y z k l) (RULES minus(x,0) -> x minus(s(x),s(y)) -> minus(x,y) quot(0,s(y)) -> 0 quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) minus(minus(x,y),z) -> minus(x,plus(y,z)) app(nil,k) -> k app(l, nil) -> l app(cons(x,l),k) -> cons(x,app(l,k)) sum(cons(x,nil)) -> cons(x,nil) sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) )