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