MAYBE MAYBE TRS: { active(f(x)) -> mark(x), active(f(x)) -> f(active(x)), f(mark(x)) -> mark(f(x)), f(ok(x)) -> ok(f(x)), f(found(x)) -> found(f(x)), top(mark(x)) -> top(check(x)), top(active(c())) -> top(mark(c())), top(found(x)) -> top(active(x)), check(x) -> start(match(f(X()), x)), check(f(x)) -> f(check(x)), start(ok(x)) -> found(x), match(f(x), f(y)) -> f(match(x, y)), match(X(), x) -> proper(x), proper(f(x)) -> f(proper(x)), proper(c()) -> ok(c()) } DUP: We consider a non-duplicating system. Trs: { active(f(x)) -> mark(x), active(f(x)) -> f(active(x)), f(mark(x)) -> mark(f(x)), f(ok(x)) -> ok(f(x)), f(found(x)) -> found(f(x)), top(mark(x)) -> top(check(x)), top(active(c())) -> top(mark(c())), top(found(x)) -> top(active(x)), check(x) -> start(match(f(X()), x)), check(f(x)) -> f(check(x)), start(ok(x)) -> found(x), match(f(x), f(y)) -> f(match(x, y)), match(X(), x) -> proper(x), proper(f(x)) -> f(proper(x)), proper(c()) -> ok(c()) } Fail