YES O(n^5) TRS: { if(true(), X, Y) -> X, if(false(), X, Y) -> activate(Y), f(X) -> if(X, c(), n__f(true())), f(X) -> n__f(X), activate(X) -> X, activate(n__f(X)) -> f(X) } DUP: We consider a non-duplicating system. Trs: { if(true(), X, Y) -> X, if(false(), X, Y) -> activate(Y), f(X) -> if(X, c(), n__f(true())), f(X) -> n__f(X), activate(X) -> X, activate(n__f(X)) -> f(X) } Matrix Interpretation: Interpretation class: triangular [3] [0] [false] = [0] [1] [0] [X4] [1 2 3 0 0][X4] [3] [X3] [0 1 2 2 0][X3] [0] [activate]([X2]) = [0 0 1 0 2][X2] + [0] [X1] [0 0 0 1 0][X1] [0] [X0] [0 0 0 0 1][X0] [0] [X4] [1 0 3 1 0][X4] [2] [X3] [0 1 2 0 2][X3] [0] [f]([X2]) = [0 0 1 0 0][X2] + [0] [X1] [0 0 0 0 0][X1] [0] [X0] [0 0 0 0 0][X0] [0] [0] [0] [true] = [0] [1] [0] [X4] [1 0 3 1 0][X4] [0] [X3] [0 1 1 0 2][X3] [0] [n__f]([X2]) = [0 0 1 0 0][X2] + [0] [X1] [0 0 0 0 0][X1] [0] [X0] [0 0 0 0 0][X0] [0] [0] [0] [c] = [0] [0] [0] [X14] [X9] [X4] [1 0 0 1 0][X14] [1 0 0 2 0][X9] [1 2 3 2 0][X4] [0] [X13] [X8] [X3] [0 0 0 0 0][X13] [0 1 2 2 2][X8] [0 1 2 2 2][X3] [0] [if]([X12], [X7], [X2]) = [0 0 0 0 0][X12] + [0 0 1 2 2][X7] + [0 0 1 2 3][X2] + [0] [X11] [X6] [X1] [0 0 0 0 0][X11] [0 0 0 1 2][X6] [0 0 0 1 0][X1] [0] [X10] [X5] [X0] [0 0 0 0 0][X10] [0 0 0 0 1][X5] [0 0 0 0 1][X0] [0] Qed