We are left with following problem, upon which TcT provides the
certificate YES(?,O(n^1)).
Strict Trs:
{ addlist(Cons(x, xs'), Cons(S(0()), xs)) ->
Cons(S(x), addlist(xs', xs))
, addlist(Cons(S(0()), xs'), Cons(x, xs)) ->
Cons(S(x), addlist(xs', xs))
, addlist(Nil(), ys) -> Nil()
, notEmpty(Cons(x, xs)) -> True()
, notEmpty(Nil()) -> False()
, goal(xs, ys) -> addlist(xs, ys) }
Obligation:
innermost runtime complexity
Answer:
YES(?,O(n^1))
The input was oriented with the instance of 'Small Polynomial Path
Order (PS,1-bounded)' as induced by the safe mapping
safe(addlist) = {}, safe(Cons) = {1, 2}, safe(S) = {1},
safe(0) = {}, safe(Nil) = {}, safe(notEmpty) = {}, safe(True) = {},
safe(False) = {}, safe(goal) = {}
and precedence
goal > addlist .
Following symbols are considered recursive:
{addlist}
The recursion depth is 1.
For your convenience, here are the satisfied ordering constraints:
addlist(Cons(; x, xs'), Cons(; S(; 0()), xs);) > Cons(; S(; x), addlist(xs', xs;))
addlist(Cons(; S(; 0()), xs'), Cons(; x, xs);) > Cons(; S(; x), addlist(xs', xs;))
addlist(Nil(), ys;) > Nil()
notEmpty(Cons(; x, xs);) > True()
notEmpty(Nil();) > False()
goal(xs, ys;) > addlist(xs, ys;)
Hurray, we answered YES(?,O(n^1))