YES Problem: strict: f(g(x)) -> g(f(f(x))) f(h(x)) -> h(g(x)) f'(s(x),y,y) -> f'(y,x,s(x)) weak: rand(x) -> x rand(x) -> rand(s(x)) Proof: Matrix Interpretation Processor: dim=2 interpretation: [2 0] [1 0] [1 0] [f'](x0, x1, x2) = [0 2]x0 + [0 0]x1 + [0 2]x2, [1 0] [f](x0) = [2 0]x0, [1 0] [s](x0) = [0 0]x0, [3 0] [2] [rand](x0) = [0 2]x0 + [0], [g](x0) = x0, [1 1] [h](x0) = [2 2]x0 orientation: [1 0] [1 0] f(g(x)) = [2 0]x >= [2 0]x = g(f(f(x))) [1 1] [1 1] f(h(x)) = [2 2]x >= [2 2]x = h(g(x)) [2 0] [2 0] [2 0] [2 0] f'(s(x),y,y) = [0 0]x + [0 2]y >= [0 0]x + [0 2]y = f'(y,x,s(x)) [3 0] [2] rand(x) = [0 2]x + [0] >= x = x [3 0] [2] [3 0] [2] rand(x) = [0 2]x + [0] >= [0 0]x + [0] = rand(s(x)) problem: strict: f(g(x)) -> g(f(f(x))) f(h(x)) -> h(g(x)) f'(s(x),y,y) -> f'(y,x,s(x)) weak: rand(x) -> rand(s(x)) Matrix Interpretation Processor: dim=2 interpretation: [2 1] [1 2] [1 0] [1] [f'](x0, x1, x2) = [3 1]x0 + [1 0]x1 + [2 1]x2 + [0], [1 0] [0] [f](x0) = [0 0]x0 + [2], [1 0] [0] [s](x0) = [0 2]x0 + [2], [1 0] [1] [rand](x0) = [0 0]x0 + [0], [1 0] [g](x0) = [0 0]x0, [1 3] [2] [h](x0) = [0 0]x0 + [0] orientation: [1 0] [0] [1 0] f(g(x)) = [0 0]x + [2] >= [0 0]x = g(f(f(x))) [1 3] [2] [1 0] [2] f(h(x)) = [0 0]x + [2] >= [0 0]x + [0] = h(g(x)) [2 2] [2 2] [3] [2 2] [2 1] [1] f'(s(x),y,y) = [3 2]x + [3 1]y + [2] >= [3 2]x + [3 1]y + [2] = f'(y,x,s(x)) [1 0] [1] [1 0] [1] rand(x) = [0 0]x + [0] >= [0 0]x + [0] = rand(s(x)) problem: strict: f(g(x)) -> g(f(f(x))) f(h(x)) -> h(g(x)) weak: rand(x) -> rand(s(x)) String Reversal Processor: strict: g(f(x)) -> f(f(g(x))) h(f(x)) -> g(h(x)) weak: rand(x) -> s(rand(x)) Matrix Interpretation Processor: dim=2 interpretation: [0] [f](x0) = x0 + [1], [1 0] [0] [s](x0) = [0 0]x0 + [1], [2 3] [0] [rand](x0) = [0 0]x0 + [2], [1 0] [g](x0) = [0 2]x0, [1 1] [h](x0) = [0 0]x0 orientation: [1 0] [0] [1 0] [0] g(f(x)) = [0 2]x + [2] >= [0 2]x + [2] = f(f(g(x))) [1 1] [1] [1 1] h(f(x)) = [0 0]x + [0] >= [0 0]x = g(h(x)) [2 3] [0] [2 3] [0] rand(x) = [0 0]x + [2] >= [0 0]x + [1] = s(rand(x)) problem: strict: g(f(x)) -> f(f(g(x))) weak: rand(x) -> s(rand(x)) String Reversal Processor: strict: f(g(x)) -> g(f(f(x))) weak: rand(x) -> rand(s(x)) Matrix Interpretation Processor: dim=2 interpretation: [1 1] [f](x0) = [0 1]x0, [1 1] [s](x0) = [0 0]x0, [1 1] [2] [rand](x0) = [2 2]x0 + [0], [1 0] [0] [g](x0) = [0 2]x0 + [2] orientation: [1 2] [2] [1 2] [0] f(g(x)) = [0 2]x + [2] >= [0 2]x + [2] = g(f(f(x))) [1 1] [2] [1 1] [2] rand(x) = [2 2]x + [0] >= [2 2]x + [0] = rand(s(x)) problem: strict: weak: rand(x) -> rand(s(x)) Qed