interpretations
YES(?,O(n^1))
We are left with following problem, upon which TcT provides the
certificate YES(?,O(n^1)).
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s() }
Obligation:
innermost runtime complexity
Answer:
YES(?,O(n^1))
The following argument positions are usable:
Uargs(fst) = {}, Uargs(cons) = {}, Uargs(from) = {},
Uargs(add) = {}, Uargs(len) = {}
TcT has computed following constructor-based matrix interpretation
satisfying not(EDA).
[fst](x1, x2) = [2] x1 + [0]
[0] = [2]
[nil] = [1]
[s] = [2]
[cons](x1) = [0]
[from](x1) = [1] x1 + [3]
[add](x1, x2) = [2] x1 + [1] x2 + [0]
[len](x1) = [2] x1 + [3]
This order satisfies following ordering constraints
[fst(0(), Z)] = [4]
> [1]
= [nil()]
[fst(s(), cons(Y))] = [4]
> [0]
= [cons(Y)]
[from(X)] = [1] X + [3]
> [0]
= [cons(X)]
[add(0(), X)] = [1] X + [4]
> [1] X + [0]
= [X]
[add(s(), Y)] = [1] Y + [4]
> [2]
= [s()]
[len(nil())] = [5]
> [2]
= [0()]
[len(cons(X))] = [3]
> [2]
= [s()]
Hurray, we answered YES(?,O(n^1))
lmpo
YES(?,ELEMENTARY)
We are left with following problem, upon which TcT provides the
certificate YES(?,ELEMENTARY).
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s() }
Obligation:
innermost runtime complexity
Answer:
YES(?,ELEMENTARY)
The input was oriented with the instance of 'Lightweight Multiset
Path Order' as induced by the safe mapping
safe(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}
and precedence
empty .
Following symbols are considered recursive:
{}
The recursion depth is 0.
For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:
Strict DPs:
Weak DPs :
Strict Trs:
{ fst(0(); Z) -> nil()
, fst(s(); cons(; Y)) -> cons(; Y)
, from(; X) -> cons(; X)
, add(0(), X;) -> X
, add(s(), Y;) -> s()
, len(nil();) -> 0()
, len(cons(; X);) -> s() }
Weak Trs :
Hurray, we answered YES(?,ELEMENTARY)
mpo
YES(?,PRIMREC)
We are left with following problem, upon which TcT provides the
certificate YES(?,PRIMREC).
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s() }
Obligation:
innermost runtime complexity
Answer:
YES(?,PRIMREC)
The input was oriented with the instance of'multiset path orders'
as induced by the precedence
nil > 0, from > cons, len > s, fst ~ nil .
Hurray, we answered YES(?,PRIMREC)
popstar
YES(?,POLY)
We are left with following problem, upon which TcT provides the
certificate YES(?,POLY).
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s() }
Obligation:
innermost runtime complexity
Answer:
YES(?,POLY)
The input was oriented with the instance of 'Polynomial Path Order'
as induced by the safe mapping
safe(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}
and precedence
empty .
Following symbols are considered recursive:
{}
The recursion depth is 0.
For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:
Strict DPs:
Weak DPs :
Strict Trs:
{ fst(0(); Z) -> nil()
, fst(s(); cons(; Y)) -> cons(; Y)
, from(; X) -> cons(; X)
, add(0(), X;) -> X
, add(s(), Y;) -> s()
, len(nil();) -> 0()
, len(cons(; X);) -> s() }
Weak Trs :
Hurray, we answered YES(?,POLY)
popstar-ps
YES(?,POLY)
We are left with following problem, upon which TcT provides the
certificate YES(?,POLY).
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s() }
Obligation:
innermost runtime complexity
Answer:
YES(?,POLY)
The input was oriented with the instance of 'Polynomial Path Order
(PS)' as induced by the safe mapping
safe(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}
and precedence
empty .
Following symbols are considered recursive:
{}
The recursion depth is 0.
For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:
Strict DPs:
Weak DPs :
Strict Trs:
{ fst(0(); Z) -> nil()
, fst(s(); cons(; Y)) -> cons(; Y)
, from(; X) -> cons(; X)
, add(0(), X;) -> X
, add(s(), Y;) -> s()
, len(nil();) -> 0()
, len(cons(; X);) -> s() }
Weak Trs :
Hurray, we answered YES(?,POLY)