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=2 usable rules: 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 interpretation: [b#](x0, x1) = [0], [c#](x0) = [1 0]x0 + [1], [a#](x0, x1) = [2 2]x0 + [1 2]x1 + [3], [2 2] [0 2] [b](x0, x1) = [0 1]x0 + [0 0]x1, [0 0] [3] [c](x0) = [1 0]x0 + [2], [0] [0] = [0], [2 2] [2 2] [1] [a](x0, x1) = [0 2]x0 + [2 0]x1 + [0] orientation: a#(x,y) = [2 2]x + [1 2]y + [3] >= [1 0]y + [1] = c#(y) a#(x,y) = [2 2]x + [1 2]y + [3] >= [0] = b#(0(),c(y)) a#(x,y) = [2 2]x + [1 2]y + [3] >= [0] = b#(x,b(0(),c(y))) c#(b(y,c(x))) = [2 0]x + [2 2]y + [5] >= [3] = a#(0(),0()) c#(b(y,c(x))) = [2 0]x + [2 2]y + [5] >= [0] = b#(a(0(),0()),y) c#(b(y,c(x))) = [2 0]x + [2 2]y + [5] >= [0 2]y + [3] = c#(b(a(0(),0()),y)) c#(b(y,c(x))) = [2 0]x + [2 2]y + [5] >= [4] = c#(c(b(a(0(),0()),y))) [2 2] [2 2] [1] [2 2] a(x,y) = [0 2]x + [2 0]y + [0] >= [0 1]x = b(x,b(0(),c(y))) [0 0] [0 0] [3] [3] c(b(y,c(x))) = [2 0]x + [2 2]y + [6] >= [5] = c(c(b(a(0(),0()),y))) [2 2] b(y,0()) = [0 1]y >= y = y 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