TRS: { rev1(0(), nil()) -> 0(), rev1(s(X), nil()) -> s(X), rev1(X, cons(Y, L)) -> rev1(Y, L), rev(nil()) -> nil(), rev(cons(X, L)) -> cons(rev1(X, L), rev2(X, L)), rev2(X, nil()) -> nil(), rev2(X, cons(Y, L)) -> rev(cons(X, rev(rev2(Y, L))))} Fail