/export/starexec/sandbox2/solver/bin/starexec_run_ttt2-1.17+nonreach /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES 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: Extended Uncurrying Processor: application symbol: app symbol table: node ==> node0/0 node1/1 node2/2 levels ==> levels0/0 levels1/1 combine ==> combine0/0 combine1/1 combine2/2 zip ==> zip0/0 zip1/1 zip2/2 append ==> append0/0 append1/1 append2/2 cons ==> cons0/0 cons1/1 cons2/2 nil ==> nil0/0 map ==> map0/0 map1/1 map2/2 uncurry-rules: app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) eta-rules: problem: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) DP Processor: DPs: map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) map{2,#}(f,cons2(x,xs)) -> app#(f,x) append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> zip{2,#}(xss,yss) zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> append{2,#}(xs,ys) combine{2,#}(xs,cons2(ys,yss)) -> zip{2,#}(xs,ys) combine{2,#}(xs,cons2(ys,yss)) -> combine{2,#}(zip2(xs,ys),yss) levels{1,#}(node2(x,xs)) -> map{2,#}(levels0(),xs) levels{1,#}(node2(x,xs)) -> combine{2,#}(nil0(),map2(levels0(),xs)) app#(map1(x6),x7) -> map{2,#}(x6,x7) app#(append1(x13),x14) -> append{2,#}(x13,x14) app#(zip1(x16),x17) -> zip{2,#}(x16,x17) app#(combine1(x19),x20) -> combine{2,#}(x19,x20) app#(levels0(),x22) -> levels{1,#}(x22) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) TDG Processor: DPs: map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) map{2,#}(f,cons2(x,xs)) -> app#(f,x) append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> zip{2,#}(xss,yss) zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> append{2,#}(xs,ys) combine{2,#}(xs,cons2(ys,yss)) -> zip{2,#}(xs,ys) combine{2,#}(xs,cons2(ys,yss)) -> combine{2,#}(zip2(xs,ys),yss) levels{1,#}(node2(x,xs)) -> map{2,#}(levels0(),xs) levels{1,#}(node2(x,xs)) -> combine{2,#}(nil0(),map2(levels0(),xs)) app#(map1(x6),x7) -> map{2,#}(x6,x7) app#(append1(x13),x14) -> append{2,#}(x13,x14) app#(zip1(x16),x17) -> zip{2,#}(x16,x17) app#(combine1(x19),x20) -> combine{2,#}(x19,x20) app#(levels0(),x22) -> levels{1,#}(x22) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) graph: levels{1,#}(node2(x,xs)) -> combine{2,#}(nil0(),map2(levels0(),xs)) -> combine{2,#}(xs,cons2(ys,yss)) -> combine{2,#}(zip2(xs,ys),yss) levels{1,#}(node2(x,xs)) -> combine{2,#}(nil0(),map2(levels0(),xs)) -> combine{2,#}(xs,cons2(ys,yss)) -> zip{2,#}(xs,ys) levels{1,#}(node2(x,xs)) -> map{2,#}(levels0(),xs) -> map{2,#}(f,cons2(x,xs)) -> app#(f,x) levels{1,#}(node2(x,xs)) -> map{2,#}(levels0(),xs) -> map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) combine{2,#}(xs,cons2(ys,yss)) -> combine{2,#}(zip2(xs,ys),yss) -> combine{2,#}(xs,cons2(ys,yss)) -> combine{2,#}(zip2(xs,ys),yss) combine{2,#}(xs,cons2(ys,yss)) -> combine{2,#}(zip2(xs,ys),yss) -> combine{2,#}(xs,cons2(ys,yss)) -> zip{2,#}(xs,ys) combine{2,#}(xs,cons2(ys,yss)) -> zip{2,#}(xs,ys) -> zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> append{2,#}(xs,ys) combine{2,#}(xs,cons2(ys,yss)) -> zip{2,#}(xs,ys) -> zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> zip{2,#}(xss,yss) zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> zip{2,#}(xss,yss) -> zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> append{2,#}(xs,ys) zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> zip{2,#}(xss,yss) -> zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> zip{2,#}(xss,yss) zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> append{2,#}(xs,ys) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) app#(levels0(),x22) -> levels{1,#}(x22) -> levels{1,#}(node2(x,xs)) -> combine{2,#}(nil0(),map2(levels0(),xs)) app#(levels0(),x22) -> levels{1,#}(x22) -> levels{1,#}(node2(x,xs)) -> map{2,#}(levels0(),xs) app#(combine1(x19),x20) -> combine{2,#}(x19,x20) -> combine{2,#}(xs,cons2(ys,yss)) -> combine{2,#}(zip2(xs,ys),yss) app#(combine1(x19),x20) -> combine{2,#}(x19,x20) -> combine{2,#}(xs,cons2(ys,yss)) -> zip{2,#}(xs,ys) app#(zip1(x16),x17) -> zip{2,#}(x16,x17) -> zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> append{2,#}(xs,ys) app#(zip1(x16),x17) -> zip{2,#}(x16,x17) -> zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> zip{2,#}(xss,yss) app#(append1(x13),x14) -> append{2,#}(x13,x14) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) app#(map1(x6),x7) -> map{2,#}(x6,x7) -> map{2,#}(f,cons2(x,xs)) -> app#(f,x) app#(map1(x6),x7) -> map{2,#}(x6,x7) -> map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) map{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(levels0(),x22) -> levels{1,#}(x22) map{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(combine1(x19),x20) -> combine{2,#}(x19,x20) map{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(zip1(x16),x17) -> zip{2,#}(x16,x17) map{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(append1(x13),x14) -> append{2,#}(x13,x14) map{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(map1(x6),x7) -> map{2,#}(x6,x7) map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) -> map{2,#}(f,cons2(x,xs)) -> app#(f,x) map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) -> map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) SCC Processor: #sccs: 4 #rules: 8 #arcs: 28/196 DPs: levels{1,#}(node2(x,xs)) -> map{2,#}(levels0(),xs) map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) map{2,#}(f,cons2(x,xs)) -> app#(f,x) app#(map1(x6),x7) -> map{2,#}(x6,x7) app#(levels0(),x22) -> levels{1,#}(x22) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) Subterm Criterion Processor: simple projection: pi(map{2,#}) = 1 pi(app#) = 1 pi(levels{1,#}) = 0 problem: DPs: app#(map1(x6),x7) -> map{2,#}(x6,x7) app#(levels0(),x22) -> levels{1,#}(x22) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) SCC Processor: #sccs: 0 #rules: 0 #arcs: 9/4 DPs: combine{2,#}(xs,cons2(ys,yss)) -> combine{2,#}(zip2(xs,ys),yss) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) Subterm Criterion Processor: simple projection: pi(combine{2,#}) = 1 problem: DPs: TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) Qed DPs: zip{2,#}(cons2(xs,xss),cons2(ys,yss)) -> zip{2,#}(xss,yss) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) Subterm Criterion Processor: simple projection: pi(zip{2,#}) = 0 problem: DPs: TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) Qed DPs: append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) Subterm Criterion Processor: simple projection: pi(append{2,#}) = 0 problem: DPs: TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) append2(xs,nil0()) -> xs append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) zip2(nil0(),yss) -> yss zip2(xss,nil0()) -> xss zip2(cons2(xs,xss),cons2(ys,yss)) -> cons2(append2(xs,ys),zip2(xss,yss)) combine2(xs,nil0()) -> xs combine2(xs,cons2(ys,yss)) -> combine2(zip2(xs,ys),yss) levels1(node2(x,xs)) -> cons2(cons2(x,nil0()),combine2(nil0(),map2(levels0(),xs))) app(map1(x6),x7) -> map2(x6,x7) app(map0(),x6) -> map1(x6) app(cons1(x10),x11) -> cons2(x10,x11) app(cons0(),x10) -> cons1(x10) app(append1(x13),x14) -> append2(x13,x14) app(append0(),x13) -> append1(x13) app(zip1(x16),x17) -> zip2(x16,x17) app(zip0(),x16) -> zip1(x16) app(combine1(x19),x20) -> combine2(x19,x20) app(combine0(),x19) -> combine1(x19) app(levels0(),x22) -> levels1(x22) app(node1(x24),x25) -> node2(x24,x25) app(node0(),x24) -> node1(x24) Qed