YES Problem: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) -> b(a(b(x0))) Proof: DP Processor: DPs: p#(a(x0),p(b(a(x1)),x2)) -> a#(b(a(x1))) p#(a(x0),p(b(a(x1)),x2)) -> p#(a(b(a(x1))),x2) p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) a#(b(a(x0))) -> a#(b(x0)) TRS: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) -> b(a(b(x0))) TDG Processor: DPs: p#(a(x0),p(b(a(x1)),x2)) -> a#(b(a(x1))) p#(a(x0),p(b(a(x1)),x2)) -> p#(a(b(a(x1))),x2) p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) a#(b(a(x0))) -> a#(b(x0)) TRS: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) -> b(a(b(x0))) graph: a#(b(a(x0))) -> a#(b(x0)) -> a#(b(a(x0))) -> a#(b(x0)) p#(a(x0),p(b(a(x1)),x2)) -> a#(b(a(x1))) -> a#(b(a(x0))) -> a#(b(x0)) p#(a(x0),p(b(a(x1)),x2)) -> p#(a(b(a(x1))),x2) -> p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) p#(a(x0),p(b(a(x1)),x2)) -> p#(a(b(a(x1))),x2) -> p#(a(x0),p(b(a(x1)),x2)) -> p#(a(b(a(x1))),x2) p#(a(x0),p(b(a(x1)),x2)) -> p#(a(b(a(x1))),x2) -> p#(a(x0),p(b(a(x1)),x2)) -> a#(b(a(x1))) p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) -> p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) -> p#(a(x0),p(b(a(x1)),x2)) -> p#(a(b(a(x1))),x2) p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) -> p#(a(x0),p(b(a(x1)),x2)) -> a#(b(a(x1))) SCC Processor: #sccs: 2 #rules: 3 #arcs: 8/16 DPs: p#(a(x0),p(b(a(x1)),x2)) -> p#(a(b(a(x1))),x2) p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) TRS: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) -> b(a(b(x0))) Arctic Interpretation Processor: dimension: 1 usable rules: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) interpretation: [p#](x0, x1) = x1, [p](x0, x1) = 4x1, [b](x0) = x0 + -4, [a](x0) = 1x0 + -6 orientation: p#(a(x0),p(b(a(x1)),x2)) = 4x2 >= x2 = p#(a(b(a(x1))),x2) p#(a(x0),p(b(a(x1)),x2)) = 4x2 >= 4x2 = p#(x1,p(a(b(a(x1))),x2)) p(a(x0),p(b(a(x1)),x2)) = 8x2 >= 8x2 = p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) = 2x0 + -3 >= 1x0 + -3 = b(a(b(x0))) problem: DPs: p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) TRS: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) -> b(a(b(x0))) Restore Modifier: DPs: p#(a(x0),p(b(a(x1)),x2)) -> p#(x1,p(a(b(a(x1))),x2)) TRS: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) -> b(a(b(x0))) Matrix Interpretation Processor: dim=3 usable rules: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) -> b(a(b(x0))) interpretation: [p#](x0, x1) = [0 1 0]x0 + [0 0 1]x1, [0 0 0] [0 0 1] [0] [p](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [1] [0 1 0] [0 0 1] [0], [1 0 0] [b](x0) = [0 0 1]x0 [0 0 0] , [0 0 1] [0] [a](x0) = [1 0 0]x0 + [1] [0 1 1] [1] orientation: p#(a(x0),p(b(a(x1)),x2)) = [1 0 0]x0 + [0 1 1]x1 + [0 0 1]x2 + [2] >= [0 1 1]x1 + [0 0 1]x2 + [1] = p#(x1,p(a(b(a(x1))),x2)) [0 0 0] [0 1 1] [0 0 1] [1] [0 0 1] [0 0 1] [1] p(a(x0),p(b(a(x1)),x2)) = [0 0 0]x0 + [0 0 0]x1 + [0 0 0]x2 + [1] >= [0 0 0]x1 + [0 0 0]x2 + [1] = p(x1,p(a(b(a(x1))),x2)) [1 0 0] [0 1 1] [0 0 1] [2] [0 1 1] [0 0 1] [1] [0 0 0] [0] [0 0 0] [0] a(b(a(x0))) = [0 0 1]x0 + [1] >= [0 0 1]x0 + [1] = b(a(b(x0))) [0 1 1] [2] [0 0 0] [0] problem: DPs: TRS: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) -> b(a(b(x0))) Qed DPs: a#(b(a(x0))) -> a#(b(x0)) TRS: p(a(x0),p(b(a(x1)),x2)) -> p(x1,p(a(b(a(x1))),x2)) a(b(a(x0))) -> b(a(b(x0))) Usable Rule Processor: DPs: a#(b(a(x0))) -> a#(b(x0)) TRS: Semantic Labeling Processor: dimension: 1 usable rules: interpretation: [b](x0) = x0, [a](x0) = x0 + 1 labeled: a# usable (for model): a# b a argument filtering: pi(a) = [] pi(b) = 0 pi(a#) = [] precedence: a# ~ b ~ a problem: DPs: TRS: Qed