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

g(S(x), y) → g(x, S(y))
f(y, S(x)) → f(S(y), x)
g(0, x2) → x2
f(x1, 0) → g(x1, 0)

Rewrite Strategy: INNERMOST


Renamed function symbols to avoid clashes with predefined symbol.


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


g'(S'(x), y) → g'(x, S'(y))
f'(y, S'(x)) → f'(S'(y), x)
g'(0', x2) → x2
f'(x1, 0') → g'(x1, 0')

Rewrite Strategy: INNERMOST


Infered types.


Rules:
g'(S'(x), y) → g'(x, S'(y))
f'(y, S'(x)) → f'(S'(y), x)
g'(0', x2) → x2
f'(x1, 0') → g'(x1, 0')

Types:
g' :: S':0' → S':0' → S':0'
S' :: S':0' → S':0'
f' :: S':0' → S':0' → S':0'
0' :: S':0'
_hole_S':0'1 :: S':0'
_gen_S':0'2 :: Nat → S':0'


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

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


Rules:
g'(S'(x), y) → g'(x, S'(y))
f'(y, S'(x)) → f'(S'(y), x)
g'(0', x2) → x2
f'(x1, 0') → g'(x1, 0')

Types:
g' :: S':0' → S':0' → S':0'
S' :: S':0' → S':0'
f' :: S':0' → S':0' → S':0'
0' :: S':0'
_hole_S':0'1 :: S':0'
_gen_S':0'2 :: Nat → S':0'

Generator Equations:
_gen_S':0'2(0) ⇔ 0'
_gen_S':0'2(+(x, 1)) ⇔ S'(_gen_S':0'2(x))

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

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


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

The following conjecture could not be proven:

g'(_gen_S':0'2(_n4), _gen_S':0'2(b)) →? _gen_S':0'2(+(_n4, b))


Rules:
g'(S'(x), y) → g'(x, S'(y))
f'(y, S'(x)) → f'(S'(y), x)
g'(0', x2) → x2
f'(x1, 0') → g'(x1, 0')

Types:
g' :: S':0' → S':0' → S':0'
S' :: S':0' → S':0'
f' :: S':0' → S':0' → S':0'
0' :: S':0'
_hole_S':0'1 :: S':0'
_gen_S':0'2 :: Nat → S':0'

Generator Equations:
_gen_S':0'2(0) ⇔ 0'
_gen_S':0'2(+(x, 1)) ⇔ S'(_gen_S':0'2(x))

The following defined symbols remain to be analysed:
f'


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

The following conjecture could not be proven:

f'(_gen_S':0'2(a), _gen_S':0'2(+(1, _n770))) →? _*3


Rules:
g'(S'(x), y) → g'(x, S'(y))
f'(y, S'(x)) → f'(S'(y), x)
g'(0', x2) → x2
f'(x1, 0') → g'(x1, 0')

Types:
g' :: S':0' → S':0' → S':0'
S' :: S':0' → S':0'
f' :: S':0' → S':0' → S':0'
0' :: S':0'
_hole_S':0'1 :: S':0'
_gen_S':0'2 :: Nat → S':0'

Generator Equations:
_gen_S':0'2(0) ⇔ 0'
_gen_S':0'2(+(x, 1)) ⇔ S'(_gen_S':0'2(x))

No more defined symbols left to analyse.