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

f(x, empty) → x
f(empty, cons(a, k)) → f(cons(a, k), k)
f(cons(a, k), y) → f(y, k)

Rewrite Strategy: INNERMOST


Renamed function symbols to avoid clashes with predefined symbol.


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


f'(x, empty') → x
f'(empty', cons'(a, k)) → f'(cons'(a, k), k)
f'(cons'(a, k), y) → f'(y, k)

Rewrite Strategy: INNERMOST


Sliced the following arguments:
cons'/0


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


f'(x, empty') → x
f'(empty', cons'(k)) → f'(cons'(k), k)
f'(cons'(k), y) → f'(y, k)

Rewrite Strategy: INNERMOST


Infered types.


Rules:
f'(x, empty') → x
f'(empty', cons'(k)) → f'(cons'(k), k)
f'(cons'(k), y) → f'(y, k)

Types:
f' :: 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:
f'


Rules:
f'(x, empty') → x
f'(empty', cons'(k)) → f'(cons'(k), k)
f'(cons'(k), y) → f'(y, k)

Types:
f' :: 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:
f'


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


Rules:
f'(x, empty') → x
f'(empty', cons'(k)) → f'(cons'(k), k)
f'(cons'(k), y) → f'(y, k)

Types:
f' :: 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.