MAYBE MAYBE TRS: { is_empty(nil()) -> true(), is_empty(cons(x, l)) -> false(), hd(cons(x, l)) -> x, tl(cons(x, l)) -> l, ifappend(l1, l2, nil()) -> l2, ifappend(l1, l2, cons(x, l)) -> cons(x, append(l, l2)), append(l1, l2) -> ifappend(l1, l2, l1) } DUP: We consider a duplicating system. Trs: { is_empty(nil()) -> true(), is_empty(cons(x, l)) -> false(), hd(cons(x, l)) -> x, tl(cons(x, l)) -> l, ifappend(l1, l2, nil()) -> l2, ifappend(l1, l2, cons(x, l)) -> cons(x, append(l, l2)), append(l1, l2) -> ifappend(l1, l2, l1) } Fail