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