164.30/42.00 YES 164.30/42.01 164.30/42.01 Problem: 164.30/42.01 a(x1) -> x1 164.30/42.01 a(a(x1)) -> b(x1) 164.30/42.01 b(x1) -> x1 164.30/42.01 b(c(x1)) -> c(c(b(a(x1)))) 164.30/42.01 c(x1) -> x1 164.30/42.01 164.30/42.01 Proof: 164.30/42.01 String Reversal Processor: 164.30/42.01 a(x1) -> x1 164.30/42.01 a(a(x1)) -> b(x1) 164.30/42.01 b(x1) -> x1 164.30/42.01 c(b(x1)) -> a(b(c(c(x1)))) 164.30/42.01 c(x1) -> x1 164.30/42.01 DP Processor: 164.30/42.01 DPs: 164.30/42.01 a#(a(x1)) -> b#(x1) 164.30/42.01 c#(b(x1)) -> c#(x1) 164.30/42.01 c#(b(x1)) -> c#(c(x1)) 164.30/42.01 c#(b(x1)) -> b#(c(c(x1))) 164.30/42.01 c#(b(x1)) -> a#(b(c(c(x1)))) 164.30/42.01 TRS: 164.30/42.01 a(x1) -> x1 164.30/42.01 a(a(x1)) -> b(x1) 164.30/42.01 b(x1) -> x1 164.30/42.01 c(b(x1)) -> a(b(c(c(x1)))) 164.30/42.01 c(x1) -> x1 164.30/42.01 TDG Processor: 164.30/42.01 DPs: 164.30/42.01 a#(a(x1)) -> b#(x1) 164.30/42.01 c#(b(x1)) -> c#(x1) 164.30/42.01 c#(b(x1)) -> c#(c(x1)) 164.30/42.01 c#(b(x1)) -> b#(c(c(x1))) 164.30/42.01 c#(b(x1)) -> a#(b(c(c(x1)))) 164.30/42.01 TRS: 164.30/42.01 a(x1) -> x1 164.30/42.01 a(a(x1)) -> b(x1) 164.30/42.01 b(x1) -> x1 164.30/42.01 c(b(x1)) -> a(b(c(c(x1)))) 164.30/42.01 c(x1) -> x1 164.30/42.01 graph: 164.30/42.01 c#(b(x1)) -> c#(c(x1)) -> c#(b(x1)) -> a#(b(c(c(x1)))) 164.30/42.01 c#(b(x1)) -> c#(c(x1)) -> c#(b(x1)) -> b#(c(c(x1))) 164.30/42.01 c#(b(x1)) -> c#(c(x1)) -> c#(b(x1)) -> c#(c(x1)) 164.30/42.01 c#(b(x1)) -> c#(c(x1)) -> c#(b(x1)) -> c#(x1) 164.30/42.01 c#(b(x1)) -> c#(x1) -> c#(b(x1)) -> a#(b(c(c(x1)))) 164.30/42.01 c#(b(x1)) -> c#(x1) -> c#(b(x1)) -> b#(c(c(x1))) 164.30/42.01 c#(b(x1)) -> c#(x1) -> c#(b(x1)) -> c#(c(x1)) 164.30/42.01 c#(b(x1)) -> c#(x1) -> c#(b(x1)) -> c#(x1) 164.30/42.01 c#(b(x1)) -> a#(b(c(c(x1)))) -> a#(a(x1)) -> b#(x1) 164.30/42.01 SCC Processor: 164.30/42.01 #sccs: 1 164.30/42.01 #rules: 2 164.30/42.01 #arcs: 9/25 164.30/42.01 DPs: 164.30/42.01 c#(b(x1)) -> c#(c(x1)) 164.30/42.01 c#(b(x1)) -> c#(x1) 164.30/42.01 TRS: 164.30/42.01 a(x1) -> x1 164.30/42.01 a(a(x1)) -> b(x1) 164.30/42.01 b(x1) -> x1 164.30/42.01 c(b(x1)) -> a(b(c(c(x1)))) 164.30/42.01 c(x1) -> x1 164.30/42.01 Arctic Interpretation Processor: 164.30/42.01 dimension: 2 164.30/42.01 usable rules: 164.30/42.01 a(x1) -> x1 164.30/42.01 a(a(x1)) -> b(x1) 164.30/42.01 b(x1) -> x1 164.30/42.01 c(b(x1)) -> a(b(c(c(x1)))) 164.30/42.01 c(x1) -> x1 164.30/42.01 interpretation: 164.30/42.01 [c#](x0) = [-& 0 ]x0 + [0], 164.30/42.01 164.30/42.01 [0 0] [0] 164.30/42.01 [c](x0) = [0 0]x0 + [2], 164.30/42.01 164.30/42.01 [0 0] [-&] 164.30/42.01 [b](x0) = [1 1]x0 + [3 ], 164.30/42.01 164.30/42.01 [0 0] [3 ] 164.30/42.01 [a](x0) = [1 0]x0 + [-&] 164.30/42.01 orientation: 164.30/42.01 c#(b(x1)) = [1 1]x1 + [3] >= [0 0]x1 + [2] = c#(c(x1)) 164.30/42.01 164.30/42.01 c#(b(x1)) = [1 1]x1 + [3] >= [-& 0 ]x1 + [0] = c#(x1) 164.30/42.01 164.30/42.01 [0 0] [3 ] 164.30/42.01 a(x1) = [1 0]x1 + [-&] >= x1 = x1 164.30/42.01 164.30/42.01 [1 0] [3] [0 0] [-&] 164.30/42.01 a(a(x1)) = [1 1]x1 + [4] >= [1 1]x1 + [3 ] = b(x1) 164.30/42.01 164.30/42.01 [0 0] [-&] 164.30/42.01 b(x1) = [1 1]x1 + [3 ] >= x1 = x1 164.30/42.01 164.30/42.01 [1 1] [3] [1 1] [3] 164.30/42.01 c(b(x1)) = [1 1]x1 + [3] >= [1 1]x1 + [3] = a(b(c(c(x1)))) 164.30/42.01 164.30/42.01 [0 0] [0] 164.30/42.01 c(x1) = [0 0]x1 + [2] >= x1 = x1 164.30/42.01 problem: 164.30/42.01 DPs: 164.30/42.01 164.30/42.01 TRS: 164.30/42.01 a(x1) -> x1 164.30/42.01 a(a(x1)) -> b(x1) 164.30/42.01 b(x1) -> x1 164.30/42.01 c(b(x1)) -> a(b(c(c(x1)))) 164.30/42.01 c(x1) -> x1 164.30/42.01 Qed 164.30/42.02 EOF