YES Problem: f(f(X)) -> c(n__f(n__g(n__f(X)))) c(X) -> d(activate(X)) h(X) -> c(n__d(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(X) activate(n__d(X)) -> d(X) activate(X) -> X Proof: Matrix Interpretation Processor: dim=1 interpretation: [activate](x0) = x0, [g](x0) = x0, [n__f](x0) = 4x0 + 4, [c](x0) = x0, [d](x0) = x0, [f](x0) = 4x0 + 4, [n__d](x0) = x0, [h](x0) = 4x0 + 1, [n__g](x0) = x0 orientation: f(f(X)) = 16X + 20 >= 16X + 20 = c(n__f(n__g(n__f(X)))) c(X) = X >= X = d(activate(X)) h(X) = 4X + 1 >= X = c(n__d(X)) f(X) = 4X + 4 >= 4X + 4 = n__f(X) g(X) = X >= X = n__g(X) d(X) = X >= X = n__d(X) activate(n__f(X)) = 4X + 4 >= 4X + 4 = f(activate(X)) activate(n__g(X)) = X >= X = g(X) activate(n__d(X)) = X >= X = d(X) activate(X) = X >= X = X problem: f(f(X)) -> c(n__f(n__g(n__f(X)))) c(X) -> d(activate(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) activate(n__f(X)) -> f(activate(X)) activate(n__g(X)) -> g(X) activate(n__d(X)) -> d(X) activate(X) -> X String Reversal Processor: f(f(X)) -> n__f(n__g(n__f(c(X)))) c(X) -> activate(d(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) n__f(activate(X)) -> activate(f(X)) n__g(activate(X)) -> g(X) n__d(activate(X)) -> d(X) activate(X) -> X Matrix Interpretation Processor: dim=3 interpretation: [0] [activate](x0) = x0 + [1] [0], [1 0 0] [g](x0) = [0 0 0]x0 [0 1 0] , [1 1 0] [0] [n__f](x0) = [0 1 1]x0 + [1] [0 1 1] [0], [1 1 0] [0] [c](x0) = [0 1 1]x0 + [1] [0 1 1] [0], [1 1 0] [d](x0) = [0 0 0]x0 [0 0 1] , [1 1 0] [0] [f](x0) = [0 1 1]x0 + [1] [0 1 1] [1], [1 1 0] [n__d](x0) = [0 0 0]x0 [0 0 1] , [1 0 0] [n__g](x0) = [0 0 0]x0 [0 1 0] orientation: [1 2 1] [1] [1 2 1] [1] f(f(X)) = [0 2 2]X + [3] >= [0 2 2]X + [3] = n__f(n__g(n__f(c(X)))) [0 2 2] [3] [0 2 2] [2] [1 1 0] [0] [1 1 0] [0] c(X) = [0 1 1]X + [1] >= [0 0 0]X + [1] = activate(d(X)) [0 1 1] [0] [0 0 1] [0] [1 1 0] [0] [1 1 0] [0] f(X) = [0 1 1]X + [1] >= [0 1 1]X + [1] = n__f(X) [0 1 1] [1] [0 1 1] [0] [1 0 0] [1 0 0] g(X) = [0 0 0]X >= [0 0 0]X = n__g(X) [0 1 0] [0 1 0] [1 1 0] [1 1 0] d(X) = [0 0 0]X >= [0 0 0]X = n__d(X) [0 0 1] [0 0 1] [1 1 0] [1] [1 1 0] [0] n__f(activate(X)) = [0 1 1]X + [2] >= [0 1 1]X + [2] = activate(f(X)) [0 1 1] [1] [0 1 1] [1] [1 0 0] [0] [1 0 0] n__g(activate(X)) = [0 0 0]X + [0] >= [0 0 0]X = g(X) [0 1 0] [1] [0 1 0] [1 1 0] [1] [1 1 0] n__d(activate(X)) = [0 0 0]X + [0] >= [0 0 0]X = d(X) [0 0 1] [0] [0 0 1] [0] activate(X) = X + [1] >= X = X [0] problem: f(f(X)) -> n__f(n__g(n__f(c(X)))) c(X) -> activate(d(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) n__g(activate(X)) -> g(X) activate(X) -> X String Reversal Processor: f(f(X)) -> c(n__f(n__g(n__f(X)))) c(X) -> d(activate(X)) f(X) -> n__f(X) g(X) -> n__g(X) d(X) -> n__d(X) activate(n__g(X)) -> g(X) activate(X) -> X Bounds Processor: bound: 2 enrichment: match automaton: final states: {2,10,9,8,3,6,1} transitions: d1(12) -> 13* activate1(11) -> 12* d0(7) -> 6* n__d0(2) -> 9* n__g0(3) -> 4* n__g0(2) -> 8* n__f0(2) -> 3* n__f0(4) -> 5* c0(5) -> 1* f90() -> 2* g0(2) -> 10* n__d1(21) -> 22* n__g1(19) -> 20* n__d2(25) -> 26* activate0(2) -> 7* 7 -> 21* 12 -> 25* 11 -> 12* 2 -> 7,19 22 -> 6* 26 -> 13,1 13 -> 1* 20 -> 10* 5 -> 11* 10 -> 7,21 problem: Qed