169.19/43.28 YES 169.19/43.28 169.19/43.28 Problem: 169.19/43.28 a(x1) -> x1 169.19/43.28 b(x1) -> a(x1) 169.19/43.28 b(a(c(x1))) -> c(c(b(a(b(x1))))) 169.19/43.28 169.19/43.28 Proof: 169.19/43.28 String Reversal Processor: 169.19/43.28 a(x1) -> x1 169.19/43.28 b(x1) -> a(x1) 169.19/43.28 c(a(b(x1))) -> b(a(b(c(c(x1))))) 169.19/43.28 DP Processor: 169.19/43.28 DPs: 169.19/43.28 b#(x1) -> a#(x1) 169.19/43.28 c#(a(b(x1))) -> c#(x1) 169.19/43.28 c#(a(b(x1))) -> c#(c(x1)) 169.19/43.28 c#(a(b(x1))) -> b#(c(c(x1))) 169.19/43.28 c#(a(b(x1))) -> a#(b(c(c(x1)))) 169.19/43.28 c#(a(b(x1))) -> b#(a(b(c(c(x1))))) 169.19/43.28 TRS: 169.19/43.28 a(x1) -> x1 169.19/43.28 b(x1) -> a(x1) 169.19/43.28 c(a(b(x1))) -> b(a(b(c(c(x1))))) 169.19/43.28 TDG Processor: 169.19/43.28 DPs: 169.19/43.28 b#(x1) -> a#(x1) 169.19/43.28 c#(a(b(x1))) -> c#(x1) 169.19/43.28 c#(a(b(x1))) -> c#(c(x1)) 169.19/43.28 c#(a(b(x1))) -> b#(c(c(x1))) 169.19/43.28 c#(a(b(x1))) -> a#(b(c(c(x1)))) 169.19/43.28 c#(a(b(x1))) -> b#(a(b(c(c(x1))))) 169.19/43.28 TRS: 169.19/43.28 a(x1) -> x1 169.19/43.28 b(x1) -> a(x1) 169.19/43.28 c(a(b(x1))) -> b(a(b(c(c(x1))))) 169.19/43.28 graph: 169.19/43.28 c#(a(b(x1))) -> c#(c(x1)) -> c#(a(b(x1))) -> b#(a(b(c(c(x1))))) 169.19/43.28 c#(a(b(x1))) -> c#(c(x1)) -> c#(a(b(x1))) -> a#(b(c(c(x1)))) 169.19/43.28 c#(a(b(x1))) -> c#(c(x1)) -> c#(a(b(x1))) -> b#(c(c(x1))) 169.19/43.28 c#(a(b(x1))) -> c#(c(x1)) -> c#(a(b(x1))) -> c#(c(x1)) 169.19/43.28 c#(a(b(x1))) -> c#(c(x1)) -> c#(a(b(x1))) -> c#(x1) 169.19/43.28 c#(a(b(x1))) -> c#(x1) -> c#(a(b(x1))) -> b#(a(b(c(c(x1))))) 169.19/43.28 c#(a(b(x1))) -> c#(x1) -> c#(a(b(x1))) -> a#(b(c(c(x1)))) 169.19/43.28 c#(a(b(x1))) -> c#(x1) -> c#(a(b(x1))) -> b#(c(c(x1))) 169.19/43.28 c#(a(b(x1))) -> c#(x1) -> c#(a(b(x1))) -> c#(c(x1)) 169.19/43.28 c#(a(b(x1))) -> c#(x1) -> c#(a(b(x1))) -> c#(x1) 169.19/43.28 c#(a(b(x1))) -> b#(c(c(x1))) -> b#(x1) -> a#(x1) 169.19/43.28 c#(a(b(x1))) -> b#(a(b(c(c(x1))))) -> b#(x1) -> a#(x1) 169.19/43.28 SCC Processor: 169.19/43.28 #sccs: 1 169.19/43.28 #rules: 2 169.19/43.28 #arcs: 12/36 169.19/43.28 DPs: 169.19/43.28 c#(a(b(x1))) -> c#(c(x1)) 169.19/43.28 c#(a(b(x1))) -> c#(x1) 169.19/43.28 TRS: 169.19/43.28 a(x1) -> x1 169.19/43.28 b(x1) -> a(x1) 169.19/43.28 c(a(b(x1))) -> b(a(b(c(c(x1))))) 169.19/43.28 Arctic Interpretation Processor: 169.19/43.28 dimension: 2 169.19/43.28 usable rules: 169.19/43.28 a(x1) -> x1 169.19/43.28 b(x1) -> a(x1) 169.19/43.28 c(a(b(x1))) -> b(a(b(c(c(x1))))) 169.19/43.28 interpretation: 169.19/43.28 [c#](x0) = [1 0]x0 + [0], 169.19/43.28 169.19/43.28 [0 0] [0 ] 169.19/43.28 [c](x0) = [0 0]x0 + [-&], 169.19/43.28 169.19/43.28 [0 0] [3] 169.19/43.29 [b](x0) = [3 0]x0 + [0], 169.19/43.29 169.19/43.29 [0 -&] [-&] 169.19/43.29 [a](x0) = [3 0 ]x0 + [0 ] 169.19/43.29 orientation: 169.19/43.29 c#(a(b(x1))) = [3 3]x1 + [6] >= [1 1]x1 + [1] = c#(c(x1)) 169.19/43.29 169.19/43.29 c#(a(b(x1))) = [3 3]x1 + [6] >= [1 0]x1 + [0] = c#(x1) 169.19/43.29 169.19/43.29 [0 -&] [-&] 169.19/43.29 a(x1) = [3 0 ]x1 + [0 ] >= x1 = x1 169.19/43.29 169.19/43.29 [0 0] [3] [0 -&] [-&] 169.19/43.29 b(x1) = [3 0]x1 + [0] >= [3 0 ]x1 + [0 ] = a(x1) 169.19/43.29 169.19/43.29 [3 3] [6] [3 3] [6] 169.19/43.29 c(a(b(x1))) = [3 3]x1 + [6] >= [3 3]x1 + [6] = b(a(b(c(c(x1))))) 169.19/43.29 problem: 169.19/43.29 DPs: 169.19/43.29 169.19/43.29 TRS: 169.19/43.29 a(x1) -> x1 169.19/43.29 b(x1) -> a(x1) 169.19/43.29 c(a(b(x1))) -> b(a(b(c(c(x1))))) 169.19/43.29 Qed 169.19/43.29 EOF