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