YES Problem: strict: g(x,y) -> x g(x,y) -> y 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: [s](x0) = x0, [2 0] [0] [rand](x0) = [0 2]x0 + [2], [2 2] [2 2] [1] [g](x0, x1) = [2 2]x0 + [2 2]x1 + [2], [2 3] [1 2] [1 1] [f](x0, x1, x2) = [0 1]x0 + [0 1]x1 + [0 0]x2 orientation: [2 2] [2 2] [1] g(x,y) = [2 2]x + [2 2]y + [2] >= x = x [2 2] [2 2] [1] g(x,y) = [2 2]x + [2 2]y + [2] >= y = y [2 3] [2 3] [2 3] [2 3] f(s(x),y,y) = [0 1]x + [0 1]y >= [0 1]x + [0 1]y = f(y,x,s(x)) [2 0] [0] rand(x) = [0 2]x + [2] >= x = x [2 0] [0] [2 0] [0] rand(x) = [0 2]x + [2] >= [0 2]x + [2] = rand(s(x)) problem: strict: f(s(x),y,y) -> f(y,x,s(x)) weak: rand(x) -> x rand(x) -> rand(s(x)) Matrix Interpretation Processor: dim=2 interpretation: [s](x0) = x0, [2 0] [1] [rand](x0) = [0 3]x0 + [0], [3 0] [2 0] [1 0] [2] [f](x0, x1, x2) = [0 0]x0 + [0 0]x1 + [0 0]x2 + [2] orientation: [3 0] [3 0] [2] [3 0] [3 0] [2] f(s(x),y,y) = [0 0]x + [0 0]y + [2] >= [0 0]x + [0 0]y + [2] = f(y,x,s(x)) [2 0] [1] rand(x) = [0 3]x + [0] >= x = x [2 0] [1] [2 0] [1] rand(x) = [0 3]x + [0] >= [0 3]x + [0] = rand(s(x)) problem: strict: f(s(x),y,y) -> f(y,x,s(x)) weak: rand(x) -> rand(s(x)) Matrix Interpretation Processor: dim=2 interpretation: [1 0] [0] [s](x0) = [2 1]x0 + [1], [2 0] [3] [rand](x0) = [0 0]x0 + [0], [1 1] [1 1] [2 0] [0] [f](x0, x1, x2) = [0 0]x0 + [0 0]x1 + [0 0]x2 + [2] orientation: [3 1] [3 1] [1] [3 1] [1 1] [0] f(s(x),y,y) = [0 0]x + [0 0]y + [2] >= [0 0]x + [0 0]y + [2] = f(y,x,s(x)) [2 0] [3] [2 0] [3] rand(x) = [0 0]x + [0] >= [0 0]x + [0] = rand(s(x)) problem: strict: weak: rand(x) -> rand(s(x)) Qed