YES Problem: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) Proof: DP Processor: DPs: b#(a(a(x1))) -> c#(x1) b#(a(a(x1))) -> b#(c(x1)) b#(a(a(x1))) -> a#(b(c(x1))) c#(a(x1)) -> c#(x1) c#(a(x1)) -> a#(c(x1)) b#(c(a(x1))) -> c#(x1) b#(c(a(x1))) -> b#(c(x1)) b#(c(a(x1))) -> a#(b(c(x1))) c#(b(x1)) -> d#(x1) d#(x1) -> a#(x1) d#(x1) -> b#(a(x1)) a#(d(x1)) -> a#(x1) a#(d(x1)) -> d#(a(x1)) a#(a(x1)) -> b#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) TDG Processor: DPs: b#(a(a(x1))) -> c#(x1) b#(a(a(x1))) -> b#(c(x1)) b#(a(a(x1))) -> a#(b(c(x1))) c#(a(x1)) -> c#(x1) c#(a(x1)) -> a#(c(x1)) b#(c(a(x1))) -> c#(x1) b#(c(a(x1))) -> b#(c(x1)) b#(c(a(x1))) -> a#(b(c(x1))) c#(b(x1)) -> d#(x1) d#(x1) -> a#(x1) d#(x1) -> b#(a(x1)) a#(d(x1)) -> a#(x1) a#(d(x1)) -> d#(a(x1)) a#(a(x1)) -> b#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) graph: d#(x1) -> a#(x1) -> a#(a(x1)) -> a#(b(a(x1))) d#(x1) -> a#(x1) -> a#(a(x1)) -> b#(a(x1)) d#(x1) -> a#(x1) -> a#(d(x1)) -> d#(a(x1)) d#(x1) -> a#(x1) -> a#(d(x1)) -> a#(x1) d#(x1) -> b#(a(x1)) -> b#(c(a(x1))) -> a#(b(c(x1))) d#(x1) -> b#(a(x1)) -> b#(c(a(x1))) -> b#(c(x1)) d#(x1) -> b#(a(x1)) -> b#(c(a(x1))) -> c#(x1) d#(x1) -> b#(a(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) d#(x1) -> b#(a(x1)) -> b#(a(a(x1))) -> b#(c(x1)) d#(x1) -> b#(a(x1)) -> b#(a(a(x1))) -> c#(x1) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> b#(a(x1)) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> a#(x1) a#(d(x1)) -> a#(x1) -> a#(a(x1)) -> a#(b(a(x1))) a#(d(x1)) -> a#(x1) -> a#(a(x1)) -> b#(a(x1)) a#(d(x1)) -> a#(x1) -> a#(d(x1)) -> d#(a(x1)) a#(d(x1)) -> a#(x1) -> a#(d(x1)) -> a#(x1) a#(a(x1)) -> a#(b(a(x1))) -> a#(a(x1)) -> a#(b(a(x1))) a#(a(x1)) -> a#(b(a(x1))) -> a#(a(x1)) -> b#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) -> a#(d(x1)) -> d#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) -> a#(d(x1)) -> a#(x1) a#(a(x1)) -> b#(a(x1)) -> b#(c(a(x1))) -> a#(b(c(x1))) a#(a(x1)) -> b#(a(x1)) -> b#(c(a(x1))) -> b#(c(x1)) a#(a(x1)) -> b#(a(x1)) -> b#(c(a(x1))) -> c#(x1) a#(a(x1)) -> b#(a(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) a#(a(x1)) -> b#(a(x1)) -> b#(a(a(x1))) -> b#(c(x1)) a#(a(x1)) -> b#(a(x1)) -> b#(a(a(x1))) -> c#(x1) c#(b(x1)) -> d#(x1) -> d#(x1) -> b#(a(x1)) c#(b(x1)) -> d#(x1) -> d#(x1) -> a#(x1) c#(a(x1)) -> a#(c(x1)) -> a#(a(x1)) -> a#(b(a(x1))) c#(a(x1)) -> a#(c(x1)) -> a#(a(x1)) -> b#(a(x1)) c#(a(x1)) -> a#(c(x1)) -> a#(d(x1)) -> d#(a(x1)) c#(a(x1)) -> a#(c(x1)) -> a#(d(x1)) -> a#(x1) c#(a(x1)) -> c#(x1) -> c#(b(x1)) -> d#(x1) c#(a(x1)) -> c#(x1) -> c#(a(x1)) -> a#(c(x1)) c#(a(x1)) -> c#(x1) -> c#(a(x1)) -> c#(x1) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> a#(b(a(x1))) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> b#(a(x1)) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> d#(a(x1)) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> a#(x1) b#(c(a(x1))) -> c#(x1) -> c#(b(x1)) -> d#(x1) b#(c(a(x1))) -> c#(x1) -> c#(a(x1)) -> a#(c(x1)) b#(c(a(x1))) -> c#(x1) -> c#(a(x1)) -> c#(x1) b#(c(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> a#(b(c(x1))) b#(c(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> b#(c(x1)) b#(c(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> c#(x1) b#(c(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) b#(c(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> b#(c(x1)) b#(c(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> c#(x1) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> a#(b(a(x1))) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> b#(a(x1)) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> d#(a(x1)) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> a#(x1) b#(a(a(x1))) -> c#(x1) -> c#(b(x1)) -> d#(x1) b#(a(a(x1))) -> c#(x1) -> c#(a(x1)) -> a#(c(x1)) b#(a(a(x1))) -> c#(x1) -> c#(a(x1)) -> c#(x1) b#(a(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> a#(b(c(x1))) b#(a(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> b#(c(x1)) b#(a(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> c#(x1) b#(a(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) b#(a(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> b#(c(x1)) b#(a(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> c#(x1) EDG Processor: DPs: b#(a(a(x1))) -> c#(x1) b#(a(a(x1))) -> b#(c(x1)) b#(a(a(x1))) -> a#(b(c(x1))) c#(a(x1)) -> c#(x1) c#(a(x1)) -> a#(c(x1)) b#(c(a(x1))) -> c#(x1) b#(c(a(x1))) -> b#(c(x1)) b#(c(a(x1))) -> a#(b(c(x1))) c#(b(x1)) -> d#(x1) d#(x1) -> a#(x1) d#(x1) -> b#(a(x1)) a#(d(x1)) -> a#(x1) a#(d(x1)) -> d#(a(x1)) a#(a(x1)) -> b#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) graph: d#(x1) -> a#(x1) -> a#(d(x1)) -> a#(x1) d#(x1) -> a#(x1) -> a#(d(x1)) -> d#(a(x1)) d#(x1) -> a#(x1) -> a#(a(x1)) -> b#(a(x1)) d#(x1) -> a#(x1) -> a#(a(x1)) -> a#(b(a(x1))) d#(x1) -> b#(a(x1)) -> b#(a(a(x1))) -> c#(x1) d#(x1) -> b#(a(x1)) -> b#(a(a(x1))) -> b#(c(x1)) d#(x1) -> b#(a(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> a#(x1) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> b#(a(x1)) a#(d(x1)) -> a#(x1) -> a#(d(x1)) -> a#(x1) a#(d(x1)) -> a#(x1) -> a#(d(x1)) -> d#(a(x1)) a#(d(x1)) -> a#(x1) -> a#(a(x1)) -> b#(a(x1)) a#(d(x1)) -> a#(x1) -> a#(a(x1)) -> a#(b(a(x1))) a#(a(x1)) -> a#(b(a(x1))) -> a#(d(x1)) -> a#(x1) a#(a(x1)) -> a#(b(a(x1))) -> a#(d(x1)) -> d#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) -> a#(a(x1)) -> b#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) -> a#(a(x1)) -> a#(b(a(x1))) a#(a(x1)) -> b#(a(x1)) -> b#(a(a(x1))) -> c#(x1) a#(a(x1)) -> b#(a(x1)) -> b#(a(a(x1))) -> b#(c(x1)) a#(a(x1)) -> b#(a(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) c#(b(x1)) -> d#(x1) -> d#(x1) -> a#(x1) c#(b(x1)) -> d#(x1) -> d#(x1) -> b#(a(x1)) c#(a(x1)) -> a#(c(x1)) -> a#(d(x1)) -> a#(x1) c#(a(x1)) -> a#(c(x1)) -> a#(d(x1)) -> d#(a(x1)) c#(a(x1)) -> a#(c(x1)) -> a#(a(x1)) -> b#(a(x1)) c#(a(x1)) -> a#(c(x1)) -> a#(a(x1)) -> a#(b(a(x1))) c#(a(x1)) -> c#(x1) -> c#(a(x1)) -> c#(x1) c#(a(x1)) -> c#(x1) -> c#(a(x1)) -> a#(c(x1)) c#(a(x1)) -> c#(x1) -> c#(b(x1)) -> d#(x1) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> a#(x1) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> d#(a(x1)) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> b#(a(x1)) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> a#(b(a(x1))) b#(c(a(x1))) -> c#(x1) -> c#(a(x1)) -> c#(x1) b#(c(a(x1))) -> c#(x1) -> c#(a(x1)) -> a#(c(x1)) b#(c(a(x1))) -> c#(x1) -> c#(b(x1)) -> d#(x1) b#(c(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> c#(x1) b#(c(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> b#(c(x1)) b#(c(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) b#(c(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> c#(x1) b#(c(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> b#(c(x1)) b#(c(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> a#(b(c(x1))) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> a#(x1) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> d#(a(x1)) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> b#(a(x1)) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> a#(b(a(x1))) b#(a(a(x1))) -> c#(x1) -> c#(a(x1)) -> c#(x1) b#(a(a(x1))) -> c#(x1) -> c#(a(x1)) -> a#(c(x1)) b#(a(a(x1))) -> c#(x1) -> c#(b(x1)) -> d#(x1) b#(a(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> c#(x1) b#(a(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> b#(c(x1)) b#(a(a(x1))) -> b#(c(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) b#(a(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> c#(x1) b#(a(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> b#(c(x1)) b#(a(a(x1))) -> b#(c(x1)) -> b#(c(a(x1))) -> a#(b(c(x1))) Arctic Interpretation Processor: dimension: 2 usable rules: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) interpretation: [d#](x0) = [1 1]x0 + [2], [a#](x0) = [0 1]x0, [c#](x0) = [0 1]x0 + [2], [b#](x0) = [0 0]x0 + [0], [-& -&] [0] [d](x0) = [0 1 ]x0 + [2], [0 -&] [-&] [c](x0) = [0 1 ]x0 + [2 ], [-& -&] [0] [b](x0) = [0 0 ]x0 + [0], [0 -&] [0] [a](x0) = [0 1 ]x0 + [2] orientation: b#(a(a(x1))) = [1 2]x1 + [3] >= [0 1]x1 + [2] = c#(x1) b#(a(a(x1))) = [1 2]x1 + [3] >= [0 1]x1 + [2] = b#(c(x1)) b#(a(a(x1))) = [1 2]x1 + [3] >= [1 2]x1 + [3] = a#(b(c(x1))) c#(a(x1)) = [1 2]x1 + [3] >= [0 1]x1 + [2] = c#(x1) c#(a(x1)) = [1 2]x1 + [3] >= [1 2]x1 + [3] = a#(c(x1)) b#(c(a(x1))) = [1 2]x1 + [3] >= [0 1]x1 + [2] = c#(x1) b#(c(a(x1))) = [1 2]x1 + [3] >= [0 1]x1 + [2] = b#(c(x1)) b#(c(a(x1))) = [1 2]x1 + [3] >= [1 2]x1 + [3] = a#(b(c(x1))) c#(b(x1)) = [1 1]x1 + [2] >= [1 1]x1 + [2] = d#(x1) d#(x1) = [1 1]x1 + [2] >= [0 1]x1 = a#(x1) d#(x1) = [1 1]x1 + [2] >= [0 1]x1 + [2] = b#(a(x1)) a#(d(x1)) = [1 2]x1 + [3] >= [0 1]x1 = a#(x1) a#(d(x1)) = [1 2]x1 + [3] >= [1 2]x1 + [3] = d#(a(x1)) a#(a(x1)) = [1 2]x1 + [3] >= [0 1]x1 + [2] = b#(a(x1)) a#(a(x1)) = [1 2]x1 + [3] >= [1 2]x1 + [3] = a#(b(a(x1))) [-& -&] [0] [-& -&] [0] b(a(a(x1))) = [1 2 ]x1 + [3] >= [1 2 ]x1 + [3] = a(b(c(x1))) [0 -&] [0] [0 -&] [0] c(a(x1)) = [1 2 ]x1 + [3] >= [1 2 ]x1 + [3] = a(c(x1)) [-& -&] [0] [-& -&] [0] b(c(a(x1))) = [1 2 ]x1 + [3] >= [1 2 ]x1 + [3] = a(b(c(x1))) [-& -&] [0] [-& -&] [0] c(b(x1)) = [1 1 ]x1 + [2] >= [0 1 ]x1 + [2] = d(x1) [-& -&] [0] [-& -&] [0] d(x1) = [0 1 ]x1 + [2] >= [0 1 ]x1 + [2] = b(a(x1)) [-& -&] [0] [-& -&] [0] a(d(x1)) = [1 2 ]x1 + [3] >= [1 2 ]x1 + [3] = d(a(x1)) [0 -&] [0] [-& -&] [0] a(a(x1)) = [1 2 ]x1 + [3] >= [1 2 ]x1 + [3] = a(b(a(x1))) problem: DPs: b#(a(a(x1))) -> a#(b(c(x1))) c#(a(x1)) -> a#(c(x1)) b#(c(a(x1))) -> a#(b(c(x1))) c#(b(x1)) -> d#(x1) d#(x1) -> a#(x1) d#(x1) -> b#(a(x1)) a#(d(x1)) -> d#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) Restore Modifier: DPs: b#(a(a(x1))) -> a#(b(c(x1))) c#(a(x1)) -> a#(c(x1)) b#(c(a(x1))) -> a#(b(c(x1))) c#(b(x1)) -> d#(x1) d#(x1) -> a#(x1) d#(x1) -> b#(a(x1)) a#(d(x1)) -> d#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) EDG Processor: DPs: b#(a(a(x1))) -> a#(b(c(x1))) c#(a(x1)) -> a#(c(x1)) b#(c(a(x1))) -> a#(b(c(x1))) c#(b(x1)) -> d#(x1) d#(x1) -> a#(x1) d#(x1) -> b#(a(x1)) a#(d(x1)) -> d#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) graph: d#(x1) -> a#(x1) -> a#(a(x1)) -> a#(b(a(x1))) d#(x1) -> a#(x1) -> a#(d(x1)) -> d#(a(x1)) d#(x1) -> b#(a(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> b#(a(x1)) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> a#(x1) a#(a(x1)) -> a#(b(a(x1))) -> a#(a(x1)) -> a#(b(a(x1))) a#(a(x1)) -> a#(b(a(x1))) -> a#(d(x1)) -> d#(a(x1)) c#(b(x1)) -> d#(x1) -> d#(x1) -> b#(a(x1)) c#(b(x1)) -> d#(x1) -> d#(x1) -> a#(x1) c#(a(x1)) -> a#(c(x1)) -> a#(a(x1)) -> a#(b(a(x1))) c#(a(x1)) -> a#(c(x1)) -> a#(d(x1)) -> d#(a(x1)) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> a#(b(a(x1))) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> d#(a(x1)) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> a#(b(a(x1))) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> d#(a(x1)) CDG Processor: DPs: b#(a(a(x1))) -> a#(b(c(x1))) c#(a(x1)) -> a#(c(x1)) b#(c(a(x1))) -> a#(b(c(x1))) c#(b(x1)) -> d#(x1) d#(x1) -> a#(x1) d#(x1) -> b#(a(x1)) a#(d(x1)) -> d#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) graph: d#(x1) -> a#(x1) -> a#(d(x1)) -> d#(a(x1)) d#(x1) -> a#(x1) -> a#(a(x1)) -> a#(b(a(x1))) d#(x1) -> b#(a(x1)) -> b#(a(a(x1))) -> a#(b(c(x1))) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> a#(x1) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> b#(a(x1)) a#(a(x1)) -> a#(b(a(x1))) -> a#(a(x1)) -> a#(b(a(x1))) c#(b(x1)) -> d#(x1) -> d#(x1) -> a#(x1) c#(b(x1)) -> d#(x1) -> d#(x1) -> b#(a(x1)) c#(a(x1)) -> a#(c(x1)) -> a#(d(x1)) -> d#(a(x1)) c#(a(x1)) -> a#(c(x1)) -> a#(a(x1)) -> a#(b(a(x1))) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> d#(a(x1)) b#(c(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> a#(b(a(x1))) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(d(x1)) -> d#(a(x1)) b#(a(a(x1))) -> a#(b(c(x1))) -> a#(a(x1)) -> a#(b(a(x1))) SCC Processor: #sccs: 2 #rules: 5 #arcs: 14/64 DPs: d#(x1) -> a#(x1) a#(d(x1)) -> d#(a(x1)) d#(x1) -> b#(a(x1)) b#(a(a(x1))) -> a#(b(c(x1))) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) Arctic Interpretation Processor: dimension: 2 usable rules: b(a(a(x1))) -> a(b(c(x1))) b(c(a(x1))) -> a(b(c(x1))) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) interpretation: [d#](x0) = [0 0]x0 + [2], [a#](x0) = [0 -&]x0 + [0], [b#](x0) = [0 0]x0 + [1], [3 1] [2] [d](x0) = [2 3]x0 + [3], [1 0] [0] [c](x0) = [0 2]x0 + [1], [0] [b](x0) = [0], [-& 0 ] [0] [a](x0) = [0 0 ]x0 + [0] orientation: d#(x1) = [0 0]x1 + [2] >= [0 -&]x1 + [0] = a#(x1) a#(d(x1)) = [3 1]x1 + [2] >= [0 0]x1 + [2] = d#(a(x1)) d#(x1) = [0 0]x1 + [2] >= [0 0]x1 + [1] = b#(a(x1)) b#(a(a(x1))) = [0 0]x1 + [1] >= [0] = a#(b(c(x1))) [0] [0] b(a(a(x1))) = [0] >= [0] = a(b(c(x1))) [0 1] [1] [0 2] [1] c(a(x1)) = [2 2]x1 + [2] >= [1 2]x1 + [1] = a(c(x1)) [0] [0] b(c(a(x1))) = [0] >= [0] = a(b(c(x1))) [1] [3 1] [2] c(b(x1)) = [2] >= [2 3]x1 + [3] = d(x1) [3 1] [2] [0] d(x1) = [2 3]x1 + [3] >= [0] = b(a(x1)) [2 3] [3] [1 3] [3] a(d(x1)) = [3 3]x1 + [3] >= [3 3]x1 + [3] = d(a(x1)) [0 0] [0] [0] a(a(x1)) = [0 0]x1 + [0] >= [0] = a(b(a(x1))) problem: DPs: d#(x1) -> a#(x1) a#(d(x1)) -> d#(a(x1)) d#(x1) -> b#(a(x1)) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) Restore Modifier: DPs: d#(x1) -> a#(x1) a#(d(x1)) -> d#(a(x1)) d#(x1) -> b#(a(x1)) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) EDG Processor: DPs: d#(x1) -> a#(x1) a#(d(x1)) -> d#(a(x1)) d#(x1) -> b#(a(x1)) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) graph: d#(x1) -> a#(x1) -> a#(d(x1)) -> d#(a(x1)) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> b#(a(x1)) a#(d(x1)) -> d#(a(x1)) -> d#(x1) -> a#(x1) SCC Processor: #sccs: 1 #rules: 2 #arcs: 3/9 DPs: d#(x1) -> a#(x1) a#(d(x1)) -> d#(a(x1)) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) Arctic Interpretation Processor: dimension: 1 usable rules: b(a(a(x1))) -> a(b(c(x1))) b(c(a(x1))) -> a(b(c(x1))) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) interpretation: [d#](x0) = 4x0 + 5, [a#](x0) = x0, [d](x0) = 4x0 + 5, [c](x0) = 5x0 + 3, [b](x0) = 0, [a](x0) = x0 + 0 orientation: d#(x1) = 4x1 + 5 >= x1 = a#(x1) a#(d(x1)) = 4x1 + 5 >= 4x1 + 5 = d#(a(x1)) b(a(a(x1))) = 0 >= 0 = a(b(c(x1))) c(a(x1)) = 5x1 + 5 >= 5x1 + 3 = a(c(x1)) b(c(a(x1))) = 0 >= 0 = a(b(c(x1))) c(b(x1)) = 5 >= 4x1 + 5 = d(x1) d(x1) = 4x1 + 5 >= 0 = b(a(x1)) a(d(x1)) = 4x1 + 5 >= 4x1 + 5 = d(a(x1)) a(a(x1)) = x1 + 0 >= 0 = a(b(a(x1))) problem: DPs: a#(d(x1)) -> d#(a(x1)) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) Restore Modifier: DPs: a#(d(x1)) -> d#(a(x1)) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) EDG Processor: DPs: a#(d(x1)) -> d#(a(x1)) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) graph: Qed DPs: a#(a(x1)) -> a#(b(a(x1))) TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) Arctic Interpretation Processor: dimension: 1 usable rules: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) interpretation: [a#](x0) = x0 + 8, [d](x0) = 6x0 + 9, [c](x0) = 15x0 + 0, [b](x0) = -9x0 + 1, [a](x0) = 15x0 + 10 orientation: a#(a(x1)) = 15x1 + 10 >= 6x1 + 8 = a#(b(a(x1))) b(a(a(x1))) = 21x1 + 16 >= 21x1 + 16 = a(b(c(x1))) c(a(x1)) = 30x1 + 25 >= 30x1 + 15 = a(c(x1)) b(c(a(x1))) = 21x1 + 16 >= 21x1 + 16 = a(b(c(x1))) c(b(x1)) = 6x1 + 16 >= 6x1 + 9 = d(x1) d(x1) = 6x1 + 9 >= 6x1 + 1 = b(a(x1)) a(d(x1)) = 21x1 + 24 >= 21x1 + 16 = d(a(x1)) a(a(x1)) = 30x1 + 25 >= 21x1 + 16 = a(b(a(x1))) problem: DPs: TRS: b(a(a(x1))) -> a(b(c(x1))) c(a(x1)) -> a(c(x1)) b(c(a(x1))) -> a(b(c(x1))) c(b(x1)) -> d(x1) d(x1) -> b(a(x1)) a(d(x1)) -> d(a(x1)) a(a(x1)) -> a(b(a(x1))) Qed