YES(O(1),O(n^2)) 170.40/60.07 YES(O(1),O(n^2)) 170.40/60.07 170.40/60.07 We are left with following problem, upon which TcT provides the 170.40/60.07 certificate YES(O(1),O(n^2)). 170.40/60.07 170.40/60.07 Strict Trs: 170.40/60.07 { merge(x, nil()) -> x 170.40/60.07 , merge(nil(), y) -> y 170.40/60.07 , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) 170.40/60.07 , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v())) } 170.40/60.07 Obligation: 170.40/60.07 derivational complexity 170.40/60.07 Answer: 170.40/60.07 YES(O(1),O(n^2)) 170.40/60.07 170.40/60.07 We use the processor 'matrix interpretation of dimension 1' to 170.40/60.07 orient following rules strictly. 170.40/60.07 170.40/60.07 Trs: 170.40/60.07 { merge(x, nil()) -> x 170.40/60.07 , merge(nil(), y) -> y } 170.40/60.07 170.40/60.07 The induced complexity on above rules (modulo remaining rules) is 170.40/60.07 YES(?,O(n^1)) . These rules are moved into the corresponding weak 170.40/60.07 component(s). 170.40/60.07 170.40/60.07 Sub-proof: 170.40/60.07 ---------- 170.40/60.07 TcT has computed the following triangular matrix interpretation. 170.40/60.07 170.40/60.07 [merge](x1, x2) = [1] x1 + [1] x2 + [0] 170.40/60.07 170.40/60.07 [nil] = [2] 170.40/60.07 170.40/60.07 [++](x1, x2) = [1] x1 + [1] x2 + [0] 170.40/60.07 170.40/60.07 [u] = [0] 170.40/60.07 170.40/60.07 [v] = [0] 170.40/60.07 170.40/60.07 The order satisfies the following ordering constraints: 170.40/60.07 170.40/60.07 [merge(x, nil())] = [1] x + [2] 170.40/60.07 > [1] x + [0] 170.40/60.07 = [x] 170.40/60.07 170.40/60.07 [merge(nil(), y)] = [1] y + [2] 170.40/60.07 > [1] y + [0] 170.40/60.07 = [y] 170.40/60.07 170.40/60.07 [merge(++(x, y), ++(u(), v()))] = [1] x + [1] y + [0] 170.40/60.07 >= [1] x + [1] y + [0] 170.40/60.07 = [++(x, merge(y, ++(u(), v())))] 170.40/60.07 170.40/60.07 [merge(++(x, y), ++(u(), v()))] = [1] x + [1] y + [0] 170.40/60.07 >= [1] x + [1] y + [0] 170.40/60.07 = [++(u(), merge(++(x, y), v()))] 170.40/60.07 170.40/60.07 170.40/60.07 We return to the main proof. 170.40/60.07 170.40/60.07 We are left with following problem, upon which TcT provides the 170.40/60.07 certificate YES(O(1),O(n^2)). 170.40/60.07 170.40/60.07 Strict Trs: 170.40/60.07 { merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) 170.40/60.07 , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v())) } 170.40/60.07 Weak Trs: 170.40/60.07 { merge(x, nil()) -> x 170.40/60.07 , merge(nil(), y) -> y } 170.40/60.07 Obligation: 170.40/60.07 derivational complexity 170.40/60.07 Answer: 170.40/60.07 YES(O(1),O(n^2)) 170.40/60.07 170.40/60.07 We use the processor 'matrix interpretation of dimension 2' to 170.40/60.07 orient following rules strictly. 170.40/60.07 170.40/60.07 Trs: 170.40/60.07 { merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v())) } 170.40/60.07 170.40/60.07 The induced complexity on above rules (modulo remaining rules) is 170.40/60.07 YES(?,O(n^2)) . These rules are moved into the corresponding weak 170.40/60.07 component(s). 170.40/60.07 170.40/60.07 Sub-proof: 170.40/60.07 ---------- 170.40/60.07 TcT has computed the following triangular matrix interpretation. 170.40/60.07 170.40/60.07 [merge](x1, x2) = [1 0] x1 + [1 1] x2 + [0] 170.40/60.07 [0 1] [0 1] [0] 170.40/60.07 170.40/60.07 [nil] = [0] 170.40/60.07 [0] 170.40/60.07 170.40/60.07 [++](x1, x2) = [1 0] x1 + [1 0] x2 + [0] 170.40/60.07 [0 0] [0 0] [2] 170.40/60.07 170.40/60.07 [u] = [2] 170.40/60.07 [0] 170.40/60.07 170.40/60.07 [v] = [0] 170.40/60.07 [0] 170.40/60.07 170.40/60.07 The order satisfies the following ordering constraints: 170.40/60.07 170.40/60.07 [merge(x, nil())] = [1 0] x + [0] 170.40/60.07 [0 1] [0] 170.40/60.07 >= [1 0] x + [0] 170.40/60.07 [0 1] [0] 170.40/60.07 = [x] 170.40/60.07 170.40/60.07 [merge(nil(), y)] = [1 1] y + [0] 170.40/60.07 [0 1] [0] 170.40/60.07 >= [1 0] y + [0] 170.40/60.07 [0 1] [0] 170.40/60.07 = [y] 170.40/60.07 170.40/60.07 [merge(++(x, y), ++(u(), v()))] = [1 0] x + [1 0] y + [4] 170.40/60.07 [0 0] [0 0] [4] 170.40/60.07 >= [1 0] x + [1 0] y + [4] 170.40/60.07 [0 0] [0 0] [2] 170.40/60.07 = [++(x, merge(y, ++(u(), v())))] 170.40/60.07 170.40/60.07 [merge(++(x, y), ++(u(), v()))] = [1 0] x + [1 0] y + [4] 170.40/60.07 [0 0] [0 0] [4] 170.40/60.07 > [1 0] x + [1 0] y + [2] 170.40/60.07 [0 0] [0 0] [2] 170.40/60.07 = [++(u(), merge(++(x, y), v()))] 170.40/60.07 170.40/60.07 170.40/60.07 We return to the main proof. 170.40/60.07 170.40/60.07 We are left with following problem, upon which TcT provides the 170.40/60.07 certificate YES(O(1),O(n^2)). 170.40/60.07 170.40/60.07 Strict Trs: 170.40/60.07 { merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) } 170.40/60.07 Weak Trs: 170.40/60.07 { merge(x, nil()) -> x 170.40/60.07 , merge(nil(), y) -> y 170.40/60.07 , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v())) } 170.40/60.07 Obligation: 170.40/60.07 derivational complexity 170.40/60.07 Answer: 170.40/60.07 YES(O(1),O(n^2)) 170.40/60.07 170.40/60.07 We use the processor 'matrix interpretation of dimension 2' to 170.40/60.07 orient following rules strictly. 170.40/60.07 170.40/60.07 Trs: 170.40/60.07 { merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) } 170.40/60.07 170.40/60.07 The induced complexity on above rules (modulo remaining rules) is 170.40/60.07 YES(?,O(n^2)) . These rules are moved into the corresponding weak 170.40/60.07 component(s). 170.40/60.07 170.40/60.07 Sub-proof: 170.40/60.07 ---------- 170.40/60.07 TcT has computed the following triangular matrix interpretation. 170.40/60.07 170.40/60.07 [merge](x1, x2) = [1 1] x1 + [1 1] x2 + [0] 170.40/60.07 [0 1] [0 1] [0] 170.40/60.07 170.40/60.07 [nil] = [0] 170.40/60.07 [0] 170.40/60.07 170.40/60.07 [++](x1, x2) = [1 0] x1 + [1 0] x2 + [0] 170.40/60.07 [0 0] [0 1] [2] 170.40/60.07 170.40/60.07 [u] = [0] 170.40/60.07 [0] 170.40/60.07 170.40/60.07 [v] = [1] 170.40/60.07 [1] 170.40/60.07 170.40/60.07 The order satisfies the following ordering constraints: 170.40/60.07 170.40/60.07 [merge(x, nil())] = [1 1] x + [0] 170.40/60.07 [0 1] [0] 170.40/60.07 >= [1 0] x + [0] 170.40/60.07 [0 1] [0] 170.40/60.07 = [x] 170.40/60.07 170.40/60.07 [merge(nil(), y)] = [1 1] y + [0] 170.40/60.07 [0 1] [0] 170.40/60.07 >= [1 0] y + [0] 170.40/60.07 [0 1] [0] 170.40/60.07 = [y] 170.40/60.07 170.40/60.07 [merge(++(x, y), ++(u(), v()))] = [1 0] x + [1 1] y + [6] 170.40/60.07 [0 0] [0 1] [5] 170.40/60.07 > [1 0] x + [1 1] y + [4] 170.40/60.07 [0 0] [0 1] [5] 170.40/60.07 = [++(x, merge(y, ++(u(), v())))] 170.40/60.07 170.40/60.07 [merge(++(x, y), ++(u(), v()))] = [1 0] x + [1 1] y + [6] 170.40/60.07 [0 0] [0 1] [5] 170.40/60.07 > [1 0] x + [1 1] y + [4] 170.40/60.07 [0 0] [0 1] [5] 170.40/60.07 = [++(u(), merge(++(x, y), v()))] 170.40/60.07 170.40/60.07 170.40/60.07 We return to the main proof. 170.40/60.07 170.40/60.07 We are left with following problem, upon which TcT provides the 170.40/60.07 certificate YES(O(1),O(1)). 170.40/60.07 170.40/60.07 Weak Trs: 170.40/60.07 { merge(x, nil()) -> x 170.40/60.07 , merge(nil(), y) -> y 170.40/60.07 , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) 170.40/60.07 , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v())) } 170.40/60.07 Obligation: 170.40/60.07 derivational complexity 170.40/60.07 Answer: 170.40/60.07 YES(O(1),O(1)) 170.40/60.07 170.40/60.07 Empty rules are trivially bounded 170.40/60.07 170.40/60.07 Hurray, we answered YES(O(1),O(n^2)) 170.40/60.08 EOF