* Step 1: Sum WORST_CASE(?,O(1))
+ Considered Problem:
- Strict TRS:
c(b(a(),a()),b(y,z),x) -> b(a(),b(z,z))
f(b(b(x,f(y)),z)) -> c(z,x,f(b(b(f(a()),y),y)))
f(c(c(a(),y,a()),b(x,z),a())) -> b(y,f(c(f(a()),z,z)))
- Signature:
{c/3,f/1} / {a/0,b/2}
- Obligation:
innermost runtime complexity wrt. defined symbols {c,f} and constructors {a,b}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DependencyPairs WORST_CASE(?,O(1))
+ Considered Problem:
- Strict TRS:
c(b(a(),a()),b(y,z),x) -> b(a(),b(z,z))
f(b(b(x,f(y)),z)) -> c(z,x,f(b(b(f(a()),y),y)))
f(c(c(a(),y,a()),b(x,z),a())) -> b(y,f(c(f(a()),z,z)))
- Signature:
{c/3,f/1} / {a/0,b/2}
- Obligation:
innermost runtime complexity wrt. defined symbols {c,f} and constructors {a,b}
+ Applied Processor:
DependencyPairs {dpKind_ = DT}
+ Details:
We add the following dependency tuples:
Strict DPs
c#(b(a(),a()),b(y,z),x) -> c_1()
f#(b(b(x,f(y)),z)) -> c_2(c#(z,x,f(b(b(f(a()),y),y))),f#(b(b(f(a()),y),y)),f#(a()))
f#(c(c(a(),y,a()),b(x,z),a())) -> c_3(f#(c(f(a()),z,z)),c#(f(a()),z,z),f#(a()))
Weak DPs
and mark the set of starting terms.
* Step 3: UsableRules WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
c#(b(a(),a()),b(y,z),x) -> c_1()
f#(b(b(x,f(y)),z)) -> c_2(c#(z,x,f(b(b(f(a()),y),y))),f#(b(b(f(a()),y),y)),f#(a()))
f#(c(c(a(),y,a()),b(x,z),a())) -> c_3(f#(c(f(a()),z,z)),c#(f(a()),z,z),f#(a()))
- Weak TRS:
c(b(a(),a()),b(y,z),x) -> b(a(),b(z,z))
f(b(b(x,f(y)),z)) -> c(z,x,f(b(b(f(a()),y),y)))
f(c(c(a(),y,a()),b(x,z),a())) -> b(y,f(c(f(a()),z,z)))
- Signature:
{c/3,f/1,c#/3,f#/1} / {a/0,b/2,c_1/0,c_2/3,c_3/3}
- Obligation:
innermost runtime complexity wrt. defined symbols {c#,f#} and constructors {a,b}
+ Applied Processor:
UsableRules
+ Details:
We replace rewrite rules by usable rules:
c#(b(a(),a()),b(y,z),x) -> c_1()
* Step 4: Trivial WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
c#(b(a(),a()),b(y,z),x) -> c_1()
- Signature:
{c/3,f/1,c#/3,f#/1} / {a/0,b/2,c_1/0,c_2/3,c_3/3}
- Obligation:
innermost runtime complexity wrt. defined symbols {c#,f#} and constructors {a,b}
+ Applied Processor:
Trivial
+ Details:
Consider the dependency graph
1:S:c#(b(a(),a()),b(y,z),x) -> c_1()
The dependency graph contains no loops, we remove all dependency pairs.
* Step 5: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Signature:
{c/3,f/1,c#/3,f#/1} / {a/0,b/2,c_1/0,c_2/3,c_3/3}
- Obligation:
innermost runtime complexity wrt. defined symbols {c#,f#} and constructors {a,b}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(?,O(1))