YES(?,O(n^2)) Problem: f(x,y) -> g(x,y) g(h(x),y) -> h(f(x,y)) g(h(x),y) -> h(g(x,y)) Proof: Complexity Transformation Processor: strict: f(x,y) -> g(x,y) g(h(x),y) -> h(f(x,y)) g(h(x),y) -> h(g(x,y)) weak: Matrix Interpretation Processor: dimension: 1 max_matrix: 1 interpretation: [h](x0) = x0, [g](x0, x1) = x0 + x1, [f](x0, x1) = x0 + x1 + 1 orientation: f(x,y) = x + y + 1 >= x + y = g(x,y) g(h(x),y) = x + y >= x + y + 1 = h(f(x,y)) g(h(x),y) = x + y >= x + y = h(g(x,y)) problem: strict: g(h(x),y) -> h(f(x,y)) g(h(x),y) -> h(g(x,y)) weak: f(x,y) -> g(x,y) Matrix Interpretation Processor: dimension: 2 max_matrix: [1 1] [0 1] interpretation: [1] [h](x0) = x0 + [1], [1 1] [1 0] [g](x0, x1) = [0 1]x0 + [0 0]x1, [1 1] [1 0] [1] [f](x0, x1) = [0 1]x0 + [0 0]x1 + [0] orientation: [1 1] [1 0] [2] [1 1] [1 0] [2] g(h(x),y) = [0 1]x + [0 0]y + [1] >= [0 1]x + [0 0]y + [1] = h(f(x,y)) [1 1] [1 0] [2] [1 1] [1 0] [1] g(h(x),y) = [0 1]x + [0 0]y + [1] >= [0 1]x + [0 0]y + [1] = h(g(x,y)) [1 1] [1 0] [1] [1 1] [1 0] f(x,y) = [0 1]x + [0 0]y + [0] >= [0 1]x + [0 0]y = g(x,y) problem: strict: g(h(x),y) -> h(f(x,y)) weak: g(h(x),y) -> h(g(x,y)) f(x,y) -> g(x,y) Matrix Interpretation Processor: dimension: 2 max_matrix: [1 1] [0 1] interpretation: [0] [h](x0) = x0 + [1], [1 1] [1 1] [g](x0, x1) = [0 1]x0 + [0 0]x1, [1 1] [1 1] [f](x0, x1) = [0 1]x0 + [0 0]x1 orientation: [1 1] [1 1] [1] [1 1] [1 1] [0] g(h(x),y) = [0 1]x + [0 0]y + [1] >= [0 1]x + [0 0]y + [1] = h(f(x,y)) [1 1] [1 1] [1] [1 1] [1 1] [0] g(h(x),y) = [0 1]x + [0 0]y + [1] >= [0 1]x + [0 0]y + [1] = h(g(x,y)) [1 1] [1 1] [1 1] [1 1] f(x,y) = [0 1]x + [0 0]y >= [0 1]x + [0 0]y = g(x,y) problem: strict: weak: g(h(x),y) -> h(f(x,y)) g(h(x),y) -> h(g(x,y)) f(x,y) -> g(x,y) Qed