Termination proof

1: switching to dependency pairs

The following set of initial dependency pairs has been identified.

a__f#( g( X ) , Y ) a__f#( mark( X ) , f( g( X ) , Y ) )
a__f#( g( X ) , Y ) mark#( X )
mark#( f( X1 , X2 ) ) a__f#( mark( X1 ) , X2 )
mark#( f( X1 , X2 ) ) mark#( X1 )
mark#( g( X ) ) mark#( X )

1.1: reduction pair processor

Using the following reduction pair

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

one remains with the following pair(s).

a__f#( g( X ) , Y ) a__f#( mark( X ) , f( g( X ) , Y ) )
a__f#( g( X ) , Y ) mark#( X )
mark#( g( X ) ) mark#( X )

1.1.1: dependency graph processor

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