Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

f#( c( s( x ) , y ) ) f#( c( x , s( y ) ) )
f#( c( s( x ) , s( y ) ) ) g#( c( x , y ) )
g#( c( x , s( y ) ) ) g#( c( s( x ) , y ) )
g#( c( s( x ) , s( y ) ) ) f#( c( x , y ) )

1.1: reduction pair processor

Using the following reduction pair

Linear polynomial interpretation over the naturals
[g# (x1) ] = 3 x1 + 2
[c (x1, x2) ] = 3 x1 + 3 x2 + 3
[f (x1) ] = 0
[s (x1) ] = x1 + 3
[f# (x1) ] = 3 x1 + 1
[g (x1) ] = 0
[f(x1, ..., xn)] = x1 + ... + xn + 1 for all other symbols f of arity n

one remains with the following pair(s).

f#( c( s( x ) , y ) ) f#( c( x , s( y ) ) )
g#( c( x , s( y ) ) ) g#( c( s( x ) , y ) )

1.1.1: dependency graph processor

The dependency pairs are split into 2 component(s).