170.02/43.27 YES 170.02/43.28 170.02/43.28 Problem: 170.02/43.28 a(a(x1)) -> b(b(x1)) 170.02/43.28 c(c(b(x1))) -> d(c(a(x1))) 170.02/43.28 a(x1) -> d(c(c(x1))) 170.02/43.28 c(d(x1)) -> b(c(x1)) 170.02/43.28 170.02/43.28 Proof: 170.02/43.28 String Reversal Processor: 170.02/43.28 a(a(x1)) -> b(b(x1)) 170.02/43.28 b(c(c(x1))) -> a(c(d(x1))) 170.02/43.28 a(x1) -> c(c(d(x1))) 170.02/43.28 d(c(x1)) -> c(b(x1)) 170.02/43.28 Matrix Interpretation Processor: dim=3 170.02/43.28 170.02/43.28 interpretation: 170.02/43.28 [1 0 0] [0] 170.02/43.28 [d](x0) = [0 0 1]x0 + [0] 170.02/43.28 [0 0 0] [1], 170.02/43.28 170.02/43.28 [1 0 0] 170.02/43.28 [c](x0) = [0 0 0]x0 170.02/43.28 [0 0 1] , 170.02/43.28 170.02/43.28 [1 0 0] [0] 170.02/43.28 [b](x0) = [1 0 0]x0 + [1] 170.02/43.28 [0 0 0] [1], 170.02/43.28 170.02/43.28 [1 1 0] [0] 170.02/43.28 [a](x0) = [1 1 0]x0 + [1] 170.02/43.28 [0 1 0] [1] 170.02/43.28 orientation: 170.02/43.28 [2 2 0] [1] [1 0 0] [0] 170.02/43.28 a(a(x1)) = [2 2 0]x1 + [2] >= [1 0 0]x1 + [1] = b(b(x1)) 170.02/43.28 [1 1 0] [2] [0 0 0] [1] 170.02/43.28 170.02/43.28 [1 0 0] [0] [1 0 0] [0] 170.02/43.28 b(c(c(x1))) = [1 0 0]x1 + [1] >= [1 0 0]x1 + [1] = a(c(d(x1))) 170.02/43.28 [0 0 0] [1] [0 0 0] [1] 170.02/43.28 170.02/43.28 [1 1 0] [0] [1 0 0] [0] 170.02/43.28 a(x1) = [1 1 0]x1 + [1] >= [0 0 0]x1 + [0] = c(c(d(x1))) 170.02/43.28 [0 1 0] [1] [0 0 0] [1] 170.02/43.28 170.02/43.28 [1 0 0] [0] [1 0 0] [0] 170.02/43.28 d(c(x1)) = [0 0 1]x1 + [0] >= [0 0 0]x1 + [0] = c(b(x1)) 170.02/43.28 [0 0 0] [1] [0 0 0] [1] 170.02/43.28 problem: 170.02/43.28 b(c(c(x1))) -> a(c(d(x1))) 170.02/43.28 a(x1) -> c(c(d(x1))) 170.02/43.28 d(c(x1)) -> c(b(x1)) 170.02/43.28 DP Processor: 170.02/43.28 DPs: 170.02/43.28 b#(c(c(x1))) -> d#(x1) 170.02/43.28 b#(c(c(x1))) -> a#(c(d(x1))) 170.02/43.28 a#(x1) -> d#(x1) 170.02/43.28 d#(c(x1)) -> b#(x1) 170.02/43.28 TRS: 170.02/43.28 b(c(c(x1))) -> a(c(d(x1))) 170.02/43.28 a(x1) -> c(c(d(x1))) 170.02/43.28 d(c(x1)) -> c(b(x1)) 170.02/43.28 TDG Processor: 170.02/43.28 DPs: 170.02/43.28 b#(c(c(x1))) -> d#(x1) 170.02/43.28 b#(c(c(x1))) -> a#(c(d(x1))) 170.02/43.28 a#(x1) -> d#(x1) 170.02/43.28 d#(c(x1)) -> b#(x1) 170.02/43.28 TRS: 170.02/43.28 b(c(c(x1))) -> a(c(d(x1))) 170.02/43.28 a(x1) -> c(c(d(x1))) 170.02/43.28 d(c(x1)) -> c(b(x1)) 170.02/43.28 graph: 170.02/43.28 a#(x1) -> d#(x1) -> d#(c(x1)) -> b#(x1) 170.02/43.28 d#(c(x1)) -> b#(x1) -> b#(c(c(x1))) -> a#(c(d(x1))) 170.02/43.28 d#(c(x1)) -> b#(x1) -> b#(c(c(x1))) -> d#(x1) 170.02/43.28 b#(c(c(x1))) -> a#(c(d(x1))) -> a#(x1) -> d#(x1) 170.02/43.28 b#(c(c(x1))) -> d#(x1) -> d#(c(x1)) -> b#(x1) 170.02/43.28 Matrix Interpretation Processor: dim=3 170.02/43.28 170.02/43.28 interpretation: 170.02/43.28 [a#](x0) = [0 1 0]x0 + [1], 170.02/43.28 170.02/43.28 [d#](x0) = [0 1 0]x0, 170.02/43.28 170.02/43.28 [b#](x0) = [0 0 1]x0, 170.02/43.28 170.02/43.28 [0 1 0] [1] 170.02/43.28 [d](x0) = [0 1 0]x0 + [0] 170.02/43.28 [0 1 0] [0], 170.02/43.28 170.02/43.28 [0 1 0] [1] 170.02/43.28 [c](x0) = [0 0 1]x0 + [0] 170.02/43.28 [1 0 0] [0], 170.02/43.28 170.02/43.28 [0 0 1] 170.02/43.28 [b](x0) = [0 0 1]x0 170.02/43.28 [0 0 1] , 170.02/43.28 170.02/43.28 [0 1 0] [1] 170.02/43.28 [a](x0) = [0 1 0]x0 + [1] 170.02/43.28 [0 1 0] [1] 170.02/43.28 orientation: 170.02/43.28 b#(c(c(x1))) = [0 1 0]x1 + [1] >= [0 1 0]x1 = d#(x1) 170.02/43.28 170.02/43.28 b#(c(c(x1))) = [0 1 0]x1 + [1] >= [0 1 0]x1 + [1] = a#(c(d(x1))) 170.02/43.28 170.02/43.28 a#(x1) = [0 1 0]x1 + [1] >= [0 1 0]x1 = d#(x1) 170.02/43.28 170.02/43.28 d#(c(x1)) = [0 0 1]x1 >= [0 0 1]x1 = b#(x1) 170.02/43.28 170.02/43.28 [0 1 0] [1] [0 1 0] [1] 170.02/43.28 b(c(c(x1))) = [0 1 0]x1 + [1] >= [0 1 0]x1 + [1] = a(c(d(x1))) 170.02/43.28 [0 1 0] [1] [0 1 0] [1] 170.02/43.28 170.02/43.28 [0 1 0] [1] [0 1 0] [1] 170.02/43.28 a(x1) = [0 1 0]x1 + [1] >= [0 1 0]x1 + [1] = c(c(d(x1))) 170.02/43.28 [0 1 0] [1] [0 1 0] [1] 170.02/43.28 170.02/43.28 [0 0 1] [1] [0 0 1] [1] 170.02/43.28 d(c(x1)) = [0 0 1]x1 + [0] >= [0 0 1]x1 + [0] = c(b(x1)) 170.02/43.28 [0 0 1] [0] [0 0 1] [0] 170.02/43.28 problem: 170.02/43.28 DPs: 170.02/43.28 b#(c(c(x1))) -> a#(c(d(x1))) 170.02/43.28 d#(c(x1)) -> b#(x1) 170.02/43.28 TRS: 170.02/43.28 b(c(c(x1))) -> a(c(d(x1))) 170.02/43.28 a(x1) -> c(c(d(x1))) 170.02/43.28 d(c(x1)) -> c(b(x1)) 170.02/43.28 Restore Modifier: 170.02/43.28 DPs: 170.02/43.28 b#(c(c(x1))) -> a#(c(d(x1))) 170.02/43.28 d#(c(x1)) -> b#(x1) 170.02/43.28 TRS: 170.02/43.28 b(c(c(x1))) -> a(c(d(x1))) 170.02/43.28 a(x1) -> c(c(d(x1))) 170.02/43.28 d(c(x1)) -> c(b(x1)) 170.02/43.28 EDG Processor: 170.02/43.28 DPs: 170.02/43.28 b#(c(c(x1))) -> a#(c(d(x1))) 170.02/43.28 d#(c(x1)) -> b#(x1) 170.02/43.28 TRS: 170.02/43.28 b(c(c(x1))) -> a(c(d(x1))) 170.02/43.28 a(x1) -> c(c(d(x1))) 170.02/43.28 d(c(x1)) -> c(b(x1)) 170.02/43.28 graph: 170.02/43.28 d#(c(x1)) -> b#(x1) -> b#(c(c(x1))) -> a#(c(d(x1))) 170.02/43.28 SCC Processor: 170.02/43.28 #sccs: 0 170.02/43.28 #rules: 0 170.02/43.28 #arcs: 1/4 170.02/43.28 170.02/43.29 EOF