Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

g#( f( x , y ) , z ) g#( y , z )
g#( h( x , y ) , z ) g#( x , f( y , z ) )
g#( x , h( y , z ) ) g#( x , y )

1.1: reduction pair processor

Using the following reduction pair

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

one remains with the following pair(s).

g#( f( x , y ) , z ) g#( y , z )
g#( h( x , y ) , z ) g#( x , f( y , z ) )

1.1.1: reduction pair processor

Using the following reduction pair

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

one remains with the following pair(s).

g#( f( x , y ) , z ) g#( y , z )

1.1.1.1: reduction pair processor

Using the following reduction pair

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

one remains with the following pair(s).

none

1.1.1.1.1: P is empty

All dependency pairs have been removed.