Runtime Complexity TRS:
The TRS R consists of the following rules:

rev(ls) → r1(ls, empty)
r1(empty, a) → a
r1(cons(x, k), a) → r1(k, cons(x, a))

Rewrite Strategy: INNERMOST


Renamed function symbols to avoid clashes with predefined symbol.


Runtime Complexity TRS:
The TRS R consists of the following rules:


rev'(ls) → r1'(ls, empty')
r1'(empty', a) → a
r1'(cons'(x, k), a) → r1'(k, cons'(x, a))

Rewrite Strategy: INNERMOST


Sliced the following arguments:
cons'/0


Runtime Complexity TRS:
The TRS R consists of the following rules:


rev'(ls) → r1'(ls, empty')
r1'(empty', a) → a
r1'(cons'(k), a) → r1'(k, cons'(a))

Rewrite Strategy: INNERMOST


Infered types.


Rules:
rev'(ls) → r1'(ls, empty')
r1'(empty', a) → a
r1'(cons'(k), a) → r1'(k, cons'(a))

Types:
rev' :: empty':cons' → empty':cons'
r1' :: empty':cons' → empty':cons' → empty':cons'
empty' :: empty':cons'
cons' :: empty':cons' → empty':cons'
_hole_empty':cons'1 :: empty':cons'
_gen_empty':cons'2 :: Nat → empty':cons'


Heuristically decided to analyse the following defined symbols:
r1'


Rules:
rev'(ls) → r1'(ls, empty')
r1'(empty', a) → a
r1'(cons'(k), a) → r1'(k, cons'(a))

Types:
rev' :: empty':cons' → empty':cons'
r1' :: empty':cons' → empty':cons' → empty':cons'
empty' :: empty':cons'
cons' :: empty':cons' → empty':cons'
_hole_empty':cons'1 :: empty':cons'
_gen_empty':cons'2 :: Nat → empty':cons'

Generator Equations:
_gen_empty':cons'2(0) ⇔ empty'
_gen_empty':cons'2(+(x, 1)) ⇔ cons'(_gen_empty':cons'2(x))

The following defined symbols remain to be analysed:
r1'


Could not prove a rewrite lemma for the defined symbol r1'.

The following conjecture could not be proven:

r1'(_gen_empty':cons'2(_n4), _gen_empty':cons'2(b)) →? _gen_empty':cons'2(+(_n4, b))


Rules:
rev'(ls) → r1'(ls, empty')
r1'(empty', a) → a
r1'(cons'(k), a) → r1'(k, cons'(a))

Types:
rev' :: empty':cons' → empty':cons'
r1' :: empty':cons' → empty':cons' → empty':cons'
empty' :: empty':cons'
cons' :: empty':cons' → empty':cons'
_hole_empty':cons'1 :: empty':cons'
_gen_empty':cons'2 :: Nat → empty':cons'

Generator Equations:
_gen_empty':cons'2(0) ⇔ empty'
_gen_empty':cons'2(+(x, 1)) ⇔ cons'(_gen_empty':cons'2(x))

No more defined symbols left to analyse.