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