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