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