* Step 1: Sum WORST_CASE(Omega(n^1),O(n^1))
+ Considered Problem:
- Strict TRS:
++(x,++(y,z)) -> ++(++(x,y),z)
++(x,nil()) -> x
++(.(x,y),z) -> .(x,++(y,z))
++(nil(),y) -> y
make(x) -> .(x,nil())
rev(++(x,y)) -> ++(rev(y),rev(x))
rev(nil()) -> nil()
rev(rev(x)) -> x
- Signature:
{++/2,make/1,rev/1} / {./2,nil/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {++,make,rev} and constructors {.,nil}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
++(x,++(y,z)) -> ++(++(x,y),z)
++(x,nil()) -> x
++(.(x,y),z) -> .(x,++(y,z))
++(nil(),y) -> y
make(x) -> .(x,nil())
rev(++(x,y)) -> ++(rev(y),rev(x))
rev(nil()) -> nil()
rev(rev(x)) -> x
- Signature:
{++/2,make/1,rev/1} / {./2,nil/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {++,make,rev} and constructors {.,nil}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
++(y,z){y -> .(x,y)} =
++(.(x,y),z) ->^+ .(x,++(y,z))
= C[++(y,z) = ++(y,z){}]
** Step 1.b:1: Bounds WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
++(x,++(y,z)) -> ++(++(x,y),z)
++(x,nil()) -> x
++(.(x,y),z) -> .(x,++(y,z))
++(nil(),y) -> y
make(x) -> .(x,nil())
rev(++(x,y)) -> ++(rev(y),rev(x))
rev(nil()) -> nil()
rev(rev(x)) -> x
- Signature:
{++/2,make/1,rev/1} / {./2,nil/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {++,make,rev} and constructors {.,nil}
+ Applied Processor:
Bounds {initialAutomaton = minimal, enrichment = match}
+ Details:
The problem is match-bounded by 1.
The enriched problem is compatible with follwoing automaton.
++_0(2,2) -> 1
++_1(2,2) -> 3
._0(2,2) -> 1
._0(2,2) -> 2
._0(2,2) -> 3
._1(2,3) -> 1
._1(2,3) -> 3
make_0(2) -> 1
nil_0() -> 1
nil_0() -> 2
nil_0() -> 3
nil_1() -> 1
nil_1() -> 3
rev_0(2) -> 1
2 -> 1
2 -> 3
** Step 1.b:2: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
++(x,++(y,z)) -> ++(++(x,y),z)
++(x,nil()) -> x
++(.(x,y),z) -> .(x,++(y,z))
++(nil(),y) -> y
make(x) -> .(x,nil())
rev(++(x,y)) -> ++(rev(y),rev(x))
rev(nil()) -> nil()
rev(rev(x)) -> x
- Signature:
{++/2,make/1,rev/1} / {./2,nil/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {++,make,rev} and constructors {.,nil}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(Omega(n^1),O(n^1))