YES(?,O(n^1)) 0.00/0.50 YES(?,O(n^1)) 0.00/0.50 0.00/0.50 We are left with following problem, upon which TcT provides the 0.00/0.50 certificate YES(?,O(n^1)). 0.00/0.50 0.00/0.50 Strict Trs: 0.00/0.50 { merge(x, nil()) -> x 0.00/0.50 , merge(nil(), y) -> y 0.00/0.50 , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v()))) 0.00/0.50 , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v())) } 0.00/0.50 Obligation: 0.00/0.50 innermost runtime complexity 0.00/0.50 Answer: 0.00/0.50 YES(?,O(n^1)) 0.00/0.50 0.00/0.50 The input was oriented with the instance of 'Small Polynomial Path 0.00/0.50 Order (PS)' as induced by the safe mapping 0.00/0.50 0.00/0.50 safe(merge) = {}, safe(nil) = {}, safe(++) = {1, 2}, safe(u) = {}, 0.00/0.50 safe(v) = {} 0.00/0.50 0.00/0.50 and precedence 0.00/0.50 0.00/0.50 empty . 0.00/0.50 0.00/0.50 Following symbols are considered recursive: 0.00/0.50 0.00/0.50 {merge} 0.00/0.50 0.00/0.50 The recursion depth is 1. 0.00/0.50 0.00/0.50 For your convenience, here are the satisfied ordering constraints: 0.00/0.50 0.00/0.50 merge(x, nil();) > x 0.00/0.50 0.00/0.50 merge(nil(), y;) > y 0.00/0.50 0.00/0.50 merge(++(; x, y), ++(; u(), v());) > ++(; x, merge(y, ++(; u(), v());)) 0.00/0.50 0.00/0.50 merge(++(; x, y), ++(; u(), v());) > ++(; u(), merge(++(; x, y), v();)) 0.00/0.50 0.00/0.50 0.00/0.50 Hurray, we answered YES(?,O(n^1)) 0.00/0.50 EOF