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