interpretations
YES(?,O(n^1))
We are left with following problem, upon which TcT provides the
certificate YES(?,O(n^1)).
Strict Trs:
{ a__f(X) -> f(X)
, a__f(f(a())) -> c(f(g(f(a()))))
, mark(f(X)) -> a__f(mark(X))
, mark(a()) -> a()
, mark(c(X)) -> c(X)
, mark(g(X)) -> g(mark(X)) }
Obligation:
innermost runtime complexity
Answer:
YES(?,O(n^1))
The following argument positions are usable:
Uargs(a__f) = {1}, Uargs(f) = {}, Uargs(c) = {}, Uargs(g) = {1},
Uargs(mark) = {}
TcT has computed following constructor-based matrix interpretation
satisfying not(EDA).
[a__f](x1) = [1] x1 + [3]
[f](x1) = [1] x1 + [2]
[a] = [3]
[c](x1) = [0]
[g](x1) = [1] x1 + [2]
[mark](x1) = [2] x1 + [2]
This order satisfies following ordering constraints
[a__f(X)] = [1] X + [3]
> [1] X + [2]
= [f(X)]
[a__f(f(a()))] = [8]
> [0]
= [c(f(g(f(a()))))]
[mark(f(X))] = [2] X + [6]
> [2] X + [5]
= [a__f(mark(X))]
[mark(a())] = [8]
> [3]
= [a()]
[mark(c(X))] = [2]
> [0]
= [c(X)]
[mark(g(X))] = [2] X + [6]
> [2] X + [4]
= [g(mark(X))]
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:
{ a__f(f(a())) -> c(f(g(f(a()))))
, mark(f(X)) -> a__f(mark(X))
, mark(a()) -> a()
, mark(c(X)) -> c(X)
, mark(g(X)) -> g(mark(X))
, a__f(X) -> f(X) }
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(a__f) = {1}, safe(f) = {1}, safe(a) = {}, safe(c) = {1},
safe(g) = {1}, safe(mark) = {}
and precedence
mark > a__f .
Following symbols are considered recursive:
{a__f, mark}
The recursion depth is 2.
For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:
Strict DPs:
Weak DPs :
Strict Trs:
{ a__f(; f(; a())) -> c(; f(; g(; f(; a()))))
, mark(f(; X);) -> a__f(; mark(X;))
, mark(a();) -> a()
, mark(c(; X);) -> c(; X)
, mark(g(; X);) -> g(; mark(X;))
, a__f(; X) -> f(; X) }
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:
{ a__f(f(a())) -> c(f(g(f(a()))))
, mark(f(X)) -> a__f(mark(X))
, mark(a()) -> a()
, mark(c(X)) -> c(X)
, mark(g(X)) -> g(mark(X))
, a__f(X) -> f(X) }
Obligation:
innermost runtime complexity
Answer:
YES(?,PRIMREC)
The input was oriented with the instance of'multiset path orders'
as induced by the precedence
a__f > f, a__f > c, a__f > g, mark > a__f, mark > g .
Hurray, we answered YES(?,PRIMREC)
popstar
YES(?,POLY)
We are left with following problem, upon which TcT provides the
certificate YES(?,POLY).
Strict Trs:
{ a__f(f(a())) -> c(f(g(f(a()))))
, mark(f(X)) -> a__f(mark(X))
, mark(a()) -> a()
, mark(c(X)) -> c(X)
, mark(g(X)) -> g(mark(X))
, a__f(X) -> f(X) }
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(a__f) = {1}, safe(f) = {1}, safe(a) = {}, safe(c) = {1},
safe(g) = {1}, safe(mark) = {}
and precedence
mark > a__f .
Following symbols are considered recursive:
{a__f, mark}
The recursion depth is 2.
For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:
Strict DPs:
Weak DPs :
Strict Trs:
{ a__f(; f(; a())) -> c(; f(; g(; f(; a()))))
, mark(f(; X);) -> a__f(; mark(X;))
, mark(a();) -> a()
, mark(c(; X);) -> c(; X)
, mark(g(; X);) -> g(; mark(X;))
, a__f(; X) -> f(; X) }
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:
{ a__f(f(a())) -> c(f(g(f(a()))))
, mark(f(X)) -> a__f(mark(X))
, mark(a()) -> a()
, mark(c(X)) -> c(X)
, mark(g(X)) -> g(mark(X))
, a__f(X) -> f(X) }
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(a__f) = {1}, safe(f) = {1}, safe(a) = {}, safe(c) = {1},
safe(g) = {1}, safe(mark) = {}
and precedence
mark > a__f .
Following symbols are considered recursive:
{a__f, mark}
The recursion depth is 2.
For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:
Strict DPs:
Weak DPs :
Strict Trs:
{ a__f(; f(; a())) -> c(; f(; g(; f(; a()))))
, mark(f(; X);) -> a__f(; mark(X;))
, mark(a();) -> a()
, mark(c(; X);) -> c(; X)
, mark(g(; X);) -> g(; mark(X;))
, a__f(; X) -> f(; X) }
Weak Trs :
Hurray, we answered YES(?,POLY)