YES Problem: app(app(plus(),0()),y) -> y app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) app(app(times(),0()),y) -> 0() app(app(times(),app(s(),x)),y) -> app(app(plus(),app(app(times(),x),y)),y) app(app(app(comp(),f),g),x) -> app(f,app(g,x)) app(twice(),f) -> app(app(comp(),f),f) Proof: Uncurry Processor: plus2(0(),y) -> y plus2(s1(x),y) -> s1(plus2(x,y)) times2(0(),y) -> 0() times2(s1(x),y) -> plus2(times2(x,y),y) comp3(f,g,x) -> app(f,app(g,x)) twice1(f) -> comp2(f,f) app(plus1(x5),x6) -> plus2(x5,x6) app(plus(),x6) -> plus1(x6) app(s(),x6) -> s1(x6) app(times1(x5),x6) -> times2(x5,x6) app(times(),x6) -> times1(x6) app(comp2(x5,x4),x6) -> comp3(x5,x4,x6) app(comp1(x5),x6) -> comp2(x5,x6) app(comp(),x6) -> comp1(x6) app(twice(),x6) -> twice1(x6) DP Processor: DPs: plus{2,#}(s1(x),y) -> plus{2,#}(x,y) times{2,#}(s1(x),y) -> times{2,#}(x,y) times{2,#}(s1(x),y) -> plus{2,#}(times2(x,y),y) comp{3,#}(f,g,x) -> app#(g,x) comp{3,#}(f,g,x) -> app#(f,app(g,x)) app#(plus1(x5),x6) -> plus{2,#}(x5,x6) app#(times1(x5),x6) -> times{2,#}(x5,x6) app#(comp2(x5,x4),x6) -> comp{3,#}(x5,x4,x6) app#(twice(),x6) -> twice{1,#}(x6) TRS: plus2(0(),y) -> y plus2(s1(x),y) -> s1(plus2(x,y)) times2(0(),y) -> 0() times2(s1(x),y) -> plus2(times2(x,y),y) comp3(f,g,x) -> app(f,app(g,x)) twice1(f) -> comp2(f,f) app(plus1(x5),x6) -> plus2(x5,x6) app(plus(),x6) -> plus1(x6) app(s(),x6) -> s1(x6) app(times1(x5),x6) -> times2(x5,x6) app(times(),x6) -> times1(x6) app(comp2(x5,x4),x6) -> comp3(x5,x4,x6) app(comp1(x5),x6) -> comp2(x5,x6) app(comp(),x6) -> comp1(x6) app(twice(),x6) -> twice1(x6) TDG Processor: DPs: plus{2,#}(s1(x),y) -> plus{2,#}(x,y) times{2,#}(s1(x),y) -> times{2,#}(x,y) times{2,#}(s1(x),y) -> plus{2,#}(times2(x,y),y) comp{3,#}(f,g,x) -> app#(g,x) comp{3,#}(f,g,x) -> app#(f,app(g,x)) app#(plus1(x5),x6) -> plus{2,#}(x5,x6) app#(times1(x5),x6) -> times{2,#}(x5,x6) app#(comp2(x5,x4),x6) -> comp{3,#}(x5,x4,x6) app#(twice(),x6) -> twice{1,#}(x6) TRS: plus2(0(),y) -> y plus2(s1(x),y) -> s1(plus2(x,y)) times2(0(),y) -> 0() times2(s1(x),y) -> plus2(times2(x,y),y) comp3(f,g,x) -> app(f,app(g,x)) twice1(f) -> comp2(f,f) app(plus1(x5),x6) -> plus2(x5,x6) app(plus(),x6) -> plus1(x6) app(s(),x6) -> s1(x6) app(times1(x5),x6) -> times2(x5,x6) app(times(),x6) -> times1(x6) app(comp2(x5,x4),x6) -> comp3(x5,x4,x6) app(comp1(x5),x6) -> comp2(x5,x6) app(comp(),x6) -> comp1(x6) app(twice(),x6) -> twice1(x6) graph: app#(comp2(x5,x4),x6) -> comp{3,#}(x5,x4,x6) -> comp{3,#}(f,g,x) -> app#(f,app(g,x)) app#(comp2(x5,x4),x6) -> comp{3,#}(x5,x4,x6) -> comp{3,#}(f,g,x) -> app#(g,x) app#(times1(x5),x6) -> times{2,#}(x5,x6) -> times{2,#}(s1(x),y) -> plus{2,#}(times2(x,y),y) app#(times1(x5),x6) -> times{2,#}(x5,x6) -> times{2,#}(s1(x),y) -> times{2,#}(x,y) app#(plus1(x5),x6) -> plus{2,#}(x5,x6) -> plus{2,#}(s1(x),y) -> plus{2,#}(x,y) comp{3,#}(f,g,x) -> app#(g,x) -> app#(twice(),x6) -> twice{1,#}(x6) comp{3,#}(f,g,x) -> app#(g,x) -> app#(comp2(x5,x4),x6) -> comp{3,#}(x5,x4,x6) comp{3,#}(f,g,x) -> app#(g,x) -> app#(times1(x5),x6) -> times{2,#}(x5,x6) comp{3,#}(f,g,x) -> app#(g,x) -> app#(plus1(x5),x6) -> plus{2,#}(x5,x6) comp{3,#}(f,g,x) -> app#(f,app(g,x)) -> app#(twice(),x6) -> twice{1,#}(x6) comp{3,#}(f,g,x) -> app#(f,app(g,x)) -> app#(comp2(x5,x4),x6) -> comp{3,#}(x5,x4,x6) comp{3,#}(f,g,x) -> app#(f,app(g,x)) -> app#(times1(x5),x6) -> times{2,#}(x5,x6) comp{3,#}(f,g,x) -> app#(f,app(g,x)) -> app#(plus1(x5),x6) -> plus{2,#}(x5,x6) times{2,#}(s1(x),y) -> times{2,#}(x,y) -> times{2,#}(s1(x),y) -> plus{2,#}(times2(x,y),y) times{2,#}(s1(x),y) -> times{2,#}(x,y) -> times{2,#}(s1(x),y) -> times{2,#}(x,y) times{2,#}(s1(x),y) -> plus{2,#}(times2(x,y),y) -> plus{2,#}(s1(x),y) -> plus{2,#}(x,y) plus{2,#}(s1(x),y) -> plus{2,#}(x,y) -> plus{2,#}(s1(x),y) -> plus{2,#}(x,y) SCC Processor: #sccs: 3 #rules: 5 #arcs: 17/81 DPs: app#(comp2(x5,x4),x6) -> comp{3,#}(x5,x4,x6) comp{3,#}(f,g,x) -> app#(g,x) comp{3,#}(f,g,x) -> app#(f,app(g,x)) TRS: plus2(0(),y) -> y plus2(s1(x),y) -> s1(plus2(x,y)) times2(0(),y) -> 0() times2(s1(x),y) -> plus2(times2(x,y),y) comp3(f,g,x) -> app(f,app(g,x)) twice1(f) -> comp2(f,f) app(plus1(x5),x6) -> plus2(x5,x6) app(plus(),x6) -> plus1(x6) app(s(),x6) -> s1(x6) app(times1(x5),x6) -> times2(x5,x6) app(times(),x6) -> times1(x6) app(comp2(x5,x4),x6) -> comp3(x5,x4,x6) app(comp1(x5),x6) -> comp2(x5,x6) app(comp(),x6) -> comp1(x6) app(twice(),x6) -> twice1(x6) Size-Change Termination Processor: DPs: TRS: plus2(0(),y) -> y plus2(s1(x),y) -> s1(plus2(x,y)) times2(0(),y) -> 0() times2(s1(x),y) -> plus2(times2(x,y),y) comp3(f,g,x) -> app(f,app(g,x)) twice1(f) -> comp2(f,f) app(plus1(x5),x6) -> plus2(x5,x6) app(plus(),x6) -> plus1(x6) app(s(),x6) -> s1(x6) app(times1(x5),x6) -> times2(x5,x6) app(times(),x6) -> times1(x6) app(comp2(x5,x4),x6) -> comp3(x5,x4,x6) app(comp1(x5),x6) -> comp2(x5,x6) app(comp(),x6) -> comp1(x6) app(twice(),x6) -> twice1(x6) The DP: app#(comp2(x5,x4),x6) -> comp{3,#}(x5,x4,x6) has the edges: 0 > 1 0 > 0 1 >= 2 The DP: comp{3,#}(f,g,x) -> app#(g,x) has the edges: 1 >= 0 2 >= 1 The DP: comp{3,#}(f,g,x) -> app#(f,app(g,x)) has the edges: 0 >= 0 Qed DPs: times{2,#}(s1(x),y) -> times{2,#}(x,y) TRS: plus2(0(),y) -> y plus2(s1(x),y) -> s1(plus2(x,y)) times2(0(),y) -> 0() times2(s1(x),y) -> plus2(times2(x,y),y) comp3(f,g,x) -> app(f,app(g,x)) twice1(f) -> comp2(f,f) app(plus1(x5),x6) -> plus2(x5,x6) app(plus(),x6) -> plus1(x6) app(s(),x6) -> s1(x6) app(times1(x5),x6) -> times2(x5,x6) app(times(),x6) -> times1(x6) app(comp2(x5,x4),x6) -> comp3(x5,x4,x6) app(comp1(x5),x6) -> comp2(x5,x6) app(comp(),x6) -> comp1(x6) app(twice(),x6) -> twice1(x6) Subterm Criterion Processor: simple projection: pi(times{2,#}) = 0 problem: DPs: TRS: plus2(0(),y) -> y plus2(s1(x),y) -> s1(plus2(x,y)) times2(0(),y) -> 0() times2(s1(x),y) -> plus2(times2(x,y),y) comp3(f,g,x) -> app(f,app(g,x)) twice1(f) -> comp2(f,f) app(plus1(x5),x6) -> plus2(x5,x6) app(plus(),x6) -> plus1(x6) app(s(),x6) -> s1(x6) app(times1(x5),x6) -> times2(x5,x6) app(times(),x6) -> times1(x6) app(comp2(x5,x4),x6) -> comp3(x5,x4,x6) app(comp1(x5),x6) -> comp2(x5,x6) app(comp(),x6) -> comp1(x6) app(twice(),x6) -> twice1(x6) Qed DPs: plus{2,#}(s1(x),y) -> plus{2,#}(x,y) TRS: plus2(0(),y) -> y plus2(s1(x),y) -> s1(plus2(x,y)) times2(0(),y) -> 0() times2(s1(x),y) -> plus2(times2(x,y),y) comp3(f,g,x) -> app(f,app(g,x)) twice1(f) -> comp2(f,f) app(plus1(x5),x6) -> plus2(x5,x6) app(plus(),x6) -> plus1(x6) app(s(),x6) -> s1(x6) app(times1(x5),x6) -> times2(x5,x6) app(times(),x6) -> times1(x6) app(comp2(x5,x4),x6) -> comp3(x5,x4,x6) app(comp1(x5),x6) -> comp2(x5,x6) app(comp(),x6) -> comp1(x6) app(twice(),x6) -> twice1(x6) Subterm Criterion Processor: simple projection: pi(plus{2,#}) = 0 problem: DPs: TRS: plus2(0(),y) -> y plus2(s1(x),y) -> s1(plus2(x,y)) times2(0(),y) -> 0() times2(s1(x),y) -> plus2(times2(x,y),y) comp3(f,g,x) -> app(f,app(g,x)) twice1(f) -> comp2(f,f) app(plus1(x5),x6) -> plus2(x5,x6) app(plus(),x6) -> plus1(x6) app(s(),x6) -> s1(x6) app(times1(x5),x6) -> times2(x5,x6) app(times(),x6) -> times1(x6) app(comp2(x5,x4),x6) -> comp3(x5,x4,x6) app(comp1(x5),x6) -> comp2(x5,x6) app(comp(),x6) -> comp1(x6) app(twice(),x6) -> twice1(x6) Qed