YES(?,O(n^2)) 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 [2] [add] = [0] [1] [curry] = [0] [0] [s] = [2] [1] [0] = [0] [0] [plus] = [0] [X3] [X1] [1 2][X3] [1 0][X1] [0] [app]([X2], [X0]) = [0 1][X2] + [0 1][X0] + [0] Qed