YES Problem 1: (VAR v_NonEmpty:S x:S y:S z:S) (RULES +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) ) Problem 1: Dependency Pairs Processor: -> Pairs: +#(s(x:S),y:S) -> +#(x:S,y:S) +#(x:S,+(y:S,z:S)) -> +#(+(x:S,y:S),z:S) +#(x:S,+(y:S,z:S)) -> +#(x:S,y:S) +#(x:S,s(y:S)) -> +#(x:S,y:S) F(g(f(x:S))) -> F(h(s(0),x:S)) F(g(h(x:S,y:S))) -> F(h(s(x:S),y:S)) F(h(x:S,h(y:S,z:S))) -> +#(x:S,y:S) F(h(x:S,h(y:S,z:S))) -> F(h(+(x:S,y:S),z:S)) -> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) Problem 1: SCC Processor: -> Pairs: +#(s(x:S),y:S) -> +#(x:S,y:S) +#(x:S,+(y:S,z:S)) -> +#(+(x:S,y:S),z:S) +#(x:S,+(y:S,z:S)) -> +#(x:S,y:S) +#(x:S,s(y:S)) -> +#(x:S,y:S) F(g(f(x:S))) -> F(h(s(0),x:S)) F(g(h(x:S,y:S))) -> F(h(s(x:S),y:S)) F(h(x:S,h(y:S,z:S))) -> +#(x:S,y:S) F(h(x:S,h(y:S,z:S))) -> F(h(+(x:S,y:S),z:S)) -> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(s(x:S),y:S) -> +#(x:S,y:S) +#(x:S,+(y:S,z:S)) -> +#(+(x:S,y:S),z:S) +#(x:S,+(y:S,z:S)) -> +#(x:S,y:S) +#(x:S,s(y:S)) -> +#(x:S,y:S) ->->-> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) ->->Cycle: ->->-> Pairs: F(h(x:S,h(y:S,z:S))) -> F(h(+(x:S,y:S),z:S)) ->->-> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) The problem is decomposed in 2 subproblems. Problem 1.1: Subterm Processor: -> Pairs: +#(s(x:S),y:S) -> +#(x:S,y:S) +#(x:S,+(y:S,z:S)) -> +#(+(x:S,y:S),z:S) +#(x:S,+(y:S,z:S)) -> +#(x:S,y:S) +#(x:S,s(y:S)) -> +#(x:S,y:S) -> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) ->Projection: pi(+#) = 2 Problem 1.1: SCC Processor: -> Pairs: +#(s(x:S),y:S) -> +#(x:S,y:S) -> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(s(x:S),y:S) -> +#(x:S,y:S) ->->-> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) Problem 1.1: Subterm Processor: -> Pairs: +#(s(x:S),y:S) -> +#(x:S,y:S) -> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) ->Projection: pi(+#) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Reduction Pair Processor: -> Pairs: F(h(x:S,h(y:S,z:S))) -> F(h(+(x:S,y:S),z:S)) -> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) -> Usable rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [+](X1,X2) = X1 + 2.X2 + 1 [0] = 0 [h](X1,X2) = 2.X1 + 2.X2 + 2 [s](X) = 2 [F](X) = 2.X Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: +(0,y:S) -> y:S +(s(x:S),y:S) -> s(+(x:S,y:S)) +(x:S,+(y:S,z:S)) -> +(+(x:S,y:S),z:S) +(x:S,0) -> x:S +(x:S,s(y:S)) -> s(+(x:S,y:S)) f(g(f(x:S))) -> f(h(s(0),x:S)) f(g(h(x:S,y:S))) -> f(h(s(x:S),y:S)) f(h(x:S,h(y:S,z:S))) -> f(h(+(x:S,y:S),z:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite.