YES Problem: strict: a(b(x1)) -> a(x1) d(b(x1)) -> b(x1) d(c(x1)) -> c(x1) weak: a(x1) -> d(a(x1)) c(x1) -> c(b(x1)) Proof: String Reversal Processor: strict: b(a(x1)) -> a(x1) b(d(x1)) -> b(x1) c(d(x1)) -> c(x1) weak: a(x1) -> a(d(x1)) c(x1) -> b(c(x1)) Bounds Processor: bound: 1 enrichment: match-rt automaton: final states: {5} transitions: d0(5) -> 5* a1(8) -> 9* c0(5) -> 5* a0(5) -> 5* b0(5) -> 5* b1(50) -> 51* d1(33) -> 34* d1(27) -> 28* c1(49) -> 50* 28 -> 8* 8 -> 33* 34 -> 8* 5 -> 49,27,8 9 -> 5* 51 -> 50,5 problem: strict: b(d(x1)) -> b(x1) c(d(x1)) -> c(x1) weak: a(x1) -> a(d(x1)) c(x1) -> b(c(x1)) String Reversal Processor: strict: d(b(x1)) -> b(x1) d(c(x1)) -> c(x1) weak: a(x1) -> d(a(x1)) c(x1) -> c(b(x1)) Matrix Interpretation Processor: dim=2 interpretation: [1 2] [a](x0) = [0 0]x0, [1 0] [c](x0) = [1 0]x0, [1 0] [0] [b](x0) = [0 0]x0 + [2], [1 1] [d](x0) = [0 1]x0 orientation: [1 0] [2] [1 0] [0] d(b(x1)) = [0 0]x1 + [2] >= [0 0]x1 + [2] = b(x1) [2 0] [1 0] d(c(x1)) = [1 0]x1 >= [1 0]x1 = c(x1) [1 2] [1 2] a(x1) = [0 0]x1 >= [0 0]x1 = d(a(x1)) [1 0] [1 0] c(x1) = [1 0]x1 >= [1 0]x1 = c(b(x1)) problem: strict: d(c(x1)) -> c(x1) weak: a(x1) -> d(a(x1)) c(x1) -> c(b(x1)) String Reversal Processor: strict: c(d(x1)) -> c(x1) weak: a(x1) -> a(d(x1)) c(x1) -> b(c(x1)) Arctic Interpretation Processor: dimension: 2 interpretation: [0 -&] [a](x0) = [0 -&]x0, [0 0] [c](x0) = [0 0]x0, [0 0] [b](x0) = [0 0]x0, [0 -&] [d](x0) = [3 1 ]x0 orientation: [3 1] [0 0] c(d(x1)) = [3 1]x1 >= [0 0]x1 = c(x1) [0 -&] [0 -&] a(x1) = [0 -&]x1 >= [0 -&]x1 = a(d(x1)) [0 0] [0 0] c(x1) = [0 0]x1 >= [0 0]x1 = b(c(x1)) problem: strict: weak: a(x1) -> a(d(x1)) c(x1) -> b(c(x1)) Qed