YES(?,O(n^2)) Problem: b(b(x1)) -> c(d(x1)) c(c(x1)) -> d(d(d(x1))) c(x1) -> g(x1) d(d(x1)) -> c(f(x1)) d(d(d(x1))) -> g(c(x1)) f(x1) -> a(g(x1)) g(x1) -> d(a(b(x1))) g(g(x1)) -> b(c(x1)) Proof: RT Transformation Processor: strict: b(b(x1)) -> c(d(x1)) c(c(x1)) -> d(d(d(x1))) c(x1) -> g(x1) d(d(x1)) -> c(f(x1)) d(d(d(x1))) -> g(c(x1)) f(x1) -> a(g(x1)) g(x1) -> d(a(b(x1))) g(g(x1)) -> b(c(x1)) weak: Matrix Interpretation Processor: dimension: 1 interpretation: [a](x0) = x0 + 5, [f](x0) = x0, [g](x0) = x0 + 1, [c](x0) = x0, [d](x0) = x0 + 18, [b](x0) = x0 + 1 orientation: b(b(x1)) = x1 + 2 >= x1 + 18 = c(d(x1)) c(c(x1)) = x1 >= x1 + 54 = d(d(d(x1))) c(x1) = x1 >= x1 + 1 = g(x1) d(d(x1)) = x1 + 36 >= x1 = c(f(x1)) d(d(d(x1))) = x1 + 54 >= x1 + 1 = g(c(x1)) f(x1) = x1 >= x1 + 6 = a(g(x1)) g(x1) = x1 + 1 >= x1 + 24 = d(a(b(x1))) g(g(x1)) = x1 + 2 >= x1 + 1 = b(c(x1)) problem: strict: b(b(x1)) -> c(d(x1)) c(c(x1)) -> d(d(d(x1))) c(x1) -> g(x1) f(x1) -> a(g(x1)) g(x1) -> d(a(b(x1))) weak: d(d(x1)) -> c(f(x1)) d(d(d(x1))) -> g(c(x1)) g(g(x1)) -> b(c(x1)) Matrix Interpretation Processor: dimension: 1 interpretation: [a](x0) = x0 + 17, [f](x0) = x0 + 3, [g](x0) = x0 + 4, [c](x0) = x0 + 1, [d](x0) = x0 + 4, [b](x0) = x0 + 3 orientation: b(b(x1)) = x1 + 6 >= x1 + 5 = c(d(x1)) c(c(x1)) = x1 + 2 >= x1 + 12 = d(d(d(x1))) c(x1) = x1 + 1 >= x1 + 4 = g(x1) f(x1) = x1 + 3 >= x1 + 21 = a(g(x1)) g(x1) = x1 + 4 >= x1 + 24 = d(a(b(x1))) d(d(x1)) = x1 + 8 >= x1 + 4 = c(f(x1)) d(d(d(x1))) = x1 + 12 >= x1 + 5 = g(c(x1)) g(g(x1)) = x1 + 8 >= x1 + 4 = b(c(x1)) problem: strict: c(c(x1)) -> d(d(d(x1))) c(x1) -> g(x1) f(x1) -> a(g(x1)) g(x1) -> d(a(b(x1))) weak: b(b(x1)) -> c(d(x1)) d(d(x1)) -> c(f(x1)) d(d(d(x1))) -> g(c(x1)) g(g(x1)) -> b(c(x1)) Matrix Interpretation Processor: dimension: 1 interpretation: [a](x0) = x0 + 1, [f](x0) = x0 + 26, [g](x0) = x0 + 20, [c](x0) = x0, [d](x0) = x0 + 16, [b](x0) = x0 + 20 orientation: c(c(x1)) = x1 >= x1 + 48 = d(d(d(x1))) c(x1) = x1 >= x1 + 20 = g(x1) f(x1) = x1 + 26 >= x1 + 21 = a(g(x1)) g(x1) = x1 + 20 >= x1 + 37 = d(a(b(x1))) b(b(x1)) = x1 + 40 >= x1 + 16 = c(d(x1)) d(d(x1)) = x1 + 32 >= x1 + 26 = c(f(x1)) d(d(d(x1))) = x1 + 48 >= x1 + 20 = g(c(x1)) g(g(x1)) = x1 + 40 >= x1 + 20 = b(c(x1)) problem: strict: c(c(x1)) -> d(d(d(x1))) c(x1) -> g(x1) g(x1) -> d(a(b(x1))) weak: f(x1) -> a(g(x1)) b(b(x1)) -> c(d(x1)) d(d(x1)) -> c(f(x1)) d(d(d(x1))) -> g(c(x1)) g(g(x1)) -> b(c(x1)) Matrix Interpretation Processor: dimension: 1 interpretation: [a](x0) = x0, [f](x0) = x0 + 4, [g](x0) = x0 + 4, [c](x0) = x0, [d](x0) = x0 + 2, [b](x0) = x0 + 1 orientation: c(c(x1)) = x1 >= x1 + 6 = d(d(d(x1))) c(x1) = x1 >= x1 + 4 = g(x1) g(x1) = x1 + 4 >= x1 + 3 = d(a(b(x1))) f(x1) = x1 + 4 >= x1 + 4 = a(g(x1)) b(b(x1)) = x1 + 2 >= x1 + 2 = c(d(x1)) d(d(x1)) = x1 + 4 >= x1 + 4 = c(f(x1)) d(d(d(x1))) = x1 + 6 >= x1 + 4 = g(c(x1)) g(g(x1)) = x1 + 8 >= x1 + 1 = b(c(x1)) problem: strict: c(c(x1)) -> d(d(d(x1))) c(x1) -> g(x1) weak: g(x1) -> d(a(b(x1))) f(x1) -> a(g(x1)) b(b(x1)) -> c(d(x1)) d(d(x1)) -> c(f(x1)) d(d(d(x1))) -> g(c(x1)) g(g(x1)) -> b(c(x1)) Matrix Interpretation Processor: dimension: 2 interpretation: [1 0] [a](x0) = [0 0]x0, [1 15] [7] [f](x0) = [0 0 ]x0 + [0], [1 15] [6] [g](x0) = [0 0 ]x0 + [1], [1 15] [8] [c](x0) = [0 0 ]x0 + [1], [1 15] [0] [d](x0) = [0 0 ]x0 + [1], [1 15] [4] [b](x0) = [0 0 ]x0 + [1] orientation: [1 15] [31] [1 15] [30] c(c(x1)) = [0 0 ]x1 + [1 ] >= [0 0 ]x1 + [1 ] = d(d(d(x1))) [1 15] [8] [1 15] [6] c(x1) = [0 0 ]x1 + [1] >= [0 0 ]x1 + [1] = g(x1) [1 15] [6] [1 15] [4] g(x1) = [0 0 ]x1 + [1] >= [0 0 ]x1 + [1] = d(a(b(x1))) [1 15] [7] [1 15] [6] f(x1) = [0 0 ]x1 + [0] >= [0 0 ]x1 + [0] = a(g(x1)) [1 15] [23] [1 15] [23] b(b(x1)) = [0 0 ]x1 + [1 ] >= [0 0 ]x1 + [1 ] = c(d(x1)) [1 15] [15] [1 15] [15] d(d(x1)) = [0 0 ]x1 + [1 ] >= [0 0 ]x1 + [1 ] = c(f(x1)) [1 15] [30] [1 15] [29] d(d(d(x1))) = [0 0 ]x1 + [1 ] >= [0 0 ]x1 + [1 ] = g(c(x1)) [1 15] [27] [1 15] [27] g(g(x1)) = [0 0 ]x1 + [1 ] >= [0 0 ]x1 + [1 ] = b(c(x1)) problem: strict: weak: c(c(x1)) -> d(d(d(x1))) c(x1) -> g(x1) g(x1) -> d(a(b(x1))) f(x1) -> a(g(x1)) b(b(x1)) -> c(d(x1)) d(d(x1)) -> c(f(x1)) d(d(d(x1))) -> g(c(x1)) g(g(x1)) -> b(c(x1)) Qed