```* Step 1: ToInnermost WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
r1(cons(x,k),a) -> r1(k,cons(x,a))
r1(empty(),a) -> a
rev(ls) -> r1(ls,empty())
- Signature:
{r1/2,rev/1} / {cons/2,empty/0}
- Obligation:
runtime complexity wrt. defined symbols {r1,rev} and constructors {cons,empty}
+ Applied Processor:
ToInnermost
+ Details:
switch to innermost, as the system is overlay and right linear and does not contain weak rules
* Step 2: Bounds WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
r1(cons(x,k),a) -> r1(k,cons(x,a))
r1(empty(),a) -> a
rev(ls) -> r1(ls,empty())
- Signature:
{r1/2,rev/1} / {cons/2,empty/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {r1,rev} and constructors {cons,empty}
+ Applied Processor:
Bounds {initialAutomaton = minimal, enrichment = match}
+ Details:
The problem is match-bounded by 1.
The enriched problem is compatible with follwoing automaton.
cons_0(2,2) -> 1
cons_0(2,2) -> 2
cons_1(2,2) -> 1
cons_1(2,2) -> 3
cons_1(2,3) -> 1
cons_1(2,3) -> 3
empty_0() -> 1
empty_0() -> 2
empty_1() -> 1
empty_1() -> 3
r1_0(2,2) -> 1
r1_1(2,3) -> 1
rev_0(2) -> 1
2 -> 1
3 -> 1
* Step 3: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
r1(cons(x,k),a) -> r1(k,cons(x,a))
r1(empty(),a) -> a
rev(ls) -> r1(ls,empty())
- Signature:
{r1/2,rev/1} / {cons/2,empty/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {r1,rev} and constructors {cons,empty}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(n^1))
```