YES Problem: app(app(mapbt(),f),app(leaf(),x)) -> app(leaf(),app(f,x)) app(app(mapbt(),f),app(app(app(branch(),x),l),r)) -> app(app(app(branch(),app(f,x)),app(app(mapbt(),f),l)),app(app(mapbt(),f),r)) Proof: Uncurry Processor: mapbt2(f,leaf1(x)) -> leaf1(app(f,x)) mapbt2(f,branch3(x,l,r)) -> branch3(app(f,x),mapbt2(f,l),mapbt2(f,r)) app(mapbt1(x5),x6) -> mapbt2(x5,x6) app(mapbt(),x6) -> mapbt1(x6) app(leaf(),x6) -> leaf1(x6) app(branch2(x5,x4),x6) -> branch3(x5,x4,x6) app(branch1(x5),x6) -> branch2(x5,x6) app(branch(),x6) -> branch1(x6) DP Processor: DPs: mapbt{2,#}(f,leaf1(x)) -> app#(f,x) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,r) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,l) mapbt{2,#}(f,branch3(x,l,r)) -> app#(f,x) app#(mapbt1(x5),x6) -> mapbt{2,#}(x5,x6) TRS: mapbt2(f,leaf1(x)) -> leaf1(app(f,x)) mapbt2(f,branch3(x,l,r)) -> branch3(app(f,x),mapbt2(f,l),mapbt2(f,r)) app(mapbt1(x5),x6) -> mapbt2(x5,x6) app(mapbt(),x6) -> mapbt1(x6) app(leaf(),x6) -> leaf1(x6) app(branch2(x5,x4),x6) -> branch3(x5,x4,x6) app(branch1(x5),x6) -> branch2(x5,x6) app(branch(),x6) -> branch1(x6) TDG Processor: DPs: mapbt{2,#}(f,leaf1(x)) -> app#(f,x) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,r) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,l) mapbt{2,#}(f,branch3(x,l,r)) -> app#(f,x) app#(mapbt1(x5),x6) -> mapbt{2,#}(x5,x6) TRS: mapbt2(f,leaf1(x)) -> leaf1(app(f,x)) mapbt2(f,branch3(x,l,r)) -> branch3(app(f,x),mapbt2(f,l),mapbt2(f,r)) app(mapbt1(x5),x6) -> mapbt2(x5,x6) app(mapbt(),x6) -> mapbt1(x6) app(leaf(),x6) -> leaf1(x6) app(branch2(x5,x4),x6) -> branch3(x5,x4,x6) app(branch1(x5),x6) -> branch2(x5,x6) app(branch(),x6) -> branch1(x6) graph: app#(mapbt1(x5),x6) -> mapbt{2,#}(x5,x6) -> mapbt{2,#}(f,branch3(x,l,r)) -> app#(f,x) app#(mapbt1(x5),x6) -> mapbt{2,#}(x5,x6) -> mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,l) app#(mapbt1(x5),x6) -> mapbt{2,#}(x5,x6) -> mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,r) app#(mapbt1(x5),x6) -> mapbt{2,#}(x5,x6) -> mapbt{2,#}(f,leaf1(x)) -> app#(f,x) mapbt{2,#}(f,branch3(x,l,r)) -> app#(f,x) -> app#(mapbt1(x5),x6) -> mapbt{2,#}(x5,x6) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,r) -> mapbt{2,#}(f,branch3(x,l,r)) -> app#(f,x) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,r) -> mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,l) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,r) -> mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,r) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,r) -> mapbt{2,#}(f,leaf1(x)) -> app#(f,x) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,l) -> mapbt{2,#}(f,branch3(x,l,r)) -> app#(f,x) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,l) -> mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,l) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,l) -> mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,r) mapbt{2,#}(f,branch3(x,l,r)) -> mapbt{2,#}(f,l) -> mapbt{2,#}(f,leaf1(x)) -> app#(f,x) mapbt{2,#}(f,leaf1(x)) -> app#(f,x) -> app#(mapbt1(x5),x6) -> mapbt{2,#}(x5,x6) Subterm Criterion Processor: simple projection: pi(mapbt{2,#}) = 1 pi(app#) = 1 problem: DPs: app#(mapbt1(x5),x6) -> mapbt{2,#}(x5,x6) TRS: mapbt2(f,leaf1(x)) -> leaf1(app(f,x)) mapbt2(f,branch3(x,l,r)) -> branch3(app(f,x),mapbt2(f,l),mapbt2(f,r)) app(mapbt1(x5),x6) -> mapbt2(x5,x6) app(mapbt(),x6) -> mapbt1(x6) app(leaf(),x6) -> leaf1(x6) app(branch2(x5,x4),x6) -> branch3(x5,x4,x6) app(branch1(x5),x6) -> branch2(x5,x6) app(branch(),x6) -> branch1(x6) SCC Processor: #sccs: 0 #rules: 0 #arcs: 14/1