MAYBE
MAYBE
TRS:
 {
                active(eq(X, Y)) -> mark(false()),
            active(eq(0(), 0())) -> mark(true()),
          active(eq(s(X), s(Y))) -> mark(eq(X, Y)),
                  active(inf(X)) -> mark(cons(X, inf(s(X)))),
                  active(inf(X)) -> inf(active(X)),
            active(take(X1, X2)) -> take(X1, active(X2)),
            active(take(X1, X2)) -> take(active(X1), X2),
            active(take(0(), X)) -> mark(nil()),
  active(take(s(X), cons(Y, L))) -> mark(cons(Y, take(X, L))),
               active(length(X)) -> length(active(X)),
      active(length(cons(X, L))) -> mark(s(length(L))),
           active(length(nil())) -> mark(0()),
              eq(ok(X1), ok(X2)) -> ok(eq(X1, X2)),
                        s(ok(X)) -> ok(s(X)),
            cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)),
                    inf(mark(X)) -> mark(inf(X)),
                      inf(ok(X)) -> ok(inf(X)),
              take(X1, mark(X2)) -> mark(take(X1, X2)),
              take(mark(X1), X2) -> mark(take(X1, X2)),
            take(ok(X1), ok(X2)) -> ok(take(X1, X2)),
                 length(mark(X)) -> mark(length(X)),
                   length(ok(X)) -> ok(length(X)),
                  proper(true()) -> ok(true()),
              proper(eq(X1, X2)) -> eq(proper(X1), proper(X2)),
                     proper(0()) -> ok(0()),
                    proper(s(X)) -> s(proper(X)),
                 proper(false()) -> ok(false()),
       proper(cons(any(X1), X2)) ->
  cons(any(any(proper(X1))), any(proper(X2))),
                  proper(inf(X)) -> inf(proper(X)),
                   proper(nil()) -> ok(nil()),
            proper(take(X1, X2)) -> take(proper(X1), proper(X2)),
               proper(length(X)) -> length(proper(X)),
                          any(X) -> s(X),
                  any(proper(X)) -> any(any(any(X))),
                    top(mark(X)) -> top(proper(X)),
                      top(ok(X)) -> top(active(X))
 }
 Fail