YES Problem: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) Proof: DP Processor: DPs: a#(a(x1)) -> b#(x1) b#(a(x1)) -> b#(x1) b#(a(x1)) -> a#(b(x1)) b#(b(c(x1))) -> a#(x1) b#(b(c(x1))) -> c#(a(x1)) b#(b(x1)) -> a#(x1) b#(b(x1)) -> a#(a(x1)) b#(b(x1)) -> a#(a(a(x1))) c#(a(x1)) -> c#(x1) c#(a(x1)) -> a#(c(x1)) c#(a(x1)) -> b#(a(c(x1))) TRS: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) TDG Processor: DPs: a#(a(x1)) -> b#(x1) b#(a(x1)) -> b#(x1) b#(a(x1)) -> a#(b(x1)) b#(b(c(x1))) -> a#(x1) b#(b(c(x1))) -> c#(a(x1)) b#(b(x1)) -> a#(x1) b#(b(x1)) -> a#(a(x1)) b#(b(x1)) -> a#(a(a(x1))) c#(a(x1)) -> c#(x1) c#(a(x1)) -> a#(c(x1)) c#(a(x1)) -> b#(a(c(x1))) TRS: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) graph: c#(a(x1)) -> c#(x1) -> c#(a(x1)) -> b#(a(c(x1))) c#(a(x1)) -> c#(x1) -> c#(a(x1)) -> a#(c(x1)) c#(a(x1)) -> c#(x1) -> c#(a(x1)) -> c#(x1) c#(a(x1)) -> b#(a(c(x1))) -> b#(b(x1)) -> a#(a(a(x1))) c#(a(x1)) -> b#(a(c(x1))) -> b#(b(x1)) -> a#(a(x1)) c#(a(x1)) -> b#(a(c(x1))) -> b#(b(x1)) -> a#(x1) c#(a(x1)) -> b#(a(c(x1))) -> b#(b(c(x1))) -> c#(a(x1)) c#(a(x1)) -> b#(a(c(x1))) -> b#(b(c(x1))) -> a#(x1) c#(a(x1)) -> b#(a(c(x1))) -> b#(a(x1)) -> a#(b(x1)) c#(a(x1)) -> b#(a(c(x1))) -> b#(a(x1)) -> b#(x1) c#(a(x1)) -> a#(c(x1)) -> a#(a(x1)) -> b#(x1) b#(b(c(x1))) -> c#(a(x1)) -> c#(a(x1)) -> b#(a(c(x1))) b#(b(c(x1))) -> c#(a(x1)) -> c#(a(x1)) -> a#(c(x1)) b#(b(c(x1))) -> c#(a(x1)) -> c#(a(x1)) -> c#(x1) b#(b(c(x1))) -> a#(x1) -> a#(a(x1)) -> b#(x1) b#(b(x1)) -> a#(a(a(x1))) -> a#(a(x1)) -> b#(x1) b#(b(x1)) -> a#(a(x1)) -> a#(a(x1)) -> b#(x1) b#(b(x1)) -> a#(x1) -> a#(a(x1)) -> b#(x1) b#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(a(a(x1))) b#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(a(x1)) b#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(x1) b#(a(x1)) -> b#(x1) -> b#(b(c(x1))) -> c#(a(x1)) b#(a(x1)) -> b#(x1) -> b#(b(c(x1))) -> a#(x1) b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> a#(b(x1)) b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(x1) b#(a(x1)) -> a#(b(x1)) -> a#(a(x1)) -> b#(x1) a#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(a(a(x1))) a#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(a(x1)) a#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(x1) a#(a(x1)) -> b#(x1) -> b#(b(c(x1))) -> c#(a(x1)) a#(a(x1)) -> b#(x1) -> b#(b(c(x1))) -> a#(x1) a#(a(x1)) -> b#(x1) -> b#(a(x1)) -> a#(b(x1)) a#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(x1) Arctic Interpretation Processor: dimension: 1 interpretation: [c#](x0) = 1x0, [b#](x0) = x0, [a#](x0) = x0, [c](x0) = 1x0, [b](x0) = x0, [a](x0) = x0 orientation: a#(a(x1)) = x1 >= x1 = b#(x1) b#(a(x1)) = x1 >= x1 = b#(x1) b#(a(x1)) = x1 >= x1 = a#(b(x1)) b#(b(c(x1))) = 1x1 >= x1 = a#(x1) b#(b(c(x1))) = 1x1 >= 1x1 = c#(a(x1)) b#(b(x1)) = x1 >= x1 = a#(x1) b#(b(x1)) = x1 >= x1 = a#(a(x1)) b#(b(x1)) = x1 >= x1 = a#(a(a(x1))) c#(a(x1)) = 1x1 >= 1x1 = c#(x1) c#(a(x1)) = 1x1 >= 1x1 = a#(c(x1)) c#(a(x1)) = 1x1 >= 1x1 = b#(a(c(x1))) a(a(x1)) = x1 >= x1 = b(x1) b(a(x1)) = x1 >= x1 = a(b(x1)) b(b(c(x1))) = 1x1 >= 1x1 = c(a(x1)) b(b(x1)) = x1 >= x1 = a(a(a(x1))) c(a(x1)) = 1x1 >= 1x1 = b(a(c(x1))) problem: DPs: a#(a(x1)) -> b#(x1) b#(a(x1)) -> b#(x1) b#(a(x1)) -> a#(b(x1)) b#(b(c(x1))) -> c#(a(x1)) b#(b(x1)) -> a#(x1) b#(b(x1)) -> a#(a(x1)) b#(b(x1)) -> a#(a(a(x1))) c#(a(x1)) -> c#(x1) c#(a(x1)) -> a#(c(x1)) c#(a(x1)) -> b#(a(c(x1))) TRS: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) EDG Processor: DPs: a#(a(x1)) -> b#(x1) b#(a(x1)) -> b#(x1) b#(a(x1)) -> a#(b(x1)) b#(b(c(x1))) -> c#(a(x1)) b#(b(x1)) -> a#(x1) b#(b(x1)) -> a#(a(x1)) b#(b(x1)) -> a#(a(a(x1))) c#(a(x1)) -> c#(x1) c#(a(x1)) -> a#(c(x1)) c#(a(x1)) -> b#(a(c(x1))) TRS: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) graph: 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#(a(x1)) -> b#(a(c(x1))) c#(a(x1)) -> b#(a(c(x1))) -> b#(a(x1)) -> b#(x1) c#(a(x1)) -> b#(a(c(x1))) -> b#(a(x1)) -> a#(b(x1)) c#(a(x1)) -> b#(a(c(x1))) -> b#(b(c(x1))) -> c#(a(x1)) c#(a(x1)) -> b#(a(c(x1))) -> b#(b(x1)) -> a#(x1) c#(a(x1)) -> b#(a(c(x1))) -> b#(b(x1)) -> a#(a(x1)) c#(a(x1)) -> b#(a(c(x1))) -> b#(b(x1)) -> a#(a(a(x1))) c#(a(x1)) -> a#(c(x1)) -> a#(a(x1)) -> b#(x1) b#(b(c(x1))) -> c#(a(x1)) -> c#(a(x1)) -> c#(x1) b#(b(c(x1))) -> c#(a(x1)) -> c#(a(x1)) -> a#(c(x1)) b#(b(c(x1))) -> c#(a(x1)) -> c#(a(x1)) -> b#(a(c(x1))) b#(b(x1)) -> a#(a(a(x1))) -> a#(a(x1)) -> b#(x1) b#(b(x1)) -> a#(a(x1)) -> a#(a(x1)) -> b#(x1) b#(b(x1)) -> a#(x1) -> a#(a(x1)) -> b#(x1) b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(x1) b#(a(x1)) -> b#(x1) -> b#(a(x1)) -> a#(b(x1)) b#(a(x1)) -> b#(x1) -> b#(b(c(x1))) -> c#(a(x1)) b#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(x1) b#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(a(x1)) b#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(a(a(x1))) b#(a(x1)) -> a#(b(x1)) -> a#(a(x1)) -> b#(x1) a#(a(x1)) -> b#(x1) -> b#(a(x1)) -> b#(x1) a#(a(x1)) -> b#(x1) -> b#(a(x1)) -> a#(b(x1)) a#(a(x1)) -> b#(x1) -> b#(b(c(x1))) -> c#(a(x1)) a#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(x1) a#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(a(x1)) a#(a(x1)) -> b#(x1) -> b#(b(x1)) -> a#(a(a(x1))) Matrix Interpretation Processor: dim=1 interpretation: [c#](x0) = 3x0, [b#](x0) = x0 + 1, [a#](x0) = x0, [c](x0) = 3x0, [b](x0) = x0 + 2, [a](x0) = x0 + 1 orientation: a#(a(x1)) = x1 + 1 >= x1 + 1 = b#(x1) b#(a(x1)) = x1 + 2 >= x1 + 1 = b#(x1) b#(a(x1)) = x1 + 2 >= x1 + 2 = a#(b(x1)) b#(b(c(x1))) = 3x1 + 3 >= 3x1 + 3 = c#(a(x1)) b#(b(x1)) = x1 + 3 >= x1 = a#(x1) b#(b(x1)) = x1 + 3 >= x1 + 1 = a#(a(x1)) b#(b(x1)) = x1 + 3 >= x1 + 2 = a#(a(a(x1))) c#(a(x1)) = 3x1 + 3 >= 3x1 = c#(x1) c#(a(x1)) = 3x1 + 3 >= 3x1 = a#(c(x1)) c#(a(x1)) = 3x1 + 3 >= 3x1 + 2 = b#(a(c(x1))) a(a(x1)) = x1 + 2 >= x1 + 2 = b(x1) b(a(x1)) = x1 + 3 >= x1 + 3 = a(b(x1)) b(b(c(x1))) = 3x1 + 4 >= 3x1 + 3 = c(a(x1)) b(b(x1)) = x1 + 4 >= x1 + 3 = a(a(a(x1))) c(a(x1)) = 3x1 + 3 >= 3x1 + 3 = b(a(c(x1))) problem: DPs: a#(a(x1)) -> b#(x1) b#(a(x1)) -> a#(b(x1)) b#(b(c(x1))) -> c#(a(x1)) TRS: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) EDG Processor: DPs: a#(a(x1)) -> b#(x1) b#(a(x1)) -> a#(b(x1)) b#(b(c(x1))) -> c#(a(x1)) TRS: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) graph: b#(a(x1)) -> a#(b(x1)) -> a#(a(x1)) -> b#(x1) a#(a(x1)) -> b#(x1) -> b#(b(c(x1))) -> c#(a(x1)) a#(a(x1)) -> b#(x1) -> b#(a(x1)) -> a#(b(x1)) SCC Processor: #sccs: 1 #rules: 2 #arcs: 3/9 DPs: b#(a(x1)) -> a#(b(x1)) a#(a(x1)) -> b#(x1) TRS: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) Matrix Interpretation Processor: dim=1 interpretation: [b#](x0) = 4x0 + 6, [a#](x0) = 4x0, [c](x0) = 3x0, [b](x0) = x0 + 4, [a](x0) = x0 + 5/2 orientation: b#(a(x1)) = 4x1 + 16 >= 4x1 + 16 = a#(b(x1)) a#(a(x1)) = 4x1 + 10 >= 4x1 + 6 = b#(x1) a(a(x1)) = x1 + 5 >= x1 + 4 = b(x1) b(a(x1)) = x1 + 13/2 >= x1 + 13/2 = a(b(x1)) b(b(c(x1))) = 3x1 + 8 >= 3x1 + 15/2 = c(a(x1)) b(b(x1)) = x1 + 8 >= x1 + 15/2 = a(a(a(x1))) c(a(x1)) = 3x1 + 15/2 >= 3x1 + 13/2 = b(a(c(x1))) problem: DPs: b#(a(x1)) -> a#(b(x1)) TRS: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) EDG Processor: DPs: b#(a(x1)) -> a#(b(x1)) TRS: a(a(x1)) -> b(x1) b(a(x1)) -> a(b(x1)) b(b(c(x1))) -> c(a(x1)) b(b(x1)) -> a(a(a(x1))) c(a(x1)) -> b(a(c(x1))) graph: Qed