YES(?,O(n^1)) 14.94/8.16 YES(?,O(n^1)) 14.94/8.16 14.94/8.16 We are left with following problem, upon which TcT provides the 14.94/8.16 certificate YES(?,O(n^1)). 14.94/8.16 14.94/8.16 Strict Trs: 14.94/8.16 { f(f(a(), a()), x) -> f(a(), f(x, f(a(), f(a(), a())))) } 14.94/8.16 Obligation: 14.94/8.16 derivational complexity 14.94/8.16 Answer: 14.94/8.16 YES(?,O(n^1)) 14.94/8.16 14.94/8.16 We uncurry the input using the following uncurry rules. 14.94/8.16 14.94/8.16 { f(a(), x_1) -> a_1(x_1) 14.94/8.16 , f(a_1(x_1), x_2) -> a_2(x_1, x_2) } 14.94/8.16 14.94/8.16 We are left with following problem, upon which TcT provides the 14.94/8.16 certificate YES(?,O(n^1)). 14.94/8.16 14.94/8.16 Strict Trs: { a_2(a(), x) -> a_1(f(x, a_1(a_1(a())))) } 14.94/8.16 Weak Trs: 14.94/8.16 { f(a(), x_1) -> a_1(x_1) 14.94/8.16 , f(a_1(x_1), x_2) -> a_2(x_1, x_2) } 14.94/8.16 Obligation: 14.94/8.16 derivational complexity 14.94/8.16 Answer: 14.94/8.16 YES(?,O(n^1)) 14.94/8.16 14.94/8.16 TcT has computed the following matrix interpretation satisfying 14.94/8.16 not(EDA) and not(IDA(1)). 14.94/8.16 14.94/8.16 [1 1 0 0] [1 1 0 0] [0] 14.94/8.16 [f](x1, x2) = [0 0 0 0] x1 + [0 0 0 1] x2 + [0] 14.94/8.16 [0 0 0 0] [0 0 0 0] [0] 14.94/8.16 [0 0 0 0] [0 0 0 0] [0] 14.94/8.16 14.94/8.16 [1 0 0 1] [1 1 0 0] [0] 14.94/8.16 [a_2](x1, x2) = [0 0 0 0] x1 + [0 0 0 1] x2 + [0] 14.94/8.16 [0 0 0 0] [0 0 0 0] [0] 14.94/8.16 [0 0 0 0] [0 0 0 0] [0] 14.94/8.16 14.94/8.16 [0] 14.94/8.16 [a] = [0] 14.94/8.16 [0] 14.94/8.16 [1] 14.94/8.16 14.94/8.16 [1 0 0 0] [0] 14.94/8.16 [a_1](x1) = [0 0 0 1] x1 + [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 14.94/8.16 The order satisfies the following ordering constraints: 14.94/8.16 14.94/8.16 [f(a(), x_1)] = [1 1 0 0] [0] 14.94/8.16 [0 0 0 1] x_1 + [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 >= [1 0 0 0] [0] 14.94/8.16 [0 0 0 1] x_1 + [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 = [a_1(x_1)] 14.94/8.16 14.94/8.16 [f(a_1(x_1), x_2)] = [1 0 0 1] [1 1 0 0] [0] 14.94/8.16 [0 0 0 0] x_1 + [0 0 0 1] x_2 + [0] 14.94/8.16 [0 0 0 0] [0 0 0 0] [0] 14.94/8.16 [0 0 0 0] [0 0 0 0] [0] 14.94/8.16 >= [1 0 0 1] [1 1 0 0] [0] 14.94/8.16 [0 0 0 0] x_1 + [0 0 0 1] x_2 + [0] 14.94/8.16 [0 0 0 0] [0 0 0 0] [0] 14.94/8.16 [0 0 0 0] [0 0 0 0] [0] 14.94/8.16 = [a_2(x_1, x_2)] 14.94/8.16 14.94/8.16 [a_2(a(), x)] = [1 1 0 0] [1] 14.94/8.16 [0 0 0 1] x + [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 > [1 1 0 0] [0] 14.94/8.16 [0 0 0 0] x + [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 [0 0 0 0] [0] 14.94/8.16 = [a_1(f(x, a_1(a_1(a()))))] 14.94/8.16 14.94/8.16 14.94/8.16 Hurray, we answered YES(?,O(n^1)) 14.94/8.18 EOF