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