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

f(a) → g(h(a))
h(g(x)) → g(h(f(x)))
k(x, h(x), a) → h(x)
k(f(x), y, x) → f(x)

Rewrite Strategy: INNERMOST


Renamed function symbols to avoid clashes with predefined symbol.


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


f'(a') → g'(h'(a'))
h'(g'(x)) → g'(h'(f'(x)))
k'(x, h'(x), a') → h'(x)
k'(f'(x), y, x) → f'(x)

Rewrite Strategy: INNERMOST


Infered types.


Rules:
f'(a') → g'(h'(a'))
h'(g'(x)) → g'(h'(f'(x)))
k'(x, h'(x), a') → h'(x)
k'(f'(x), y, x) → f'(x)

Types:
f' :: a':g' → a':g'
a' :: a':g'
g' :: a':g' → a':g'
h' :: a':g' → a':g'
k' :: a':g' → a':g' → a':g' → a':g'
_hole_a':g'1 :: a':g'
_gen_a':g'2 :: Nat → a':g'


Heuristically decided to analyse the following defined symbols:
f', h'

They will be analysed ascendingly in the following order:
f' = h'


Rules:
f'(a') → g'(h'(a'))
h'(g'(x)) → g'(h'(f'(x)))
k'(x, h'(x), a') → h'(x)
k'(f'(x), y, x) → f'(x)

Types:
f' :: a':g' → a':g'
a' :: a':g'
g' :: a':g' → a':g'
h' :: a':g' → a':g'
k' :: a':g' → a':g' → a':g' → a':g'
_hole_a':g'1 :: a':g'
_gen_a':g'2 :: Nat → a':g'

Generator Equations:
_gen_a':g'2(0) ⇔ a'
_gen_a':g'2(+(x, 1)) ⇔ g'(_gen_a':g'2(x))

The following defined symbols remain to be analysed:
h', f'

They will be analysed ascendingly in the following order:
f' = h'


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


Rules:
f'(a') → g'(h'(a'))
h'(g'(x)) → g'(h'(f'(x)))
k'(x, h'(x), a') → h'(x)
k'(f'(x), y, x) → f'(x)

Types:
f' :: a':g' → a':g'
a' :: a':g'
g' :: a':g' → a':g'
h' :: a':g' → a':g'
k' :: a':g' → a':g' → a':g' → a':g'
_hole_a':g'1 :: a':g'
_gen_a':g'2 :: Nat → a':g'

Generator Equations:
_gen_a':g'2(0) ⇔ a'
_gen_a':g'2(+(x, 1)) ⇔ g'(_gen_a':g'2(x))

The following defined symbols remain to be analysed:
f'

They will be analysed ascendingly in the following order:
f' = h'


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


Rules:
f'(a') → g'(h'(a'))
h'(g'(x)) → g'(h'(f'(x)))
k'(x, h'(x), a') → h'(x)
k'(f'(x), y, x) → f'(x)

Types:
f' :: a':g' → a':g'
a' :: a':g'
g' :: a':g' → a':g'
h' :: a':g' → a':g'
k' :: a':g' → a':g' → a':g' → a':g'
_hole_a':g'1 :: a':g'
_gen_a':g'2 :: Nat → a':g'

Generator Equations:
_gen_a':g'2(0) ⇔ a'
_gen_a':g'2(+(x, 1)) ⇔ g'(_gen_a':g'2(x))

No more defined symbols left to analyse.