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