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