We consider the following Problem: Strict Trs: { circ(cons(a, s), t) -> cons(msubst(a, t), circ(s, t)) , circ(cons(lift(), s), cons(a, t)) -> cons(a, circ(s, t)) , circ(cons(lift(), s), cons(lift(), t)) -> cons(lift(), circ(s, t)) , circ(circ(s, t), u) -> circ(s, circ(t, u)) , circ(s, id()) -> s , circ(id(), s) -> s , circ(cons(lift(), s), circ(cons(lift(), t), u)) -> circ(cons(lift(), circ(s, t)), u) , subst(a, id()) -> a , msubst(a, id()) -> a , msubst(msubst(a, s), t) -> msubst(a, circ(s, t))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: Arguments of following rules are not normal-forms: {circ(cons(lift(), s), circ(cons(lift(), t), u)) -> circ(cons(lift(), circ(s, t)), u)} All above mentioned rules can be savely removed. We consider the following Problem: Strict Trs: { circ(cons(a, s), t) -> cons(msubst(a, t), circ(s, t)) , circ(cons(lift(), s), cons(a, t)) -> cons(a, circ(s, t)) , circ(cons(lift(), s), cons(lift(), t)) -> cons(lift(), circ(s, t)) , circ(circ(s, t), u) -> circ(s, circ(t, u)) , circ(s, id()) -> s , circ(id(), s) -> s , subst(a, id()) -> a , msubst(a, id()) -> a , msubst(msubst(a, s), t) -> msubst(a, circ(s, t))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: We consider the following Problem: Strict Trs: { circ(cons(a, s), t) -> cons(msubst(a, t), circ(s, t)) , circ(cons(lift(), s), cons(a, t)) -> cons(a, circ(s, t)) , circ(cons(lift(), s), cons(lift(), t)) -> cons(lift(), circ(s, t)) , circ(circ(s, t), u) -> circ(s, circ(t, u)) , circ(s, id()) -> s , circ(id(), s) -> s , subst(a, id()) -> a , msubst(a, id()) -> a , msubst(msubst(a, s), t) -> msubst(a, circ(s, t))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^2)) Proof: The following argument positions are usable: Uargs(circ) = {2}, Uargs(cons) = {1, 2}, Uargs(msubst) = {2}, Uargs(subst) = {} We have the following restricted polynomial interpretation: Interpretation Functions: [circ](x1, x2) = 1 + 2*x1 + x1*x2 + x1^2 + x2 [cons](x1, x2) = 2 + x1 + x2 [msubst](x1, x2) = 2 + 3*x1 + x1*x2 + x1^2 + 2*x2 [lift]() = 3 [id]() = 3 [subst](x1, x2) = 1 + x1 Hurray, we answered YES(?,O(n^2))