NO Problem: f(a(x),x) -> f(x,a(x)) f(b(x),x) -> f(x,b(x)) g(b(x),y) -> g(a(a(x)),y) g(c(x),y) -> y a(x) -> b(x) Proof: Matrix Interpretation Processor: dimension: 1 interpretation: [c](x0) = 4x0 + 3, [g](x0, x1) = x0 + x1 + 2, [b](x0) = x0, [f](x0, x1) = x0 + x1, [a](x0) = x0 orientation: f(a(x),x) = 2x >= 2x = f(x,a(x)) f(b(x),x) = 2x >= 2x = f(x,b(x)) g(b(x),y) = x + y + 2 >= x + y + 2 = g(a(a(x)),y) g(c(x),y) = 4x + y + 5 >= y = y a(x) = x >= x = b(x) problem: f(a(x),x) -> f(x,a(x)) f(b(x),x) -> f(x,b(x)) g(b(x),y) -> g(a(a(x)),y) a(x) -> b(x) Unfolding Processor: loop length: 2 terms: g(b(x),y) g(a(a(x)),y) context: [] substitution: x -> a(x) y -> y Qed