MAYBE Problem: app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) app(app(append(),xs),nil()) -> xs app(app(append(),nil()),ys) -> ys app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) app(app(zip(),nil()),yss) -> yss app(app(zip(),xss),nil()) -> xss app(app(zip(),app(app(cons(),xs),xss)),app(app(cons(),ys),yss)) -> app(app(cons(),app(app(append(),xs),ys)),app(app(zip(),xss),yss)) app(app(combine(),xs),nil()) -> xs app(app(combine(),xs),app(app(cons(),ys),yss)) -> app(app(combine(),app(app(zip(),xs),ys)),yss) app(levels(),app(app(node(),x),xs)) -> app(app(cons(),app(app(cons(),x),nil())),app(app(combine(),nil()),app(app(map(),levels()),xs))) Proof: DP Processor: DPs: app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(append(),xs) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(cons(),x),app(app(append(),xs),ys)) app#(app(zip(),app(app(cons(),xs),xss)),app(app(cons(),ys),yss)) -> app#(zip(),xss) app#(app(zip(),app(app(cons(),xs),xss)),app(app(cons(),ys),yss)) -> app#(app(zip(),xss),yss) app#(app(zip(),app(app(cons(),xs),xss)),app(app(cons(),ys),yss)) -> app#(append(),xs) app#(app(zip(),app(app(cons(),xs),xss)),app(app(cons(),ys),yss)) -> app#(app(append(),xs),ys) app#(app(zip(),app(app(cons(),xs),xss)),app(app(cons(),ys),yss)) -> app#(cons(),app(app(append(),xs),ys)) app#(app(zip(),app(app(cons(),xs),xss)),app(app(cons(),ys),yss)) -> app#(app(cons(),app(app(append(),xs),ys)),app(app(zip(),xss),yss)) app#(app(combine(),xs),app(app(cons(),ys),yss)) -> app#(zip(),xs) app#(app(combine(),xs),app(app(cons(),ys),yss)) -> app#(app(zip(),xs),ys) app#(app(combine(),xs),app(app(cons(),ys),yss)) -> app#(combine(),app(app(zip(),xs),ys)) app#(app(combine(),xs),app(app(cons(),ys),yss)) -> app#(app(combine(),app(app(zip(),xs),ys)),yss) app#(levels(),app(app(node(),x),xs)) -> app#(map(),levels()) app#(levels(),app(app(node(),x),xs)) -> app#(app(map(),levels()),xs) app#(levels(),app(app(node(),x),xs)) -> app#(combine(),nil()) app#(levels(),app(app(node(),x),xs)) -> app#(app(combine(),nil()),app(app(map(),levels()),xs)) app#(levels(),app(app(node(),x),xs)) -> app#(cons(),x) app#(levels(),app(app(node(),x),xs)) -> app#(app(cons(),x),nil()) app#(levels(),app(app(node(),x),xs)) -> app#(cons(),app(app(cons(),x),nil())) app#(levels(),app(app(node(),x),xs)) -> app#(app(cons(),app(app(cons(),x),nil())),app(app(combine(),nil()),app(app(map(),levels()),xs))) TRS: app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) app(app(append(),xs),nil()) -> xs app(app(append(),nil()),ys) -> ys app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) app(app(zip(),nil()),yss) -> yss app(app(zip(),xss),nil()) -> xss app(app(zip(),app(app(cons(),xs),xss)),app(app(cons(),ys),yss)) -> app(app(cons(),app(app(append(),xs),ys)),app(app(zip(),xss),yss)) app(app(combine(),xs),nil()) -> xs app(app(combine(),xs),app(app(cons(),ys),yss)) -> app(app(combine(),app(app(zip(),xs),ys)),yss) app(levels(),app(app(node(),x),xs)) -> app(app(cons(),app(app(cons(),x),nil())),app(app(combine(),nil()),app(app(map(),levels()),xs))) Open