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