YES Problem: b(f(b(x,z)),y) -> f(f(f(b(z,b(y,z))))) c(f(f(c(x,a(),z))),a(),y) -> b(y,f(b(a(),z))) b(b(c(b(a(),a()),a(),z),f(a())),y) -> z Proof: DP Processor: DPs: b#(f(b(x,z)),y) -> b#(y,z) b#(f(b(x,z)),y) -> b#(z,b(y,z)) c#(f(f(c(x,a(),z))),a(),y) -> b#(a(),z) c#(f(f(c(x,a(),z))),a(),y) -> b#(y,f(b(a(),z))) TRS: b(f(b(x,z)),y) -> f(f(f(b(z,b(y,z))))) c(f(f(c(x,a(),z))),a(),y) -> b(y,f(b(a(),z))) b(b(c(b(a(),a()),a(),z),f(a())),y) -> z Matrix Interpretation Processor: dim=3 interpretation: [c#](x0, x1, x2) = [1 0 0]x0 + [1 1 0]x2, [b#](x0, x1) = [0 1 0]x0 + [0 1 0]x1, [0 0 0] [1 1 0] [1] [c](x0, x1, x2) = [0 0 0]x0 + [0 1 0]x2 + [0] [1 0 0] [1 1 1] [0], [0] [a] = [0] [0], [0 1 0] [1] [f](x0) = [0 0 1]x0 + [1] [0 0 0] [0], [1 1 0] [1 0 1] [b](x0, x1) = [0 1 0]x0 + [0 0 0]x1 [0 0 1] [0 1 0] orientation: b#(f(b(x,z)),y) = [0 0 1]x + [0 1 0]y + [0 1 0]z + [1] >= [0 1 0]y + [0 1 0]z = b#(y,z) b#(f(b(x,z)),y) = [0 0 1]x + [0 1 0]y + [0 1 0]z + [1] >= [0 1 0]y + [0 1 0]z = b#(z,b(y,z)) c#(f(f(c(x,a(),z))),a(),y) = [1 0 0]x + [1 1 0]y + [1 1 1]z + [2] >= [0 1 0]z = b#(a(),z) c#(f(f(c(x,a(),z))),a(),y) = [1 0 0]x + [1 1 0]y + [1 1 1]z + [2] >= [0 1 0]y + [0 1 0]z + [1] = b#(y,f(b(a(),z))) [0 1 1] [1 0 1] [0 1 0] [2] [2] b(f(b(x,z)),y) = [0 0 1]x + [0 0 0]y + [0 1 0]z + [1] >= [1] = f(f(f(b(z,b(y,z))))) [0 0 0] [0 1 0] [0 0 0] [0] [0] [0 0 0] [1 1 0] [0 0 0] [1] [1 1 0] [0 0 0] [1] c(f(f(c(x,a(),z))),a(),y) = [0 0 0]x + [0 1 0]y + [0 0 0]z + [0] >= [0 1 0]y + [0 0 0]z + [0] = b(y,f(b(a(),z))) [1 0 0] [1 1 1] [1 1 1] [2] [0 0 1] [0 1 0] [1] [1 0 1] [1 3 0] [2] b(b(c(b(a(),a()),a(),z),f(a())),y) = [0 0 0]y + [0 1 0]z + [0] >= z = z [0 1 0] [1 1 1] [1] problem: DPs: TRS: b(f(b(x,z)),y) -> f(f(f(b(z,b(y,z))))) c(f(f(c(x,a(),z))),a(),y) -> b(y,f(b(a(),z))) b(b(c(b(a(),a()),a(),z),f(a())),y) -> z Qed