We consider the following Problem: Strict Trs: { is_empty(nil()) -> true() , is_empty(cons(x, l)) -> false() , hd(cons(x, l)) -> x , tl(cons(x, l)) -> l , append(l1, l2) -> ifappend(l1, l2, l1) , ifappend(l1, l2, nil()) -> l2 , ifappend(l1, l2, cons(x, l)) -> cons(x, append(l, l2))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { is_empty(nil()) -> true() , is_empty(cons(x, l)) -> false() , hd(cons(x, l)) -> x , tl(cons(x, l)) -> l , append(l1, l2) -> ifappend(l1, l2, l1) , ifappend(l1, l2, nil()) -> l2 , ifappend(l1, l2, cons(x, l)) -> cons(x, append(l, l2))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { is_empty(nil()) -> true() , is_empty(cons(x, l)) -> false() , hd(cons(x, l)) -> x , tl(cons(x, l)) -> l , append(l1, l2) -> ifappend(l1, l2, l1) , ifappend(l1, l2, nil()) -> l2 , ifappend(l1, l2, cons(x, l)) -> cons(x, append(l, l2))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The following argument positions are usable: Uargs(is_empty) = {}, Uargs(cons) = {2}, Uargs(hd) = {}, Uargs(tl) = {}, Uargs(append) = {}, Uargs(ifappend) = {} We have the following constructor-based EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: is_empty(x1) = [0 0] x1 + [1] [0 0] [1] nil() = [0] [2] true() = [0] [0] cons(x1, x2) = [0 1] x1 + [1 0] x2 + [2] [1 0] [0 1] [0] false() = [0] [0] hd(x1) = [0 1] x1 + [1] [1 0] [3] tl(x1) = [1 0] x1 + [3] [1 1] [3] append(x1, x2) = [2 1] x1 + [2 0] x2 + [1] [1 1] [0 2] [2] ifappend(x1, x2, x3) = [0 0] x1 + [2 0] x2 + [2 1] x3 + [0] [0 0] [0 2] [1 1] [1] Hurray, we answered YES(?,O(n^1))