YES Problem: exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) -(0(),y) -> 0() -(x,0()) -> x -(s(x),s(y)) -> -(x,y) Proof: DP Processor: DPs: exp#(x,s(y)) -> exp#(x,y) exp#(x,s(y)) -> *#(x,exp(x,y)) *#(s(x),y) -> *#(x,y) -#(s(x),s(y)) -> -#(x,y) TRS: exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) -(0(),y) -> 0() -(x,0()) -> x -(s(x),s(y)) -> -(x,y) Usable Rule Processor: DPs: exp#(x,s(y)) -> exp#(x,y) exp#(x,s(y)) -> *#(x,exp(x,y)) *#(s(x),y) -> *#(x,y) -#(s(x),s(y)) -> -#(x,y) TRS: f9(x,y) -> x f9(x,y) -> y exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) CDG Processor: DPs: exp#(x,s(y)) -> exp#(x,y) exp#(x,s(y)) -> *#(x,exp(x,y)) *#(s(x),y) -> *#(x,y) -#(s(x),s(y)) -> -#(x,y) TRS: f9(x,y) -> x f9(x,y) -> y exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) graph: -#(s(x),s(y)) -> -#(x,y) -> -#(s(x),s(y)) -> -#(x,y) *#(s(x),y) -> *#(x,y) -> *#(s(x),y) -> *#(x,y) exp#(x,s(y)) -> *#(x,exp(x,y)) -> *#(s(x),y) -> *#(x,y) exp#(x,s(y)) -> exp#(x,y) -> exp#(x,s(y)) -> exp#(x,y) exp#(x,s(y)) -> exp#(x,y) -> exp#(x,s(y)) -> *#(x,exp(x,y)) Restore Modifier: DPs: exp#(x,s(y)) -> exp#(x,y) exp#(x,s(y)) -> *#(x,exp(x,y)) *#(s(x),y) -> *#(x,y) -#(s(x),s(y)) -> -#(x,y) TRS: exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) -(0(),y) -> 0() -(x,0()) -> x -(s(x),s(y)) -> -(x,y) SCC Processor: #sccs: 3 #rules: 3 #arcs: 5/16 DPs: exp#(x,s(y)) -> exp#(x,y) TRS: exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) -(0(),y) -> 0() -(x,0()) -> x -(s(x),s(y)) -> -(x,y) Matrix Interpretation Processor: dimension: 1 interpretation: [exp#](x0, x1) = x1 + 1, [-](x0, x1) = x0 + 1, [+](x0, x1) = x0, [*](x0, x1) = x1, [s](x0) = x0 + 1, [exp](x0, x1) = 1, [0] = 0 orientation: exp#(x,s(y)) = y + 2 >= y + 1 = exp#(x,y) exp(x,0()) = 1 >= 1 = s(0()) exp(x,s(y)) = 1 >= 1 = *(x,exp(x,y)) *(0(),y) = y >= 0 = 0() *(s(x),y) = y >= y = +(y,*(x,y)) -(0(),y) = 1 >= 0 = 0() -(x,0()) = x + 1 >= x = x -(s(x),s(y)) = x + 2 >= x + 1 = -(x,y) problem: DPs: TRS: exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) -(0(),y) -> 0() -(x,0()) -> x -(s(x),s(y)) -> -(x,y) Qed DPs: *#(s(x),y) -> *#(x,y) TRS: exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) -(0(),y) -> 0() -(x,0()) -> x -(s(x),s(y)) -> -(x,y) Matrix Interpretation Processor: dimension: 1 interpretation: [*#](x0, x1) = x0 + 1, [-](x0, x1) = x0 + 1, [+](x0, x1) = x0, [*](x0, x1) = x1, [s](x0) = x0 + 1, [exp](x0, x1) = 1, [0] = 0 orientation: *#(s(x),y) = x + 2 >= x + 1 = *#(x,y) exp(x,0()) = 1 >= 1 = s(0()) exp(x,s(y)) = 1 >= 1 = *(x,exp(x,y)) *(0(),y) = y >= 0 = 0() *(s(x),y) = y >= y = +(y,*(x,y)) -(0(),y) = 1 >= 0 = 0() -(x,0()) = x + 1 >= x = x -(s(x),s(y)) = x + 2 >= x + 1 = -(x,y) problem: DPs: TRS: exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) -(0(),y) -> 0() -(x,0()) -> x -(s(x),s(y)) -> -(x,y) Qed DPs: -#(s(x),s(y)) -> -#(x,y) TRS: exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) -(0(),y) -> 0() -(x,0()) -> x -(s(x),s(y)) -> -(x,y) Matrix Interpretation Processor: dimension: 1 interpretation: [-#](x0, x1) = x1 + 1, [-](x0, x1) = x0, [+](x0, x1) = x1, [*](x0, x1) = x1, [s](x0) = x0 + 1, [exp](x0, x1) = 1, [0] = 0 orientation: -#(s(x),s(y)) = y + 2 >= y + 1 = -#(x,y) exp(x,0()) = 1 >= 1 = s(0()) exp(x,s(y)) = 1 >= 1 = *(x,exp(x,y)) *(0(),y) = y >= 0 = 0() *(s(x),y) = y >= y = +(y,*(x,y)) -(0(),y) = 0 >= 0 = 0() -(x,0()) = x >= x = x -(s(x),s(y)) = x + 1 >= x = -(x,y) problem: DPs: TRS: exp(x,0()) -> s(0()) exp(x,s(y)) -> *(x,exp(x,y)) *(0(),y) -> 0() *(s(x),y) -> +(y,*(x,y)) -(0(),y) -> 0() -(x,0()) -> x -(s(x),s(y)) -> -(x,y) Qed