YES O(n^3) TRS: { app(app(app(curry(), f), x), y) -> app(app(f, x), y), app(app(plus(), app(s(), x)), y) -> app(s(), app(app(plus(), x), y)), app(app(plus(), 0()), y) -> y, add() -> app(curry(), plus()) } DUP: We consider a non-duplicating system. Trs: { app(app(app(curry(), f), x), y) -> app(app(f, x), y), app(app(plus(), app(s(), x)), y) -> app(s(), app(app(plus(), x), y)), app(app(plus(), 0()), y) -> y, add() -> app(curry(), plus()) } Matrix Interpretation: Interpretation class: triangular [1] [add] = [0] [1] [0] [curry] = [0] [0] [0] [s] = [0] [0] [0] [0] = [0] [0] [0] [plus] = [0] [0] [X5] [X2] [1 0 1][X5] [1 0 0][X2] [0] [app]([X4], [X1]) = [0 0 0][X4] + [0 1 0][X1] + [0] [X3] [X0] [0 0 1][X3] [0 0 1][X0] [1] Qed