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: String Reversal Processor: f(a__f(X)) -> f(g(f(a__c(X)))) a__c(X) -> d(X) a__h(X) -> d(a__c(X)) f(mark(X)) -> mark(a__f(X)) c(mark(X)) -> a__c(X) h(mark(X)) -> mark(a__h(X)) g(mark(X)) -> g(X) d(mark(X)) -> d(X) a__f(X) -> f(X) a__c(X) -> c(X) a__h(X) -> h(X) WPO Processor: algebra: Sum weight function: w0 = 0 w(a__f) = w(f) = 2 w(mark) = 1 w(h) = w(c) = w(a__h) = w(d) = w(a__c) = w(g) = 0 status function: st(h) = st(c) = st(mark) = st(a__h) = st(d) = st(a__c) = st(g) = st(a__f) = st(f) = [0] precedence: a__h > a__c > a__f > f > h > c ~ mark ~ d ~ g problem: Qed