MAYBE TRS: { a__f(X1, X2, X3) -> f(X1, X2, X3), a__f(a(), b(), X) -> a__f(X, X, mark(X)), mark(a()) -> a(), mark(b()) -> b(), mark(f(X1, X2, X3)) -> a__f(X1, X2, mark(X3)), mark(c()) -> a__c(), a__c() -> a(), a__c() -> b(), a__c() -> c()} DP: Strict: { a__f#(a(), b(), X) -> a__f#(X, X, mark(X)), a__f#(a(), b(), X) -> mark#(X), mark#(f(X1, X2, X3)) -> a__f#(X1, X2, mark(X3)), mark#(f(X1, X2, X3)) -> mark#(X3), mark#(c()) -> a__c#()} Weak: { a__f(X1, X2, X3) -> f(X1, X2, X3), a__f(a(), b(), X) -> a__f(X, X, mark(X)), mark(a()) -> a(), mark(b()) -> b(), mark(f(X1, X2, X3)) -> a__f(X1, X2, mark(X3)), mark(c()) -> a__c(), a__c() -> a(), a__c() -> b(), a__c() -> c()} EDG: {(a__f#(a(), b(), X) -> a__f#(X, X, mark(X)), a__f#(a(), b(), X) -> mark#(X)) (a__f#(a(), b(), X) -> a__f#(X, X, mark(X)), a__f#(a(), b(), X) -> a__f#(X, X, mark(X))) (mark#(f(X1, X2, X3)) -> mark#(X3), mark#(c()) -> a__c#()) (mark#(f(X1, X2, X3)) -> mark#(X3), mark#(f(X1, X2, X3)) -> mark#(X3)) (mark#(f(X1, X2, X3)) -> mark#(X3), mark#(f(X1, X2, X3)) -> a__f#(X1, X2, mark(X3))) (mark#(f(X1, X2, X3)) -> a__f#(X1, X2, mark(X3)), a__f#(a(), b(), X) -> a__f#(X, X, mark(X))) (mark#(f(X1, X2, X3)) -> a__f#(X1, X2, mark(X3)), a__f#(a(), b(), X) -> mark#(X)) (a__f#(a(), b(), X) -> mark#(X), mark#(f(X1, X2, X3)) -> a__f#(X1, X2, mark(X3))) (a__f#(a(), b(), X) -> mark#(X), mark#(f(X1, X2, X3)) -> mark#(X3)) (a__f#(a(), b(), X) -> mark#(X), mark#(c()) -> a__c#())} SCCS: Scc: { a__f#(a(), b(), X) -> a__f#(X, X, mark(X)), a__f#(a(), b(), X) -> mark#(X), mark#(f(X1, X2, X3)) -> a__f#(X1, X2, mark(X3)), mark#(f(X1, X2, X3)) -> mark#(X3)} SCC: Strict: { a__f#(a(), b(), X) -> a__f#(X, X, mark(X)), a__f#(a(), b(), X) -> mark#(X), mark#(f(X1, X2, X3)) -> a__f#(X1, X2, mark(X3)), mark#(f(X1, X2, X3)) -> mark#(X3)} Weak: { a__f(X1, X2, X3) -> f(X1, X2, X3), a__f(a(), b(), X) -> a__f(X, X, mark(X)), mark(a()) -> a(), mark(b()) -> b(), mark(f(X1, X2, X3)) -> a__f(X1, X2, mark(X3)), mark(c()) -> a__c(), a__c() -> a(), a__c() -> b(), a__c() -> c()} POLY: Argument Filtering: pi(c) = [], pi(f) = [2], pi(a__c) = [], pi(b) = [], pi(a) = [], pi(mark#) = [0], pi(mark) = 0, pi(a__f#) = [2], pi(a__f) = [2] Usable Rules: {} Interpretation: [a__f#](x0) = x0 + 1, [mark#](x0) = x0 + 1, [f](x0) = x0 + 1 Strict: {a__f#(a(), b(), X) -> a__f#(X, X, mark(X)), a__f#(a(), b(), X) -> mark#(X)} Weak: { a__f(X1, X2, X3) -> f(X1, X2, X3), a__f(a(), b(), X) -> a__f(X, X, mark(X)), mark(a()) -> a(), mark(b()) -> b(), mark(f(X1, X2, X3)) -> a__f(X1, X2, mark(X3)), mark(c()) -> a__c(), a__c() -> a(), a__c() -> b(), a__c() -> c()} EDG: {(a__f#(a(), b(), X) -> a__f#(X, X, mark(X)), a__f#(a(), b(), X) -> mark#(X)) (a__f#(a(), b(), X) -> a__f#(X, X, mark(X)), a__f#(a(), b(), X) -> a__f#(X, X, mark(X)))} SCCS: Scc: {a__f#(a(), b(), X) -> a__f#(X, X, mark(X))} SCC: Strict: {a__f#(a(), b(), X) -> a__f#(X, X, mark(X))} Weak: { a__f(X1, X2, X3) -> f(X1, X2, X3), a__f(a(), b(), X) -> a__f(X, X, mark(X)), mark(a()) -> a(), mark(b()) -> b(), mark(f(X1, X2, X3)) -> a__f(X1, X2, mark(X3)), mark(c()) -> a__c(), a__c() -> a(), a__c() -> b(), a__c() -> c()} Fail