YES Problem: a(b(x1)) -> x1 a(c(x1)) -> b(c(c(a(x1)))) b(c(x1)) -> a(b(x1)) Proof: String Reversal Processor: b(a(x1)) -> x1 c(a(x1)) -> a(c(c(b(x1)))) c(b(x1)) -> b(a(x1)) DP Processor: DPs: c#(a(x1)) -> b#(x1) c#(a(x1)) -> c#(b(x1)) c#(a(x1)) -> c#(c(b(x1))) c#(b(x1)) -> b#(a(x1)) TRS: b(a(x1)) -> x1 c(a(x1)) -> a(c(c(b(x1)))) c(b(x1)) -> b(a(x1)) TDG Processor: DPs: c#(a(x1)) -> b#(x1) c#(a(x1)) -> c#(b(x1)) c#(a(x1)) -> c#(c(b(x1))) c#(b(x1)) -> b#(a(x1)) TRS: b(a(x1)) -> x1 c(a(x1)) -> a(c(c(b(x1)))) c(b(x1)) -> b(a(x1)) graph: c#(a(x1)) -> c#(c(b(x1))) -> c#(b(x1)) -> b#(a(x1)) c#(a(x1)) -> c#(c(b(x1))) -> c#(a(x1)) -> c#(c(b(x1))) c#(a(x1)) -> c#(c(b(x1))) -> c#(a(x1)) -> c#(b(x1)) c#(a(x1)) -> c#(c(b(x1))) -> c#(a(x1)) -> b#(x1) c#(a(x1)) -> c#(b(x1)) -> c#(b(x1)) -> b#(a(x1)) c#(a(x1)) -> c#(b(x1)) -> c#(a(x1)) -> c#(c(b(x1))) c#(a(x1)) -> c#(b(x1)) -> c#(a(x1)) -> c#(b(x1)) c#(a(x1)) -> c#(b(x1)) -> c#(a(x1)) -> b#(x1) SCC Processor: #sccs: 1 #rules: 2 #arcs: 8/16 DPs: c#(a(x1)) -> c#(c(b(x1))) c#(a(x1)) -> c#(b(x1)) TRS: b(a(x1)) -> x1 c(a(x1)) -> a(c(c(b(x1)))) c(b(x1)) -> b(a(x1)) Arctic Interpretation Processor: dimension: 1 usable rules: b(a(x1)) -> x1 c(a(x1)) -> a(c(c(b(x1)))) c(b(x1)) -> b(a(x1)) interpretation: [c#](x0) = x0 + 0, [a](x0) = 1x0 + 3, [b](x0) = -1x0 + 0, [c](x0) = 1x0 + 2 orientation: c#(a(x1)) = 1x1 + 3 >= x1 + 2 = c#(c(b(x1))) c#(a(x1)) = 1x1 + 3 >= -1x1 + 0 = c#(b(x1)) b(a(x1)) = x1 + 2 >= x1 = x1 c(a(x1)) = 2x1 + 4 >= 2x1 + 4 = a(c(c(b(x1)))) c(b(x1)) = x1 + 2 >= x1 + 2 = b(a(x1)) problem: DPs: TRS: b(a(x1)) -> x1 c(a(x1)) -> a(c(c(b(x1)))) c(b(x1)) -> b(a(x1)) Qed