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))} Fail