YES Problem: a(b(x1)) -> b(b(a(x1))) c(b(x1)) -> b(c(c(x1))) Proof: String Reversal Processor: b(a(x1)) -> a(b(b(x1))) b(c(x1)) -> c(c(b(x1))) Matrix Interpretation Processor: dim=3 interpretation: [c](x0) = x0 , [1 0 0] [0] [a](x0) = [0 1 1]x0 + [1] [0 1 1] [1], [1 0 1] [b](x0) = [0 0 1]x0 [0 1 0] orientation: [1 1 1] [1] [1 1 1] [0] b(a(x1)) = [0 1 1]x1 + [1] >= [0 1 1]x1 + [1] = a(b(b(x1))) [0 1 1] [1] [0 1 1] [1] [1 0 1] [1 0 1] b(c(x1)) = [0 0 1]x1 >= [0 0 1]x1 = c(c(b(x1))) [0 1 0] [0 1 0] problem: b(c(x1)) -> c(c(b(x1))) String Reversal Processor: c(b(x1)) -> b(c(c(x1))) Matrix Interpretation Processor: dim=3 interpretation: [1 1 1] [1] [c](x0) = [0 1 0]x0 + [0] [0 0 1] [0], [1 0 0] [0] [b](x0) = [0 1 1]x0 + [1] [0 1 1] [1] orientation: [1 2 2] [3] [1 2 2] [2] c(b(x1)) = [0 1 1]x1 + [1] >= [0 1 1]x1 + [1] = b(c(c(x1))) [0 1 1] [1] [0 1 1] [1] problem: Qed