interpretations
YES(?,O(n^1))
We are left with following problem, upon which TcT provides the
certificate YES(?,O(n^1)).
Strict Trs:
{ a__c() -> a__f(g(c()))
, a__c() -> c()
, a__f(X) -> f(X)
, a__f(g(X)) -> g(X)
, mark(g(X)) -> g(X)
, mark(c()) -> a__c()
, mark(f(X)) -> a__f(X) }
Obligation:
innermost runtime complexity
Answer:
YES(?,O(n^1))
The following argument positions are usable:
Uargs(a__f) = {}, Uargs(g) = {}, Uargs(mark) = {}, Uargs(f) = {}
TcT has computed following constructor-based matrix interpretation
satisfying not(EDA).
[a__c] = [3]
[a__f](x1) = [1] x1 + [1]
[g](x1) = [1] x1 + [0]
[c] = [1]
[mark](x1) = [2] x1 + [3]
[f](x1) = [1] x1 + [0]
This order satisfies following ordering constraints
[a__c()] = [3]
> [2]
= [a__f(g(c()))]
[a__c()] = [3]
> [1]
= [c()]
[a__f(X)] = [1] X + [1]
> [1] X + [0]
= [f(X)]
[a__f(g(X))] = [1] X + [1]
> [1] X + [0]
= [g(X)]
[mark(g(X))] = [2] X + [3]
> [1] X + [0]
= [g(X)]
[mark(c())] = [5]
> [3]
= [a__c()]
[mark(f(X))] = [2] X + [3]
> [1] X + [1]
= [a__f(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__c() -> a__f(g(c()))
, a__f(g(X)) -> g(X)
, mark(c()) -> a__c()
, mark(f(X)) -> a__f(X)
, mark(g(X)) -> g(X)
, a__c() -> c()
, 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__c) = {}, safe(a__f) = {1}, safe(g) = {1}, safe(c) = {},
safe(mark) = {}, safe(f) = {1}
and precedence
a__c > a__f, mark > a__c, 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__c() -> a__f(; g(; c()))
, a__f(; g(; X)) -> g(; X)
, mark(c();) -> a__c()
, mark(f(; X);) -> a__f(; X)
, mark(g(; X);) -> g(; X)
, a__c() -> c()
, 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__c() -> a__f(g(c()))
, a__f(g(X)) -> g(X)
, mark(c()) -> a__c()
, mark(f(X)) -> a__f(X)
, mark(g(X)) -> g(X)
, a__c() -> c()
, 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__c > a__f, a__c > g, a__c > c, a__f > f, mark > a__c,
mark > a__f .
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__c() -> a__f(g(c()))
, a__f(g(X)) -> g(X)
, mark(c()) -> a__c()
, mark(f(X)) -> a__f(X)
, mark(g(X)) -> g(X)
, a__c() -> c()
, 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__c) = {}, safe(a__f) = {1}, safe(g) = {1}, safe(c) = {},
safe(mark) = {}, safe(f) = {1}
and precedence
a__c > a__f, mark > a__c, 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__c() -> a__f(; g(; c()))
, a__f(; g(; X)) -> g(; X)
, mark(c();) -> a__c()
, mark(f(; X);) -> a__f(; X)
, mark(g(; X);) -> g(; X)
, a__c() -> c()
, 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__c() -> a__f(g(c()))
, a__f(g(X)) -> g(X)
, mark(c()) -> a__c()
, mark(f(X)) -> a__f(X)
, mark(g(X)) -> g(X)
, a__c() -> c()
, 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__c) = {}, safe(a__f) = {1}, safe(g) = {1}, safe(c) = {},
safe(mark) = {}, safe(f) = {1}
and precedence
a__c > a__f, mark > a__c, 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__c() -> a__f(; g(; c()))
, a__f(; g(; X)) -> g(; X)
, mark(c();) -> a__c()
, mark(f(; X);) -> a__f(; X)
, mark(g(; X);) -> g(; X)
, a__c() -> c()
, a__f(; X) -> f(; X) }
Weak Trs :
Hurray, we answered YES(?,POLY)