YES Problem: a__f(f(X)) -> a__c(f(g(f(X)))) a__c(X) -> d(X) a__h(X) -> a__c(d(X)) mark(f(X)) -> a__f(mark(X)) mark(c(X)) -> a__c(X) mark(h(X)) -> a__h(mark(X)) mark(g(X)) -> g(X) mark(d(X)) -> d(X) a__f(X) -> f(X) a__c(X) -> c(X) a__h(X) -> h(X) Proof: DP Processor: DPs: a__f#(f(X)) -> a__c#(f(g(f(X)))) a__h#(X) -> a__c#(d(X)) mark#(f(X)) -> mark#(X) mark#(f(X)) -> a__f#(mark(X)) mark#(c(X)) -> a__c#(X) mark#(h(X)) -> mark#(X) mark#(h(X)) -> a__h#(mark(X)) TRS: a__f(f(X)) -> a__c(f(g(f(X)))) a__c(X) -> d(X) a__h(X) -> a__c(d(X)) mark(f(X)) -> a__f(mark(X)) mark(c(X)) -> a__c(X) mark(h(X)) -> a__h(mark(X)) mark(g(X)) -> g(X) mark(d(X)) -> d(X) a__f(X) -> f(X) a__c(X) -> c(X) a__h(X) -> h(X) CDG Processor: DPs: a__f#(f(X)) -> a__c#(f(g(f(X)))) a__h#(X) -> a__c#(d(X)) mark#(f(X)) -> mark#(X) mark#(f(X)) -> a__f#(mark(X)) mark#(c(X)) -> a__c#(X) mark#(h(X)) -> mark#(X) mark#(h(X)) -> a__h#(mark(X)) TRS: a__f(f(X)) -> a__c(f(g(f(X)))) a__c(X) -> d(X) a__h(X) -> a__c(d(X)) mark(f(X)) -> a__f(mark(X)) mark(c(X)) -> a__c(X) mark(h(X)) -> a__h(mark(X)) mark(g(X)) -> g(X) mark(d(X)) -> d(X) a__f(X) -> f(X) a__c(X) -> c(X) a__h(X) -> h(X) graph: mark#(h(X)) -> mark#(X) -> mark#(f(X)) -> mark#(X) mark#(h(X)) -> mark#(X) -> mark#(f(X)) -> a__f#(mark(X)) mark#(h(X)) -> mark#(X) -> mark#(c(X)) -> a__c#(X) mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> mark#(X) mark#(h(X)) -> mark#(X) -> mark#(h(X)) -> a__h#(mark(X)) mark#(h(X)) -> a__h#(mark(X)) -> a__h#(X) -> a__c#(d(X)) mark#(f(X)) -> mark#(X) -> mark#(f(X)) -> mark#(X) mark#(f(X)) -> mark#(X) -> mark#(f(X)) -> a__f#(mark(X)) mark#(f(X)) -> mark#(X) -> mark#(c(X)) -> a__c#(X) mark#(f(X)) -> mark#(X) -> mark#(h(X)) -> mark#(X) mark#(f(X)) -> mark#(X) -> mark#(h(X)) -> a__h#(mark(X)) mark#(f(X)) -> a__f#(mark(X)) -> a__f#(f(X)) -> a__c#(f(g(f(X)))) SCC Processor: #sccs: 1 #rules: 2 #arcs: 12/49 DPs: mark#(h(X)) -> mark#(X) mark#(f(X)) -> mark#(X) TRS: a__f(f(X)) -> a__c(f(g(f(X)))) a__c(X) -> d(X) a__h(X) -> a__c(d(X)) mark(f(X)) -> a__f(mark(X)) mark(c(X)) -> a__c(X) mark(h(X)) -> a__h(mark(X)) mark(g(X)) -> g(X) mark(d(X)) -> d(X) a__f(X) -> f(X) a__c(X) -> c(X) a__h(X) -> h(X) Matrix Interpretation Processor: dimension: 1 interpretation: [mark#](x0) = x0 + 1, [h](x0) = x0 + 1, [c](x0) = x0, [mark](x0) = x0, [a__h](x0) = x0 + 1, [d](x0) = x0, [a__c](x0) = x0, [g](x0) = x0, [a__f](x0) = x0 + 1, [f](x0) = x0 + 1 orientation: mark#(h(X)) = X + 2 >= X + 1 = mark#(X) mark#(f(X)) = X + 2 >= X + 1 = mark#(X) a__f(f(X)) = X + 2 >= X + 2 = a__c(f(g(f(X)))) a__c(X) = X >= X = d(X) a__h(X) = X + 1 >= X = a__c(d(X)) mark(f(X)) = X + 1 >= X + 1 = a__f(mark(X)) mark(c(X)) = X >= X = a__c(X) mark(h(X)) = X + 1 >= X + 1 = a__h(mark(X)) mark(g(X)) = X >= X = g(X) mark(d(X)) = X >= X = d(X) a__f(X) = X + 1 >= X + 1 = f(X) a__c(X) = X >= X = c(X) a__h(X) = X + 1 >= X + 1 = h(X) problem: DPs: TRS: a__f(f(X)) -> a__c(f(g(f(X)))) a__c(X) -> d(X) a__h(X) -> a__c(d(X)) mark(f(X)) -> a__f(mark(X)) mark(c(X)) -> a__c(X) mark(h(X)) -> a__h(mark(X)) mark(g(X)) -> g(X) mark(d(X)) -> d(X) a__f(X) -> f(X) a__c(X) -> c(X) a__h(X) -> h(X) Qed