(VAR f x xs xss ys yss ) (RULES 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))) )