YES TRS: a__and(tt(),X) -> mark(X) a__plus(N,0()) -> mark(N) a__plus(N,s(M)) -> s(a__plus(mark(N),mark(M))) mark(and(X1,X2)) -> a__and(mark(X1),X2) mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) mark(tt()) -> tt() mark(0()) -> 0() mark(s(X)) -> s(mark(X)) a__and(X1,X2) -> and(X1,X2) a__plus(X1,X2) -> plus(X1,X2) linear polynomial interpretations on N: a__and_A(x1,x2) = x1 + x2 + 1 a__and#_A(x1,x2) = x1 + x2 + 1 tt_A = 0 tt#_A = 0 mark_A(x1) = x1 mark#_A(x1) = x1 a__plus_A(x1,x2) = x1 + x2 + 1 a__plus#_A(x1,x2) = x1 + x2 + 1 0_A = 0 0#_A = 0 s_A(x1) = x1 + 1 s#_A(x1) = x1 + 1 and_A(x1,x2) = x1 + x2 + 1 and#_A(x1,x2) = x1 + x2 + 1 plus_A(x1,x2) = x1 + x2 + 1 plus#_A(x1,x2) = x1 + x2 + 1 precedence: mark > a__and = tt = a__plus = 0 > s = and = plus