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

f(c(s(x), y)) → f(c(x, s(y)))
g(c(x, s(y))) → g(c(s(x), y))
g(s(f(x))) → g(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'(c'(s'(x), y)) → f'(c'(x, s'(y)))
g'(c'(x, s'(y))) → g'(c'(s'(x), y))
g'(s'(f'(x))) → g'(f'(x))

Rewrite Strategy: INNERMOST


Infered types.


Rules:
f'(c'(s'(x), y)) → f'(c'(x, s'(y)))
g'(c'(x, s'(y))) → g'(c'(s'(x), y))
g'(s'(f'(x))) → g'(f'(x))

Types:
f' :: s':c' → s':c'
c' :: s':c' → s':c' → s':c'
s' :: s':c' → s':c'
g' :: s':c' → g'
_hole_s':c'1 :: s':c'
_hole_g'2 :: g'
_gen_s':c'3 :: Nat → s':c'


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

They will be analysed ascendingly in the following order:
f' < g'


Rules:
f'(c'(s'(x), y)) → f'(c'(x, s'(y)))
g'(c'(x, s'(y))) → g'(c'(s'(x), y))
g'(s'(f'(x))) → g'(f'(x))

Types:
f' :: s':c' → s':c'
c' :: s':c' → s':c' → s':c'
s' :: s':c' → s':c'
g' :: s':c' → g'
_hole_s':c'1 :: s':c'
_hole_g'2 :: g'
_gen_s':c'3 :: Nat → s':c'

Generator Equations:
_gen_s':c'3(0) ⇔ _hole_s':c'1
_gen_s':c'3(+(x, 1)) ⇔ c'(_hole_s':c'1, _gen_s':c'3(x))

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

They will be analysed ascendingly in the following order:
f' < g'


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


Rules:
f'(c'(s'(x), y)) → f'(c'(x, s'(y)))
g'(c'(x, s'(y))) → g'(c'(s'(x), y))
g'(s'(f'(x))) → g'(f'(x))

Types:
f' :: s':c' → s':c'
c' :: s':c' → s':c' → s':c'
s' :: s':c' → s':c'
g' :: s':c' → g'
_hole_s':c'1 :: s':c'
_hole_g'2 :: g'
_gen_s':c'3 :: Nat → s':c'

Generator Equations:
_gen_s':c'3(0) ⇔ _hole_s':c'1
_gen_s':c'3(+(x, 1)) ⇔ c'(_hole_s':c'1, _gen_s':c'3(x))

The following defined symbols remain to be analysed:
g'


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


Rules:
f'(c'(s'(x), y)) → f'(c'(x, s'(y)))
g'(c'(x, s'(y))) → g'(c'(s'(x), y))
g'(s'(f'(x))) → g'(f'(x))

Types:
f' :: s':c' → s':c'
c' :: s':c' → s':c' → s':c'
s' :: s':c' → s':c'
g' :: s':c' → g'
_hole_s':c'1 :: s':c'
_hole_g'2 :: g'
_gen_s':c'3 :: Nat → s':c'

Generator Equations:
_gen_s':c'3(0) ⇔ _hole_s':c'1
_gen_s':c'3(+(x, 1)) ⇔ c'(_hole_s':c'1, _gen_s':c'3(x))

No more defined symbols left to analyse.