YES Problem: a(a(f(b(),a(x)))) -> f(a(a(a(x))),b()) a(a(x)) -> f(b(),a(f(a(x),b()))) f(a(x),b()) -> f(b(),a(x)) Proof: DP Processor: DPs: a#(a(f(b(),a(x)))) -> a#(a(x)) a#(a(f(b(),a(x)))) -> a#(a(a(x))) a#(a(f(b(),a(x)))) -> f#(a(a(a(x))),b()) a#(a(x)) -> f#(a(x),b()) a#(a(x)) -> a#(f(a(x),b())) a#(a(x)) -> f#(b(),a(f(a(x),b()))) f#(a(x),b()) -> f#(b(),a(x)) TRS: a(a(f(b(),a(x)))) -> f(a(a(a(x))),b()) a(a(x)) -> f(b(),a(f(a(x),b()))) f(a(x),b()) -> f(b(),a(x)) Matrix Interpretation Processor: dim=3 usable rules: a(a(f(b(),a(x)))) -> f(a(a(a(x))),b()) a(a(x)) -> f(b(),a(f(a(x),b()))) f(a(x),b()) -> f(b(),a(x)) interpretation: [f#](x0, x1) = [0 1 0]x0 + [1], [a#](x0) = [0 2 1]x0 + [1], [0 0 0] [0 0 0] [0] [f](x0, x1) = [1 0 1]x0 + [1 0 1]x1 + [0] [0 0 1] [0 0 1] [1], [0 0 2] [0] [a](x0) = [0 1 2]x0 + [1] [0 1 0] [0], [0] [b] = [0] [0] orientation: a#(a(f(b(),a(x)))) = [0 7 6]x + [7] >= [0 3 4]x + [3] = a#(a(x)) a#(a(f(b(),a(x)))) = [0 7 6]x + [7] >= [0 7 6]x + [6] = a#(a(a(x))) a#(a(f(b(),a(x)))) = [0 7 6]x + [7] >= [0 5 6]x + [6] = f#(a(a(a(x))),b()) a#(a(x)) = [0 3 4]x + [3] >= [0 1 2]x + [2] = f#(a(x),b()) a#(a(x)) = [0 3 4]x + [3] >= [0 3 4]x + [2] = a#(f(a(x),b())) a#(a(x)) = [0 3 4]x + [3] >= [1] = f#(b(),a(f(a(x),b()))) f#(a(x),b()) = [0 1 2]x + [2] >= [1] = f#(b(),a(x)) [0 2 4] [0] [0 0 0] [0] a(a(f(b(),a(x)))) = [0 5 6]x + [4] >= [0 5 6]x + [4] = f(a(a(a(x))),b()) [0 3 2] [3] [0 3 2] [3] [0 2 0] [0] [0 0 0] [0] a(a(x)) = [0 3 2]x + [2] >= [0 3 2]x + [2] = f(b(),a(f(a(x),b()))) [0 1 2] [1] [0 1 2] [1] [0 0 0] [0] [0 0 0] [0] f(a(x),b()) = [0 1 2]x + [0] >= [0 1 2]x + [0] = f(b(),a(x)) [0 1 0] [1] [0 1 0] [1] problem: DPs: TRS: a(a(f(b(),a(x)))) -> f(a(a(a(x))),b()) a(a(x)) -> f(b(),a(f(a(x),b()))) f(a(x),b()) -> f(b(),a(x)) Qed