YES Problem: f(X) -> if(X,c(),n__f(true())) if(true(),X,Y) -> X if(false(),X,Y) -> activate(Y) f(X) -> n__f(X) activate(n__f(X)) -> f(X) activate(X) -> X Proof: DP Processor: DPs: f#(X) -> if#(X,c(),n__f(true())) if#(false(),X,Y) -> activate#(Y) activate#(n__f(X)) -> f#(X) TRS: f(X) -> if(X,c(),n__f(true())) if(true(),X,Y) -> X if(false(),X,Y) -> activate(Y) f(X) -> n__f(X) activate(n__f(X)) -> f(X) activate(X) -> X Arctic Interpretation Processor: dimension: 1 interpretation: [activate#](x0) = 2x0 + 6, [if#](x0, x1, x2) = x0 + 4x1 + 3x2 + 0, [f#](x0) = 1x0 + 5, [activate](x0) = 2x0 + 6, [false] = 7, [if](x0, x1, x2) = x0 + 2x1 + 3x2 + 0, [n__f](x0) = x0 + 1, [true] = 0, [c] = 0, [f](x0) = 1x0 + 5 orientation: f#(X) = 1X + 5 >= X + 4 = if#(X,c(),n__f(true())) if#(false(),X,Y) = 4X + 3Y + 7 >= 2Y + 6 = activate#(Y) activate#(n__f(X)) = 2X + 6 >= 1X + 5 = f#(X) f(X) = 1X + 5 >= X + 4 = if(X,c(),n__f(true())) if(true(),X,Y) = 2X + 3Y + 0 >= X = X if(false(),X,Y) = 2X + 3Y + 7 >= 2Y + 6 = activate(Y) f(X) = 1X + 5 >= X + 1 = n__f(X) activate(n__f(X)) = 2X + 6 >= 1X + 5 = f(X) activate(X) = 2X + 6 >= X = X problem: DPs: TRS: f(X) -> if(X,c(),n__f(true())) if(true(),X,Y) -> X if(false(),X,Y) -> activate(Y) f(X) -> n__f(X) activate(n__f(X)) -> f(X) activate(X) -> X Qed