YES O(n^3) 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] [false] = [0] [2] [X2] [1 2 1][X2] [3] [activate]([X1]) = [0 1 0][X1] + [0] [X0] [0 0 1][X0] [1] [X2] [1 2 0][X2] [3] [f]([X1]) = [0 1 0][X1] + [0] [X0] [0 0 1][X0] [2] [0] [true] = [0] [0] [X2] [1 2 0][X2] [0] [n__f]([X1]) = [0 1 0][X1] + [0] [X0] [0 0 1][X0] [1] [0] [c] = [0] [0] [X8] [X5] [X2] [1 0 0][X8] [1 0 2][X5] [1 2 1][X2] [1] [if]([X7], [X4], [X1]) = [0 0 0][X7] + [0 1 2][X4] + [0 1 0][X1] + [0] [X6] [X3] [X0] [0 0 1][X6] [0 0 1][X3] [0 0 1][X0] [0] Qed